【转】带约束的多目标优化进化算法综述

带约束的多目标优化进化算法综述

觉得有用的话,欢迎一起讨论相互学习~

【转】带约束的多目标优化进化算法综述【转】带约束的多目标优化进化算法综述【转】带约束的多目标优化进化算法综述【转】带约束的多目标优化进化算法综述

————————————————
版权声明:本文为CSDN博主「街灯下的哥斯拉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a1920993165/article/details/111239813

约束优化进化算法综述

1.摘要

约束优化进化算法主要研究如何利用进化计算方法求解约束优化问题,是进化计算领城的一个重要研究课题.约束优化问题求解存在约束区域离散、等式约束、非线性约束等挑战,其问题的本质是,如何处理可行解与不可行解的关系才能使得算法更高效.首先介绍了约束优化问题的定义;然后,系统地分析了目前存在的约束优化方法;同时,基于约束处理机制,将这些方法分为罚函数法、可行性法则、随机排序法、ᴈ-约束处理法、多目标优化法、混合法等 6 类,并从约束处理方法的角度对约束优化进化算法的最新研究进展进行综述;最后,指出约束优化进化算法需进一步研究的方向与关键问题.

2.介绍

  1. 罚函数法通过添加惩罚因子的方式将约束优化问题转化为无约束优化问题,是最为传统的约束处理方法之一,该类方法的不足在于惩罚参数的选取比较困难
  2. 可行性法则是 Deb 提出的一种约束处理方法,其将可行解和不可行解分离处理,并且可行解的适应度函数值优于不可行解的适应度函数值,因此,该方法使得不可行解难以进入种群,这样就使得该方法在求解最优解位于可行域边界上的约束优化问题时可能存在问题
  3. 随机排序法采用冒泡排序的方法来处理约束优化问题;
  4. ᴈ-约束处理法通过设定ᴈ值将约束划分为不同的区间,个体之间的比较在不同的约束区间内采用不同的处理方法,该方法是对可行性法则的扩展,它以牺牲时间为前提,对搜索空间进行充分搜索
  5. 多目标优化法根据将约束优化问题转换为多目标优化问题,并采用多目标优化技术来处理问题,然而,没有引入偏好的多目标优化方法可能并不像人们所想象的那样高效
  6. 混合法求解约束优化问题是近年来研究的热点,该方法通过将不同的约束处理机制相结合的方法来处理约束优化问题.

3.约束处理方法详细介绍

3.1罚函数法

静态罚函数

  1. Constrained optimization via genetic algorithms. Simulation Trans. of the Society for Modeling & Simulation International----1994,该方法将约束违反的程度分为多个等级,不同等级采用不同的惩罚系数 ,约束违反程度越大,则违反等级越高,对应的惩罚力度也就越大.分级处理机制相对单一数值法更为合理,但该方法需要一定的先验信息来确定各等级的惩罚系数值,另外还产生了较多需要调节的参数.这类方法实现相对简单且多用于求解简单的约束优化问题,不足之处在于它的通用性,因为它对每一类问题,都需要进行惩罚系数的反复实验,寻找到合适的惩罚系数.

动态罚函数

  1. On the use of non-stationary penalty functions to solve nonlinear constrained optimization problems with GA’s----1994,该方法不需要设定惩罚系数值,但其他参数仍需要设定.与静态罚函数法相比,虽然动态罚函数法在性能方面上更具优越性,但是找到理想的惩罚系数动态变化规律(初始化惩罚系数的选取)仍然是一个棘手的问题

死亡罚函数

  1. Problem-Independent handling of constraints by use of metric penalty functions----1996,拒绝不可行解

退火罚函数法

  1. Evolutionary optimization of constrained problems----1994,惩罚系数随着温度的降低而不断增加

隔离遗传算法

  1. A segregated genetic algorithm for constrained structural optimization----1995,通过两个不同的惩罚系数来对群体中的个体进行评价,其旨在于在过大和过小的惩罚系数之间达到平衡

协同罚函数法

  1. Use of a self-adaptive penalty approach for engineering optimization problems----2000,包括两个群体,第 1 个群体
    中个体表示问题的解,第 2 个群体的个体为惩罚系数的集合,利用它来计算第 1 个群体中个体的适应度值
  2. An effective co-evolutionary differential evolution for constrained optimization----2006,包括两个群体,第 1 个群体中个体表示问题的解,第 2 个群体的个体为惩罚系数的集合,利用它来计算第 1 个群体中个体的适应度值

