多目标进化算法系列
- 多目标进化算法(MOEA)概述
- 多目标优化-测试问题及其Pareto前沿
- 多目标进化算法详述-MOEA/D与NSGA2优劣比较
- 多目标进化算法-约束问题的处理方法
- 基于C#的多目标进化算法平台MOEAPlat实现
- MOEAD中聚合函数等高线分析
- MOEAD中一种使解更均匀分布的聚合函数介绍
现实世界中的多目标优化问题往往包含不等式约束和等式约束,对于这类带约束条件的多目标优化问题,需要使用有别于无约束优化问题的处理方法。下面首先给出带约束条件的多目标优化问题的的定义:
Definition : 约束多目标优化问题
在这个定义式中,为了描述方便,将所有的不等式约束都转换为了的形式。其中为目标函数的个数,为决策变量的个数,为不等式约束条件的个数,为等式约束条件的个数,和分别为第个决策变量的下限和上限值。
针对这类带约束条件的优化问题,使用无约束多目标进化算法处理的方法显然是不可行的,为了解决这类约束多目标优化问题,针对基于Pareto支配关系的算法,主要使用带约束的支配关系(constrained-dominance)来处理,而对于基于分解的算法,则使用新的替换策略来更新解。
为了详细说明上述两种方法,现介绍几个重要的概念。
对于一个解,若其满足约束条件,则称该解为可行解(feasible solution),若不满足,则称之为不可行解(infeasible solution)。
对于不可行解,如何描述其违反约束的程度呢,一般使用约束违反值(constraint violation value),该值用来定量描述一个解违反约束条件的程度。对于一个解,其值可如下表达
其中表示若,则,否则。显然,对于一个解,其CV值越小,说明该解越优。同时,对于一个可行解,其CV值为0,对于不可行解,其CV值则大于0。
下面介绍约束支配关系,对于任意两个解,约束支配的条件满足以下条件的任一项即可:
- 是可行解,而是不可行解;
- 都不是可行解,但;
- 都是可行解,且 Pareto支配
以上便是约束支配关系的描述,对于一个带约束的多目标优化问题,便可直接将该支配关系应用到基于Pareto支配关系的多目标进化算法中,如NSGA-II,NSGA-III等,同时,对于无约束多目标优化问题,该支配关系显然也是有效的。
下面介绍基于分解的算法处理约束多目标优化问题中的替换策略。假设是新生成的子代解,选择一个邻居解来确定是否用解替换解,满足以下条件的任一项则替换之:
- 是不可行解,是可行解;
- 都不是可行解,但;
- 都是可行解,但解的聚合函数值更小
该替换策略可直接用到MOEA/D或其他基于分解思想的多目标进化算法中来处理约束多目标优化问题。
以上便是目前约束多目标优化问题处理的一些常用方法。
QQ交流群:399652146
参考:
- Deb K, Pratap A, Meyarivan T. Constrained Test Problems for Multi-objective Evolutionary Optimization[C]// Evolutionary Multi-Criterion Optimization, First International Conference, EMO 2001, Zurich, Switzerland, March 7-9, 2001, Proceedings. 2001:284–298.
- Jain H, Deb K. An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point Based Nondominated Sorting Approach, Part II: Handling Constraints and Extending to an Adaptive Approach[J]. IEEE Transactions on Evolutionary Computation, 2014, 18(4):602-622.
- Li K, Deb K, Zhang Q, et al. An Evolutionary Many-Objective Optimization Algorithm Based on Dominance and Decomposition[J]. IEEE Transactions on Evolutionary Computation, 2015, 19(5):694-716.