【学界】多目标进化算法在混合可再生能源系统的应用

【学界】多目标进化算法在混合可再生能源系统的应用

作者:明梦君,国防科技大学博士生,研究方向为智能计算、多目标优化和复杂系统建模与优化,mmengjun@gmail.com
ruiwangnudt@gmail.com
欢迎原链接转发,转载请私信@留德华叫兽获取信息,盗版必究。
敬请关注和扩散本专栏及同名公众号,会邀请全球知名学者发布运筹学、人工智能中优化理论等相关干货、知乎Live及行业动态:『运筹OR帷幄』大数据人工智能时代的运筹学

内容提要:

HRES优化问题介绍

多目标进化算法

HRES多目标优化问题的解决


1、什么是混合可再生能源系统(HRES)优化问题?

混合可再生能源系统(hybrid renewable energy system,HRES)由实际工程问题衍化而来,问题描述如下:

目前提倡使用可再生能源进行供电,如太阳能、风能等。但若仅采用太阳能,则当光照强度不足时(如夜晚),供电系统将处于瘫痪状态;同样地,若仅采用风能,则当风力不足时,无法满足负载需求。HRES的设计目的是通过组合不同形式的可再生能源及其他形式的储能、发电系统,相互协调,共同满足负载需求。在设计的过程中面临的最大问题是:如何选择最优的配置,使得供电系统可靠性最高、发电成本低且环境污染小?


2、多目标进化算法

2.1什么是多目标进化算法(简介)

多目标进化算法是一种基于群体的启发式方法,针对含多个互相冲突的目标的优化问题,进行综合考虑,寻找最优折中解。它主要模拟生物自然选择与进化的过程,采用随机搜素策略,适用于求解复杂的多目标优化问题并得到了广泛的应用。多目标进化算法是解决HRES优化问题的有效方法之一。

2.2多目标进化算法的来源

进化算法(evolutionary algorithm,EA)的灵感来源于自然界进化过程和达尔文的“适者生存”思想,仿效生物进化时的自组织、自适应过程。

生物进化:主要通过生物个体之间交配繁殖、基因变异和环境选择来实现;

进化算法:主要运用重组、变异和选择这三个算子实现优化问题的求解。

由于现实中的优化问题通常是多属性的,即对多个目标同时优化,由此出现了多目标进化算法(multi-objective evolutionary algorithm,MOEA)。

2.3多目标进化算法思想

在多目标进化算法中,使用一维的串结构数据来表示变量,也称为基因型个体(individual)。一定数量的个体组成了种群(population),种群中个体的数目称为种群规模(population size)。

在进化初期,随机产生一个种群,计算其中各个体的目标值。

以下图中最小化双目标优化问题为例:

如图所示

随机产生了五个个体,其目标值分布如图所示。进入到下一代时,发生重组和变异,会产生新个体(以红色O表示),如下图:

如图所示

此时,新个体与原种群中个体进行竞争,适应程度更好的个体将被保留,并继续进化。

但往往某些个体在其中一个目标上表现较好,但在另一个目标上表现并不如意。例如 E’,在 f2 目标上表现最优,但 f1 上表现较差。那么,按照什么标准来选择适应程度好的个体呢?此处需要了解帕累托的概念。

帕累托支配:解 X1 支配解 X2 当且仅当

即解 X1 的所有目标均小于等于解 X2 的目标,并且至少存在一个目标满足 X1 的该目标值小于 X2 对应的该目标值。例如, E’支配 E , D 支配 D’。

帕累托最优解:解 X1 被称为帕累托最优解当且仅当决策空间中不存在能够帕累托支配 X1 的解,也称为非支配解。

通常,我们认为,帕累托最优解即为种群中适应程度好的个体。

上图中的个体经过选择,优胜个体(非支配解)如下所示:

如图所示

对当前种群重复“重组->变异->评估并选择”的迭代,并对迭代次数进行累计。进化的大致过程如下所示:

如图所示

当满足终止条件(迭代次数达到最大值或误差小于阈值)时,最后一代种群中的非支配解即为近似最优解。

因此我们归结起来就是以下几点:①重组②变异③新个体与原种群中个体进行竞争选择,筛选出优胜个体,进入下一次迭代过程。

2.4多目标进化算法伪代码


3、使用多目标进化算法解决HRES优化问题

HRES优化问题是典型的非线性多目标优化问题,需要尽量满足用户用电量需求、尽量增大经济收益、减小环境成本。使用多目标进化算法可以得到一组非支配解,可作为最优配置方案。大体的思路如下:

  1. 建立各个设备(如光伏电板、风力发电机、蓄电池、柴油机等)的模型,包含各个目标的表达式。
  2. 根据变量约束条件随机产生种群,将种群中的个体所对应的变量值代入模型,仿真HRES供给电力的过程,计算对应于该变量的各个目标的值。
  3. 对种群执行重组、变异操作,产生新个体。
  4. 将新个体所对应的变量值代入模型,仿真并计算新个体对应的各个目标值。
  5. 比较新个体和原种群中的个体,从中选择优胜者并保存。
  6. 重复步骤3、4、5直至满足退出条件。

代码如下:……(见附件)

代码运行结果:

4、小结

从上面的过程我们可以看出,多目标进化算法通过在进化过程中选择较优的个体,不断地将种群向最优区域推进,最终可以获得一组非支配解(即帕累托最优解)。该算法可以很好地处理具有多个冲突目标的问题,如HRES优化问题。


扫文末图片二维码关注『运筹OR帷幄』公众号,回复关键词“混合可再生能源代码”可以领取相关附件资料,后续也会陆续更新内容。

如果你是运筹学/人工智能硕博或在读,请在下图的公众号后台留言:“加微信群”。系统会自动辨认你的关键字,并提示您进一步的加群要求和步骤,邀请您进全球运筹或AI学者群(群内学界、业界大佬云集)。

同时我们有:【运筹学|优化爱好者】【供应链|物流】【人工智能】【数据科学|分析】千人QQ群,想入群的小伙伴可以关注下方公众号点击“加入社区”按钮,获得入群传送门。

学术界|工业界招聘、征稿等信息免费发布,请见下图:

编辑于 2018-05-19

文章被以下专栏收录