自适应罚函数

  1. New results using adaptive segregational constraint handling----2002,采用进化策略作为搜索框架,为保持种群中可行解与不可行解的平衡,始终允许在种群中保留不可行个体以增强全局搜索能力,算法根据种群中可行解在整个种群中所占的比例来动态调整惩罚系数
  2. Self-Adaptive fitness formulation for constrained optimization----2003,一种自适应适应值表示法,该方法将惩罚分为两个阶段进行,都是通过提取种群中的边界个体的信息来确定惩罚强度
  3. A genetic algorithm for solving multi-constrained function optimization problems based on KS function----2007,一种遗传算法求解多约束优化问题,它利用 KS 函数的融合特征将多个约束条件融合成一个约束条件,从而减少了静态罚函数法中惩罚系数数量过多的问题和避免了约束条件权重分配问题
  4. A rough penalty genetic algorithm for constrained optimization----2013,一个高效的遗传算法
  5. Adaptive penalty and barrier function based on fuzzy logic----2015,一个高效的遗传算法
  6. A rough penalty genetic algorithm for constrained optimization. Information Sciences----2013,一种自适应惩罚函数的方法,该方法采用当前种群中可行解的比例来自适应地控制惩罚的强度.与其他方法不同的是:该方法除了引入距离项(把种群中的个体映射到二维坐标系内的点,而该点到坐标原点的距离)之外,还为了找到最佳不可行解,对不可行解采用双惩罚.该方法旨在于先挖掘出种群中具有较好质量的不可行解,然后再引导种群向可行域或者最优解逼近
  7. Variants of an adaptive penalty scheme for steady-state genetic algorithms in engineering optimization. Engineering Computations----2015,一种自适应惩罚函数方法,并将其和稳态遗传算法相结合,用于解决工程优化问题.该方法为每个约束条件分配各自的惩罚系数,这样来实现约束条件之间的平衡.在进化的过程中,该方法根据种群状态信息(比如种群中是否存在可行解和每个约束的违反程度)自适应地决定每个约束条件的惩罚系数的变化
  8. A modified covariance matrix adaptation evolution strategy with adaptive penalty function and restart for constrained optimization----2014,一种自适应罚函数法,并将其与改进的自适应协方差矩阵进化策略(CMA-ES)结合起来,得到了一个新的约束优化算法.在自适应罚函数法中,惩罚系数随着每一代群体中全部不可行个体的约束违反信息的变化而变化
  9. A CMA-ES-Based 2-Stage memetic framework for solving constrained optimization problems----2014,一种两阶段的文化基因框架:第 1 阶段将约束优化问题变成无约束优化问题进行处理,其目标是为局部搜索阶段找到好的初始个体,为了实现这个目标,采用自适应惩罚 CMA-ES 作为全局搜索策略;第 2 阶段使用局部搜索策略(比如单形法)来进一步改善解的质量,其目标是为了找到全局最优解.该方法用于解决规模大的约束优化问题具有很好的优化效果.
  10. Mukherjee S. A fuzzy rule-based penalty function approach for constrained evolutionary optimization----2014,一种模糊惩罚法(fuzzy rule-based penalty function approach,简称 FRSP),并将该模糊惩罚法与差分进化算法结合,用来解决约束优化问题,它具有两个惩罚项,其中:第 1 项惩罚采用了基于条件法则的 Mamdani 模糊推理系统,该模型事先掌握了自适应函数所有必需的条件(作为条件库),然后通过模糊逻辑控制(FLC),将个体的约束违反程度、目标函数和种群中可行解的比例作为模糊输入,经过模糊推理过程后,最终得到模糊输出量,即惩罚值;第 2 项惩罚项是根据种群中可行解所占百分比来动态地平衡目标函数和约束条件
  11. Constraint Handling in Multiobjective Evolutionary Optimization----2008,跟踪当前人口中可行解决方案的百分比,以确定要添加的惩罚金额。 一小部分可行的个人导致更大的惩罚,而更大的百分比产生一个小的惩罚因素。 该技术能够从可行和不可行的解中平衡信息。

3.2可行性法则

【转】带约束的多目标优化进化算法综述
【转】带约束的多目标优化进化算法综述
【转】带约束的多目标优化进化算法综述

3.3随机排序法

【转】带约束的多目标优化进化算法综述

3.4ᴈ约束处理法

【转】带约束的多目标优化进化算法综述

