进化编程与进化策略:原理、应用与挑战
1. 进化编程高级主题
进化编程(EP)在解决比无约束问题更具挑战性的问题时,有一些高级方法值得探讨。
1.1 约束处理方法
在处理有约束的问题时,可采用以下几种方法来进化出满足所有约束的可行解:
- 惩罚方法 :在目标函数中添加惩罚项,对违反约束的个体进行惩罚。
- 转换为无约束对偶拉格朗日问题 :将有约束问题转换为无约束的对偶拉格朗日问题,同时优化拉格朗日乘子和决策变量。Kim和Myung开发了一种两阶段的EP方法,第一阶段使用惩罚函数,第二阶段利用第一阶段的最优个体生成新种群,优化对偶拉格朗日问题。
- 调整变异算子 :确保只生成可行的后代。例如,El - Sharkh和El - Keib对后代应用爬山算法以减少违反约束的数量;Ma和Lai则简单地将违反约束的组件设置为边界值,但这种方法效率较低。
1.2 多目标优化与小生境技术
通用进化算法文献中的多目标优化(MOO)技术可应用于EP来解决多目标问题。简单的方法包括使用权重聚合方法,也有基于Pareto的方法被应用。在实现小生境EP算法方面,Li等人利用了拥挤和适应度共享技术;Damavandi和Safavi - Nacini则使用聚类算法促进小生境的形成。
1.3 动态环境
对于动态变化或有噪声的环境,对EP性能的研究相对较少。Ma和Lai使用带有动态策略参数的高斯变异取得了成功;Matsumura等人分析了CEP、FEP和鲁棒EP在噪声环境中的性能;
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



