遗传算法-多目标优化

Posted by dony on April 8, 2019

​ 在许多实际问题中,我们常常要处理的数学模型不止有一个目标函数。例如在产品加工与配送系统中,通常要求加工和配送的成本尽可能低,而所花的时间尽可能少,从而使总利润最大。有些多目标优化问题中各个目标之间会有冲突,无法同时取得最优,例如工人的工资和企业的总利润。 ​ 以遗传算法为代表的许多进化算法,具有生成多个点并进行多方向搜索的特征,因此非常适合求解这种最优解的搜索空间非常复杂的多目标优化问题。

8.1. 多目标优化问题数学模型及最优解 多目标优化问题是在给定约束条件的前提下,求多个目标函数的最大或最小的问 题。一般可表述为如下形式:

1554735721748

这里,1554735774794 ; r 是r 个线性或非线性的目标函数。有的可能是最大化目标函数,有的可能是最小化目标函数。为了方便处理,可以把各目标函数统一换为最小化或最大化。多个目标之间可能会拥有不同的单位,也可能在优化某个目标时损害其他目标。但这并不意味着多目标优化问题可能没有最优解,事实上是可以有的,为了求出比较合理的解,这里引入多目标优化问题的合理解集——Pareto 最优解(pareto optimal solution)。

8.2. Pareto 最优解

​ 在求解单目标问题时,可以在所有候选解中选出唯一最好的解。但是在多目标优化问题里,由于各个目标之间可能存在冲突,所以最优解不一定只有一个。我们如下定义多目标的最优解: ​ 1) 给定一个多目标优化问题minf(x),设X 2 Ω,如果:9X 2 Ω,使得满足以下条件: ​ 对于f(x) 的任意子目标函数fi(x) 都有fi(X)  fi(X),同时至少存在一个子目标函数fi(x) 使得fi(X) < fi(X) 那么,我们称X 是一个强Pareto 最优解。 另外我们还可以定义弱Pareto 最优解: 2) 给定一个多目标优化问题minf(x),设X∈ Ω,如果:不存在X 2 Ω,使得满足以下 条件: ​ 对于f(x) 的任意子目标函数fi(x) 都有fi(X) < fi(X) ​ 那么,我们称X 是一个弱Pareto 最优解。

1554735949621

​ 由上面的定义可知,在目标空间S 中强帕累托最优解均落在粗曲线上;弱帕累托最优解则都落在细的直线上。 ​ 值得一提的是,我们常常习惯把强Pareto 最优解简称为Pareto 最优解。另外,Pareto最优解又称为“非支配解”。下面我们就仔细研究解的支配关系。

​ 设X1;X2 均是解空间! 中的解,若对于所有的目标,均有X1 比X2 好,那么就称X1 强支配X2。若对于所有的目标,均有X1 不差于X2,且至少存在一个目标使得X1比X2 好,那么就称X1 弱支配X2。

​ 一般我们把弱支配关系简称为支配关系。对于上面的X1 和X2,我们称X1 是“非强(弱) 支配的”或简称“非支配”的,X2 是“被强(弱) 支配”或简称“被支配”的。“非支配”即“不被支配”。非支配是相对的,X1 对于X2 是非支配的,但有可能X1 对于X3 就是被支配的了。

​ 另外还有一种“不相关”关系。当对于某些目标有X1 比X2 好,而另外一些目标有X2 比X1 好,那么X1 和X2 就是不相关的。

​ 若X1 对于解空间中的其他解而言X1 都不是被支配的,那么此时X1 就是一个帕累托最优解。此时我们就可以把支配关系和帕累托最优解联系起来:

​ 1) 当X1 对于解空间中的其他解而言X1 都不是被强支配的(即X1 是非强支配的),那么此时X1 就是一个弱帕累托最优解。 ​ 2) 当X1 对于解空间中的其他解而言X1 都不是被弱支配的(即X1 是非弱支配的),那么此时X1 就是一个强帕累托最优解。 ​ 上面的关系很容易混淆一点:“非支配”不是指“不构成支配”,而是指“不被支配”。“非支配”的反义是“被支配”

8.4. 用进化算法解决多目标优化问题

​ 下面展示一种经典的基于Pareto 的多目标进化算法的算法流程:

1554736285197

​ 进化算法如遗传算法、粒子群算法、差分进化算法等都可以很好地解决多目标优化问题。以遗传算法为例,目前具有代表性的多目标优化遗传算法按历史进程分类如下:

1) 第一代:帕累托排序法 向量评价遗传算法(vector evaluated genetic algorithms, veGA)[85SM] 2) 第二代:Pareto 排序+ 保持种群多样性 多目标遗传算法(Multiobjective Genetic Algorithm, moGA)[93FF] 非支配排序多目标遗传算法(non-dominated sorting genetic algorithm, nsGA)[95Deb] 3) 第三代:带有多目标函数的权重+ 精英保存 随机权重遗传算法(random weight GA, rwGA)[98IM] 适应性权重遗传算法(adaptive weight GA: awGA)[00GC] Pareto 强度进化算法II(strength Pareto E A II, spEA-II)[02ZLT] 非支配排序遗传算法II(non-dominated sorting G A II, nsGA-II)[02DAM] 交互式适应性权重遗传算法(interactive adaptive weight GA, i-awGA)[06LG] 基于分解的多目标进化算法(A Multiobjective Evolutionary Algorithm Based on Decomposition, MOEA/D)[07ZL]

​ 对于一个具体的多目标进化算法(Multi-objective Evolutionary Algorithm : MOEA) 而 言,如何构造非支配集,采用什么策略来调整非支配集的大小,如何保存非支配集中解 的分布性,是决定其算法性能的重要内容,这些也是当前相关研究的热点。