3.5多目标优化法

  1. Constrained optimization by multi-objective genetic algorithm----1997,提出了 COMOGA(constrained optimization by multi-objective genetic algorithm)算法,在该算法中,约束优化问题被视作约束满足问题或无约束优化问题来处理.当约束优化问题被视为约束满足问题时,目标函数被忽略,此时,个体之间的比较由 Pareto 排序决定,Pareto 排序基于约束违反来定义.当约束优化问题被视为无约束优化问题时,约束条件被忽略,此时,个体之间的比较由目标函数决定.
  2. Treating constraints as objectives for single-objective evolutionary optimization----2000,基于向量评估遗传算法求解约束优化问题.将种群分成相等规模的子种群,每个子群对应一个约束条件,其中,某个子群体将目标函数作为适应度函数来评价个体,其余的子群体将相应的单个约束条件作为适应度函数来评价个体,其目的在于:每个子群体试图找到对应约束条件的可行解,通过联合所有的子种群,该方法找到所有约束条件下的可行解.该算法的主要缺陷在于:子群体的个数会随着约束条件的个数呈线性增加;另外,如何确定子群体的合理规模有待进一步研究.
  3. A generic framework for constrained optimization using genetic algorithms----2005,提出了一种包含两个阶段的通用框架来处理约束问题:第 1 阶段,当种群里没有可行解时,该方法仅使用约束违反程度选择个体;当种群中出现可行解时(第 2 阶段),原来的约束优化问题转化为一个双目标优化问题,其中,一个目标是原来的目标函数,而另外一个目标则是约束违反程度,之后,再使用 Pareto 排序的方法来选择个体.
  4. Multi-Objective optimization and hybrid evolutionary algorithm to solve constrained optimization problems. IEEE Trans. on Systems, Man, and Cybernetics----2007,提出了一种 HCOEA(hybrid onstrained optimization evolutionary algorithm)算法,在该算法中,将约束问题转化为双目标优化问题,采用带小生境操作的遗传算法框架,并基于非支配解的概念进行解之间的替换,但只有子代个体在支配父代个体时,才以概率 1替换父代个体.同时,算法除了引入类似于 MOEA中不可行解的存储和替换机制外,还引入一种聚类分割和多个父代交叉的局部搜索技术,根据搜索空间中各个个体之间的相互距离,将种群聚类为 M 个子种群,各子种群通过内部交叉产生新个体,进而组合新种群.
  5. A multiobjective differential evolution algorithm for constrained optimization----2008,提出了一种多目标差分进化算法,该算法引入正交设计法用于种群的初始化以及基于正交的交叉算子来提高算法的局部搜索能力,并采用差分进化作为搜索机制.在该算法中,比较父代个体和子代个体时先优考虑约束条件.如果子代个体 Pareto 支配父代个体,则立即用子代个体取代父代个体.如果两个比较个体在约束条件上存在非支配关系,则再考虑目标函数和约束违约度,被支配的父代个体则立即被子代个体取代.之 后,将非劣的子代个体与父代个体组成一个混合群体,然后选取其中的非劣个体进入下一代.
  6. Constrained optimization evolutionary algorithms----2009,对该类算法进行了系统的分析与论述
  7. Multiobjective optimization algorithm for solving constrained single objective problems----2010,提出了一种 sp-MODE(the multiobjective differential evolution algorithm with spherical pruning)法来解决高约束优化问题,该方法基于双重选择策略.在每一次迭代,首先从种群§中随机选择 N 个个体组成的子群体通过 DE 进化产生子代群体(Pn)后,然后利用 Pareto 排序的方法从联合群体(Pn ∪D)中找出所有的非劣个体,最后采用球形修剪技术从非劣解集中筛选出每个球形网格内具有较小约束违反程度的非劣个体(D).同时,球形裁剪技术维持了种群的多样性.当产生一个新的个体时,Pareto 占优用于比较该个体与其父代个体的优劣
  8. Performance of infeasibility empowered memetic algorithm for CEC 2010 constrained optimization problems----2010,针对很多约束优化问题的最优解位于可行域边界的特点,提出了 IDEA ( infeasibility driven evolutionary algorithm) 法.在该方法中,约束优化问题被转化为两个目标的多目标优化问题来处理:第 1个目标为原目标函数 f(x);另外一个目标为基于种群成员之间的个体相对约束违约度 ( 根据每个约束条件的违反程度,将种群中的每个个体从低到高进行排序;同时,约束违反度越低的个体分配的等级越高 (可行个体对应的等级为 0) ,个体相对约束违约度是所有约束条件上对应等级的总和) .在进化的过程,IDEA 首先根据个体的可行性将种群划分成两个群体(可行解集和不可行解集),并分别对该两个群体使用 Pareto 排序过程的方法来定义个体的等级,然后再按一定比例 u(用户定义),分别从两个群体中选择个体组成下一代种群.
  9. Combining multiobjective optimization with differential evolution to solve constrained optimization problems----2012,提出 CMODE(combining multiobjective optimization with differential evolution)算法,该算法将多目标优化策略与差分进化算法结合来处理约束问题.CMODE 首先从种群中随机选择 n 个个体组成的群体经过差分进化的变异、交叉操作产生子代群体,然后从子代群体找出全部的非劣个体;接着,随机替换父代群体中的任意一个被支配个体(如果该劣于个体存在).此外,该方法采用一种不可行解存档和替换机制,将每一代种群中好的不可行解存档起来,用于在后续进化中随机地替换种群中的个体.一方面,该机制保证了种群的多样性,使算法不会过早收敛到某些可行的局部最优;另一方面,该机制有利于对边界区域进行局部搜索.
  10. A dynamic hybrid framework for constrained evolutionary optimization----2012,用来求解约束问题.DyHF 根据当前种群中可行解的比例自发地实行全局搜索模型或者局部搜索模型.局部搜索模型首先将种群通过聚类方法划分成多个群体,然后分别从每个子代群体中找出所有的非劣个体,最后选择一个非劣个体随机地替换其父代群体中一个劣于个体(如果该个体存在),使种群从不同方向迫近可行域.全局搜索模型是从整个种群的角度利用 Pareto 优劣关系比较个体,选择父代个体和子代个体中的优胜者.
  11. Biased multiobjective optimization for constrained single-objective evolutionary optimization----2014,提出了一种有偏支配的约束处理技术,使用该有偏支配进行个体的比较.假设第 k 个目标函数 fk(x)是偏向的目标函数(有偏目标函数),有偏支配的定义
  12. A dual-population differential evolution with coevolution for constrained optimization----2014,提出了一种双种群协同进化差分算法,它把原来的约束问题转变成一个双目标优化问题,其 中,第 1 个目标是目标函数,第 2 个目标是约束违约度.在进化过程中,为了分别对待这两个目标,整个种群根据个体的可行性被划分成两个子群体,每个子群体优化对应的目标.同时,该文还引用了一种信息共享机制促进两个子群体之间搜索信息的相互交流,旨在让不可行个体变成可行个体并寻找到最优解.

