1.多目标优化概念
1.1 多目标优化与单目标优化的概念差别:
单目标优化的情况下,只有一个目标,任何两解都可以依据单一目标比较其好坏,可以得出没有争议的最优解。
多目标化与传统的单目标优化相对。多目标优化的概念是在某个情景中在需要达到多个目标时,由于容易存在目标间的内在冲突,一个目标的优化是以其他目标劣化为代价,因此很难出现唯一最优解,取而代之的是在他们中间做出协调和折中处理,使总体的目标尽可能的达到最优。
1.2 多目标优化的解集:
在MOO问题中,解集可以通过最优解,有效解和弱有效解表示。
首先我们先定义多目标里面的相等、严格小于、小于、小于且不相等:
1.3 Pareto支配(Pareto Dominance)
定义: ∀ x 1 , x 2 ∈ R N \forall x_1,x_2\in R^N ∀x1,x2∈RN,如果对于所有的 k = 1 , … , K k=1,\ldots,K k=1,…,K,都有 f k ( x 1 ) ⩽ f k ( x 2 ) f_k(x_1)\leqslant f_k(x_2) fk(x1)⩽fk(x2),则称 x 1 x_1 x1支配 x 2 x_2 x2
1.4 Pareto解集:绝对最优解
定义:设 x ∗ ∈ D x^*\in D x∗∈D,如果对于任意的 x ∈ D x\in D x∈D ,都有 f ( x ∗ ) ≦ f ( x ) f(x^*)\leqq f(x) f(x∗)≦f(x),即对于所有的 k = 1 k=1 k=1, ,都有 f k ( x ∗ ) ⩽ f k ( x ) f_k(x^*)\leqslant f_k(x) fk(x∗)⩽fk(x), 则 x ∗ x^* x∗是MOO问题的绝对最优解
1.4 Pareto解集:有效解
定义:设 x ∗ ∈ D x^*\in D x∗∈D,如果不存在 x ∈ D x\in D x∈D ,使得 f ( x ) ⩽ f ( x ∗ ) f(x)\leqslant f(x^*) f(x)⩽f(x∗); 即下面条件不成立
f k ( x ) ≤ f k ( x ∗ ) , a n d ∃ i , f i ( x ) < f i ( x ∗ ) , i ∈ [ 1 , K ] f_k(x)\leq f_k(x^*),and~\exists i,f_i(x)<f_i(x^*),i\in[1,K] fk(x)≤fk(x∗),and ∃i,fi(x)<fi(x∗),i∈[1,K]
则 x ∗ x^* x∗是MOO问题的有效解
有效解也叫帕累托最优解,其含义是如果 x ∗ x^* x∗是帕累托最优解,则找不到这样的可行解 x ∈ D x\in D x∈D,使得 f ( x ) f(x) f(x)的每个目标值都不比 f ( x ∗ ) f(x^*) f(x∗)的目标值坏,并且 f ( x ) f(x) f(x)至少有一个目标比 f ( x ∗ ) f(x^*) f(x∗)的相应目标值好。即 x ∗ x^* x∗是最好的,不能再进行改进 (帕累托改进) .
1.5 Pareto解集:弱有效解
定义:设 x ∗ ∈ D x^*\in D x∗∈D,如果不存在 x ∈ D x\in D x∈D ,使得 f ( x ) < f ( x ∗ ) f(x)<f(x^*) f(x)<f(x∗),即
f k ( x ) < f k ( x ∗ ) , a n d , ∀ k ∈ [ 1 , K ] f_k(x)<f_k(x^*),and\quad,\forall k\in[1,K] fk(x)<fk(x∗),and,∀k∈[1,K]
则 x ∗ x^* x∗是MOO问题的弱有效解其含义是如果 x ∗ x^* x∗是弱有效解,则找不到这样的可行解 x ∈ D x\in D x∈D,使得 f ( x ) f(x) f(x)的每个目标值都比 f ( x ∗ ) f(x^*) f(x∗)的目标值严格(<)的好。
1.6 Pareto最优解集(Pareto-optimal Set
定义: 给定MOO问题的有效解(帕累托最优解)构成的解集,称这个解集为Pareto最优解集Pareto-optimal Set ,简称PS。
即这个集合中的解是相互非支配的,也即两两不是支配关系。
1.7 Pareto最优前沿(Pareto-optimal front)
定义: Pareto-optimal Set中每个解对应的目标值向量组成的集合称之为Pareto最优前沿(Pareto-optimal front), 简称为PF:
P
F
=
{
F
(
x
)
∣
x
∈
P
S
}
PF=\{F(x)|x\in PS\}
PF={F(x)∣x∈PS}
如下图所示:
更通俗的理解可以参考:通俗易懂理解概念
2 多目标优化算法解法
2.1 线性加权法
线性加权法线性加权法是多目标优化中使用比较广泛的方法,根据
f
k
(
x
)
f_k(x)
fk(x)的重要程度,设定权重进行线性加
权,将多个目标表示成:
从而转换为单目标的优化问题。接下来我们给出在一定条件下,上述问题存在有效解的条件。
SAW(Simple Additive Weighting) 是其中经典的一类线性加权求和方法.它忽略不同目标函数有不同的单位和范围,通过给不同的目标函 数制定相应的权重,将所有的目标函数进行线性加权,用一个综合的效用函数来代表总体优化的目标.最优的效用函数对应的解即被认为是问题的最优解,从而将多目标优化问题转化成单目标优化问题.
定理:对于给定的 λ ∈ Λ + + \lambda\in\Lambda^{++} λ∈Λ++,则上述问题的最优解是MOO问题的有效解。其中:
Λ + + = { λ ∣ λ k > 0 , i = 1 , 2... K , ∑ k = 1 K λ k = 1 } \Lambda^{++}=\{\lambda|\lambda_k>0,i=1,2...K,\sum_{k=1}^K\lambda_k=1\} Λ++={λ∣λk>0,i=1,2...K,k=1∑Kλk=1}
优点:实现简单,单目标优化问题有成熟的算法求解。
缺点:权重
λ
k
\lambda_k
λk比较难确定,求出的解的优劣性没法保证。
2.2 ϵ \epsilon ϵ-约束方法(主目标法)
从所有的k个目标中选择一个作为优化的目标加粗样式,剩余的( k - 1)个目标则通过加界限的方式转化为约束条件。对于最小化的目标,加入上界作为限制条件,对于最大化的目标则加入下界作为限制条件。
2.2.1 ϵ \epsilon ϵ-约束方法最优解和多目标最优化解集的关系
主要目标法最优解都是MOO的弱有效解
若主要目标
f
p
(
x
)
f_{p}(x)
fp(x)是严格凸函数,可行域
D
^
\hat{D}
D^为
为凸集,则主要目标法的最优解是MOO问题的有效解。
2.2.2 界限值 ϵ k \epsilon_k ϵk的选取
一般情况下,界限值可以取子目标函数的上界值:
min { f k ∣ f k ( x ) , k = 1 , … , K , 且 k ≠ p } ≤ ϵ k \min\{f_k|f_k(x),k=1,\ldots,K,\text{且}k\neq p\}\leq\epsilon_k min{fk∣fk(x),k=1,…,K,且k=p}≤ϵk
这种取法可以使得某些 f k ( x ) f_k(x) fk(x)留在可行域 D ^ \hat{D} D^内,并且 D ^ \hat{D} D^内有较多的点靠近 f k ( x ) f_k(x) fk(x)的最优解。主要目标法的优缺点对比
优点:简单易行,保证在其他子目标取值允许的条件下,求出主要目标尽可能好的目标值。
缺点:
ϵ
k
\epsilon_k
ϵk如果给的不合适的话,新的可行域
D
^
\hat{D}
D^可能为空集。
3.智能优化算法
3.1 NSGA-Ⅱ(NSGA2)算法
先鸽一下,有空再更
3.2 多目标粒子群算法(PSO)
请参考另一篇博客: