基于优化智能算法(粒子群&灰狼)的非侵入式负荷识别(NILM)建模(提供代码下载)

基于优化智能算法(粒子群&灰狼)的非侵入式负荷识别(NILM)建模

本文主要从智能算法入手,介绍非侵入式识别的代码具体应用思路和场景,如有瑕疵,请海涵。

1.1 优化智能算法概述

智能算法的研究已经发展了很多年,尤其是一些典型的智能算法,在各类文章和程序中出现的次数特别多,例如遗传算法、粒子群算法、蜂群算法、鸟群算法。。。这些奇奇怪怪名字的算法其实内部计算的逻辑并不奇怪,总的来说其主要方法就是模拟自然界或者人类社会等物理、化学、生物的演变规律,将基因、粒子、鸟等等其视为一个一个算子,在建立其内部演变模型的基础上,进行穷举,最后达到所要计算的目的。如果你觉得听不懂,那没关系,其实不需要知道他们的本质到底是啥,你只需要将其视为一个输入和输出的黑盒,重要的调整其目标函数(fitness)和演化代数,具体的内部逻辑一般只需要在优化改进某类算法时才需要具体去分析。说完了智能算法的概述,下面具体说说本文需要用到的粒子群和灰狼算法的内容。

1.1.1 粒子群(PSO)算法

粒子群算法是一类经典的算法。具体介绍可以参考:
粒子群算法介绍

1.1.2 灰狼(GWO)算法

灰狼算法可以参考
灰狼算法
再次强调一遍,不要被算法的名称所迷惑,其本质都是一样的!

2.1 优化智能算法在NILM上的应用

智能算法可以解决很多问题,那么我们如何应用它去解决非侵入式负荷识别这个问题呢?本文将从以下几步进行分析。

1.1.2 非侵入式负荷识别的问题

非侵入式负荷识别重要环节就是负荷分解,即知晓了总负荷,如何去把它分解成一个一个的分负荷,感兴趣的同学可以再去搜索一下“鸡尾酒会问题”。那么我们如何去解决这个问题呢?

1.1.2 非侵入式负荷识别的分析

我们将该问题抽象为一个数学问题:即已知M=10,且a=1,b=4,c=7,d=11,e=2,f=5.那么请问怎么组合才能让a、b、c、d、e、f若干个组合成的值等于M。问题到这里也逐渐清晰了,下面就是具体的操作问题。

3.1 算例验证

你可能感兴趣的:(NILM,matlab)