3.6混合法

【转】带约束的多目标优化进化算法综述
【转】带约束的多目标优化进化算法综述
【转】带约束的多目标优化进化算法综述

【转】带约束的多目标优化进化算法综述
【转】带约束的多目标优化进化算法综述

4.亟待解决的问题

虽然约束优化进化算法已经取得了一定的成果,但是仍有很多问题需要解决,主要是:
(1) 等式约束处理
目前,约束优化进化算法对于等式约束优化问题的约束效果并不令人满意,难以收敛算法最优解.目前主要采用动态缩小阈值值来提高算法的收敛性能,但面对非线性等式约束、离散等式约束等问题,依然具有较大的挑战.
(2) 离散约束优化问题
在该类约束优化问题中,问题的可行区域是离散的,这使得算法容易陷入某个可行区域中的最优解,难以获得全局最优解.如何使得搜索能穿梭于各个可行区域间,是该问题的主要挑战.多种群、分布估计可能是解决该
问题的可行方案之一.
(3) 约束条件与优化目标之间的不平衡
约束优化不仅要求所得解的质量,同时要求满足约束条件.对于有些情况,如过分强调满足约束条件,将有可能导致搜索偏离性能好的区域;相反,如果过分强调解的质量,则有可能导致搜索空间偏离可行域.因此,如何根据问题的先验信息和从搜索过程中得到的知识来有效协调约束与目标之间的不平衡非常重要.
(4) 可行解与不可行解的分别对待
约束优化问题相对于普通约束优化问题,其本质区别在于如何对待不可行解携带的信息.在早期的研究中,对该问题的研究取得了较大的进展,但近年来对该基本问题并没有取得实质性的进展.这主要是由于近年来进化算法的搜索效率得到了快速的发展,弥补了约束处理的不足.模糊理论、粗糙理论、ᴈ约束处理等技术可能是该问题的研究方向.
(5) 普适的约束处理技术
目前,不同的约束处理技术对应不同的随机搜索技术有着不同的搜索效率.无免费的午餐定理告诉我们,没有任何算法能对所有问题都高效.但我们能不能设计一种对大多数类别算法都高效的约束处理机制?这将会是未来研究的方向之一.
(6) 自适应约束处理技术
正如前面所说,不同的约束处理技术对应不同的随机搜索技术有着不同的搜索效率.设计一种针对不同的搜索状态而采用不同的约束处理机制,自适应地选择不同的约束处理技术可能是可行的方案之一.另外,超启发式框架也具有一定的可行性.

5.总结

本文对受约束的多目标问题研究现状进行了详细总结,并重点分析了6大类约束处理方法

上一篇:【优化求解】蝴蝶算法MBO matlab源码


下一篇:数字IC设计APR12——Placement Optimization