设 a = ( a 1 , a 2 , ⋯ , a n ) \boldsymbol{a} = (a_1, a_2, \cdots, a_n) a=(a1,a2,⋯,an), b = ( b 1 , b 2 , ⋯ , b n ) \boldsymbol{b} = (b_1, b_2, \cdots, b_n) b=(b1,b2,⋯,bn), 定义:
类似可以定义 a ≧ b \boldsymbol{a} \geqq \boldsymbol{b} a≧b, a ≥ b \boldsymbol{a} \ge \boldsymbol{b} a≥b和 a > b \boldsymbol{a} > \boldsymbol{b} a>b。
目标函数多于一个的优化问题称为多目标规划, 记作(VP), 数学形式为 min x ∈ Ω F ( x ) \underset{\boldsymbol{x} \in \Omega}{\min} \boldsymbol{F}(\boldsymbol{x}) x∈ΩminF(x), 其中 F ( x ) = [ f 1 ( x ) , f 2 ( x ) , ⋯ , f n ( x ) ] T \boldsymbol{F}(\boldsymbol{x}) = \left[ f_1(\boldsymbol{x}), f_2(\boldsymbol{x}), \cdots, f_n(\boldsymbol{x}) \right]^{\rm T} F(x)=[f1(x),f2(x),⋯,fn(x)]T为向量值函数。若 ∀ i ∈ { 1 , 2 , ⋯ , n } \forall i \in \lbrace 1,2,\cdots,n \rbrace ∀i∈{1,2,⋯,n}, f i ( x ) f_i(\boldsymbol{x}) fi(x)都为凸函数, 则称(VP)为凸多目标规划。
设 x ∗ ∈ Ω \boldsymbol{x}^* \in \Omega x∗∈Ω, F ( x ) = [ f 1 ( x ) , f 2 ( x ) , ⋯ , f n ( x ) ] T \boldsymbol{F}(\boldsymbol{x}) = \left[ f_1(\boldsymbol{x}), f_2(\boldsymbol{x}), \cdots, f_n(\boldsymbol{x}) \right]^{\rm T} F(x)=[f1(x),f2(x),⋯,fn(x)]T, (VP)的解有许多种,常用的有:
【例1】求多目标规划的绝对可行解、有效解和弱有效解 min 3 x 1 + x 2 max x 1 + 2 x 2 s . t . x 1 , x 2 ∈ [ 0 , 1 ] \begin{matrix} \min & 3x_1 + x_2 \\ \max & x_1 + 2x_2 \\ \rm s.t. & x_1, x_2 \in [0, 1] \end{matrix} minmaxs.t.3x1+x2x1+2x2x1,x2∈[0,1]【解】 F ( x 1 , x 2 ) = [ f 1 ( x ) , f 2 ( x ) ] T = [ 3 x 1 + x 2 , − x 1 − 2 x 2 ] T \boldsymbol{F}(x_1, x_2) = [f_1(\boldsymbol{x}), f_2(\boldsymbol{x})]^{\rm T} = [3x_1 + x_2, -x_1 - 2x_2]^{\rm T} F(x1,x2)=[f1(x),f2(x)]T=[3x1+x2,−x1−2x2]T, Ω = { ( x 1 , x 2 ) T ∣ x 1 , x 2 ∈ [ 0 , 1 ] } \Omega = \left \lbrace (x_1, x_2)^{\rm T} \mid x_1, x_2 \in [0, 1] \right \rbrace Ω={(x1,x2)T∣x1,x2∈[0,1]}。
显然, 约束优化问题 min x ∈ Ω f 1 ( x ) \underset{\boldsymbol{x} \in \Omega}{\min}f_1(\boldsymbol{x}) x∈Ωminf1(x)的最优解集为 Ω 1 = { ( 0 , 0 ) T } \Omega_1 = \left \lbrace (0, 0)^{\rm T} \right \rbrace Ω1={(0,0)T}, 约束优化问题 min x ∈ Ω f 2 ( x ) \underset{\boldsymbol{x} \in \Omega}{\min}f_2(\boldsymbol{x}) x∈Ωminf2(x)的最优解集为 Ω 2 = { ( 1 , 1 ) T } \Omega_2 = \left \lbrace (1, 1)^{\rm T} \right \rbrace Ω2={(1,1)T}, 所以绝对最优解 Ω a b = Ω 1 ∩ Ω 2 = ∅ \Omega_{\rm ab} = \Omega_1 \cap \Omega_2 = \varnothing Ωab=Ω1∩Ω2=∅。
做出可行域 Ω \Omega Ω的图像如图1左图所示, 因 F ( x 1 , x 2 ) \boldsymbol{F}(x_1, x_2) F(x1,x2)是线性函数, 所以把左图中顶点映射后连线即得到像集 F ( Ω ) \boldsymbol{F}(\Omega) F(Ω)的图像, 如图1右图所示。记 O ′ = F ( O ) O' = \boldsymbol{F}(\boldsymbol{O}) O′=F(O), C ′ = F ( C ) C' = \boldsymbol{F}(\boldsymbol{C}) C′=F(C), B ′ = F ( B ) B' = \boldsymbol{F}(\boldsymbol{B}) B′=F(B), 则显然折线段 O ′ C ′ B ′ O'C'B' O′C′B′是有效解, 也是弱有效解。
线性加权和法对每个目标函数赋予一个权重, 从而把多目标规划转化为单目标规划。具体来说, 对于多目标规划 min x ∈ Ω F ( x ) = [ f 1 ( x ) , f 2 ( x ) , ⋯ , f n ( x ) ] T \underset{\boldsymbol{x} \in \Omega}{\min}\boldsymbol{F}(\boldsymbol{x}) = \left[ f_1(\boldsymbol{x}), f_2(\boldsymbol{x}), \cdots, f_n(\boldsymbol{x}) \right]^{\rm T} x∈ΩminF(x)=[f1(x),f2(x),⋯,fn(x)]T, 给定 n n n个权数 λ 1 , λ 2 , ⋯ , λ n \lambda_1, \lambda_2, \cdots, \lambda_n λ1,λ2,⋯,λn, 则(VP)转化为 min x ∈ Ω ∑ i = 1 n λ i f i ( x ) \underset{\boldsymbol{x} \in \Omega}{\min} \sum_{i=1}^{n}\lambda_if_i(\boldsymbol{x}) x∈Ωmini=1∑nλifi(x)用这种方法得到最优解称为线性加权和意义下的最优解。
线性加权和法求得的解必然是(VP)的有效解, 但不能保证求出所有的有效解。
【例2】取权数 λ 1 = 2 3 \lambda_1=\dfrac{2}{3} λ1=32和 λ 2 = 1 3 \lambda_2=\dfrac{1}{3} λ2=31, 用线性加权和法求解 min f ( x 1 , x 2 ) = ( x 1 , x 2 ) T s . t . x 1 + x 2 ≥ 3 x 1 + x 2 ≤ 5 x 1 ≥ 0 0 ≤ x 2 ≤ 2 \begin{matrix} \min & \boldsymbol{f}(x_1, x_2) = (x_1, x_2)^{\rm T} \\ \rm s.t. & x_1 + x_2 \ge 3 \\ & x_1 + x_2 \le 5 \\ & x_1 \ge 0 \\ & 0 \le x_2 \le 2 \end{matrix} mins.t.f(x1,x2)=(x1,x2)Tx1+x2≥3x1+x2≤5x1≥00≤x2≤2【解】问题转化为 min 2 3 x 1 + 1 3 x 2 s . t . x 1 + x 2 ≥ 3 x 1 + x 2 ≤ 5 x 1 ≥ 0 0 ≤ x 2 ≤ 2 \begin{matrix} \min & \dfrac{2}{3}x_1 + \dfrac{1}{3}x_2 \\ \rm s.t. & x_1 + x_2 \ge 3 \\ & x_1 + x_2 \le 5 \\ & x_1 \ge 0 \\ & 0 \le x_2 \le 2 \end{matrix} mins.t.32x1+31x2x1+x2≥3x1+x2≤5x1≥00≤x2≤2如图2所示, 由图解法易得最优解为 ( x 1 , x 2 ) = ( 1 , 2 ) (x_1, x_2) = (1, 2) (x1,x2)=(1,2), 最优值为 4 3 \dfrac{4}{3} 34。
平方加权和法与线性加权和法类似, 也是把(VP)转化为单目标规划, 具体步骤是先求出约束优化问题 min x ∈ Ω f i ( x ) \underset{\boldsymbol{x} \in \Omega}{\min}f_i(\boldsymbol{x}) x∈Ωminfi(x)的最优解(或近似最优解) y i y_i yi, 然后给定 n n n个权数 λ 1 , λ 2 , ⋯ , λ n \lambda_1, \lambda_2, \cdots, \lambda_n λ1,λ2,⋯,λn, 则(VP)转化为 min x ∈ Ω ∑ i = 1 n λ i [ f i ( x ) − y i ] 2 \underset{\boldsymbol{x} \in \Omega}{\min} \sum_{i=1}^{n}\lambda_i[f_i(\boldsymbol{x}) - y_i]^2 x∈Ωmini=1∑nλi[fi(x)−yi]2用这种方法得到最优解称为平方加权和意义下的最优解。当权数满足 λ 1 = λ 2 = ⋯ = λ n > 0 \lambda_1 = \lambda_2 = \cdots = \lambda_n > 0 λ1=λ2=⋯=λn>0时, 称为理想点法。
平方加权和法求得的解必然是(VP)的有效解。
极小极大法通过极小化极大函数的方式把(VP)转化为单目标规划: min x ∈ Ω max 1 ≤ i ≤ n f i ( x ) \underset{\boldsymbol{x} \in \Omega}{\min}\underset{1 \le i \le n}{\max} f_i(\boldsymbol{x}) x∈Ωmin1≤i≤nmaxfi(x)用这种方法得到最优解称为极大极小意义下的最优解。
经典的极小极大法求得的解必然是(VP)的弱有效解。
分层序列法通过逐个求解目标函数的方式求得最终的最优解, 算法步骤如下:
用这种方法得到最优解称为分层序列意义下的最优解。
分层序列法求得的解必然是(VP)的有效解。
【例3】用分层序列法求解 min ( x 2 , x 1 2 + x 2 2 ) T s . t . x 1 + x 2 − 1 ≤ 0 x 1 − 2 x 2 + 2 ≥ 0 x 2 ≥ 0 \begin{matrix} \min & (x_2, x_1^2 + x_2^2)^{\rm T} \\ \rm s.t. & x_1 + x_2 - 1 \le 0 \\ & x_1 - 2x_2 + 2 \ge 0 \\ & x_2 \ge 0 \end{matrix} mins.t.(x2,x12+x22)Tx1+x2−1≤0x1−2x2+2≥0x2≥0【解】第 1 1 1次迭代, 单目标规划为 min x 2 s . t . x 1 + x 2 − 1 ≤ 0 x 1 − 2 x 2 + 2 ≥ 0 x 2 ≥ 0 \begin{matrix} \min & x_2 \\ \rm s.t. & x_1 + x_2 - 1 \le 0 \\ & x_1 - 2x_2 + 2 \ge 0 \\ & x_2 \ge 0 \end{matrix} mins.t.x2x1+x2−1≤0x1−2x2+2≥0x2≥0显然最优解为 x 2 = 0 x_2 = 0 x2=0;
第 2 2 2次迭代, 单目标规划为 min x 1 2 + x 2 2 s . t . x 1 + x 2 − 1 ≤ 0 x 1 − 2 x 2 + 2 ≥ 0 x 2 = 0 \begin{matrix} \min & x_1^2 + x_2^2 \\ \rm s.t. & x_1 + x_2 - 1 \le 0 \\ & x_1 - 2x_2 + 2 \ge 0 \\ & x_2 = 0 \end{matrix} mins.t.x12+x22x1+x2−1≤0x1−2x2+2≥0x2=0该问题等价于 min x 1 2 s . t . − 2 ≤ x 1 ≤ 1 \begin{matrix} \min & x_1^2 \\ \rm s.t. & -2 \le x_1 \le 1 \end{matrix} mins.t.x12−2≤x1≤1显然最优解为 x 1 = 0 x_1 = 0 x1=0, 所以该问题的最优解为 ( x 1 , x 2 ) = ( 0 , 0 ) (x_1, x_2) = (0, 0) (x1,x2)=(0,0)。
所以原问题的最优解为 ( x 1 , x 2 ) = ( 0 , 0 ) (x_1, x_2) = (0, 0) (x1,x2)=(0,0), 最优值为 ( 0 , 0 ) T (0, 0)^{\rm T} (0,0)T。