【优化方法学习笔记】第一章:线性规划

1. 基本概念

1.1 凸集与极点

若集合 C C C满足: ∀ x , y ∈ C , λ ∈ [ 0 , 1 ] \forall\boldsymbol{x},\boldsymbol{y}\in C,\lambda\in[0,1] x,yC,λ[0,1], 都有 λ x + ( 1 − λ ) y ∈ C \lambda \boldsymbol{x}+(1-\lambda)\boldsymbol{y}\in C λx+(1λ)yC, 则称集合 C C C凸集。直观来讲, 如果集合 C C C中任意两点的连线也在集合 C C C中, 那么集合 C C C就是凸集, 图1.1展示了凸集和非凸集的一个例子。
凸集(左)和非凸集(右)

图1.1 凸集(左)和非凸集(右)

C C C是一个凸集, x ∈ C \boldsymbol{x}\in C xC, 若 ∀ y , z ∈ C , λ ∈ ( 0 , 1 ) , y ≠ z \forall\boldsymbol{y},\boldsymbol{z}\in C,\lambda\in (0,1),\boldsymbol{y}\ne\boldsymbol{z} y,zC,λ(0,1),y=z, 都有 λ y + ( 1 − λ ) z ≠ x \lambda\boldsymbol{y}+(1-\lambda)\boldsymbol{z}\ne\boldsymbol{x} λy+(1λ)z=x, 则称 x \boldsymbol{x} x C C C的一个极点或顶点。直观来讲,若 x \boldsymbol{x} x C C C极点, 那么 x \boldsymbol{x} x不能由 C C C中任何两个不同的点线性组合得到。

1.2 可行解、基本解、基本可行解

可行解:满足约束条件的解称为可行解
基本解:令非基变量为 0 0 0, 得到的解称为基本解
基本可行解:可行的基本解称为基本可行解

2. 线性规划的标准形式

任何线性规划问题都有标准形式, 线性规划的标准形式可以写为 min ⁡ z = c 1 x 1 + c 2 x 2 + ⋯ + c n x n s . t . a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n = b 2 ⋮ a m 1 x 1 + a m 2 x 2 + ⋯ + a m n x n = b m x j ≥ 0 , j = 1 , 2 , ⋯   , n \begin{matrix} \min & z=c_1x_1+c_2x_2+\cdots+c_nx_n \\ \rm s.t.& a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1 \\ & a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2 \\ & \vdots \\ & a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n=b_m\\ & x_j\ge0,j=1,2,\cdots,n \end{matrix} mins.t.z=c1x1+c2x2++cnxna11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bmxj0,j=1,2,,n把非标准形式的线性规划问题改写为标准形式的步骤如下:

  1. 如果目标为极大化, 则对目标函数取负使其变为极小化, 即 max ⁡ f ( x ) ⇔ min ⁡ − f ( x ) \max f(\boldsymbol{x})\Leftrightarrow\min -f(\boldsymbol{x}) maxf(x)minf(x)
  2. 如果约束的右端项为负数, 则对这条约束左右两边同时取负, 使右端项变为非负数;
  3. 如果决策变量 x j x_j xj没有非负要求, 则令 x j = x j 1 − x j 2 x_j=x_{j1}-x_{j2} xj=xj1xj2, 其中 x j 1 , x j 2 ≥ 0 x_{j1},x_{j2}\ge0 xj1,xj20
  4. 如果决策变量 x j x_j xj是非正约束, 即 x j ≤ 0 x_j\le0 xj0, 则令 x j ′ = − x j ≥ 0 x_j'=-x_j\ge0 xj=xj0
  5. 如果存在不等式约束 a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n ≥ b i a_{i1}x_1+a_{i2}x_2+\cdots+a_{in}x_n\ge b_i ai1x1+ai2x2++ainxnbi, 则添加变量 y i ≥ 0 y_i\ge0 yi0, 约束就改写为 a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n − y i = b i a_{i1}x_1+a_{i2}x_2+\cdots+a_{in}x_n-y_i= b_i ai1x1+ai2x2++ainxnyi=bi
  6. 如果存在不等式约束 a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n ≤ b i a_{i1}x_1+a_{i2}x_2+\cdots+a_{in}x_n\le b_i ai1x1+ai2x2++ainxnbi, 则添加变量 y i ≥ 0 y_i\ge0 yi0, 约束就改写为 a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n + y i = b i a_{i1}x_1+a_{i2}x_2+\cdots+a_{in}x_n+y_i= b_i ai1x1+ai2x2++ainxn+yi=bi

标准的线性规划问题可以写为矩阵形式 min ⁡ z = c T x s . t . A x = b x ≥ 0 \begin{matrix} \min & z=\boldsymbol{c}^{\rm T}\boldsymbol{x} \\ \rm s.t.& \boldsymbol{A}\boldsymbol{x}=\boldsymbol{b}\\ & \boldsymbol{x}\ge\bold{0} \end{matrix} mins.t.z=cTxAx=bx0

3. 单纯形方法

使用单纯形方法求解线性规划问题的一般步骤如下:

  1. 把问题转换为标准形式
  2. 选取一组基, 列出单纯形表
  3. 若检验数全为非负数, 则结束
  4. 选择检验数最小的列对应的变量为进基变量
  5. 选择 b i b_i bi与系数比值为正数且最小的行对应的变量作为离基变量
  6. 把基变量对应的矩阵化为单位矩阵, 回第3步

【例1】求解以下线性规划问题
max ⁡ 4 x 1 + 5 x 2 + 3 x 3 s . t . 8 x 1 + 2 x 2 + 5 x 3 ≤ 400 4 x 1 + 6 x 2 + 5 x 3 ≤ 320 7 x 1 + 3 x 2 + 4 x 3 ≤ 500 x i ≥ 0 , i = 1 , 2 , 3 \begin{matrix} \max & 4x_1+5x_2+3x_3 \\ \rm s.t.& 8x_1+2x_2+5x_3\le400 \\ & 4x_1+6x_2+5x_3\le320 \\ & 7x_1+3x_2+4x_3\le500\\ & x_i\ge0,i=1,2,3 \end{matrix} maxs.t.4x1+5x2+3x38x1+2x2+5x34004x1+6x2+5x33207x1+3x2+4x3500xi0,i=1,2,3
【解】首先把问题转换为标准形式
min ⁡ − 4 x 1 − 5 x 2 − 3 x 3 s . t . 8 x 1 + 2 x 2 + 5 x 3 + x 4 = 400 4 x 1 + 6 x 2 + 5 x 3 + x 5 = 320 7 x 1 + 3 x 2 + 4 x 3 + x 6 = 500 x i ≥ 0 , i = 1 , 2 , ⋯   , 6 \begin{matrix} \min & -4x_1-5x_2-3x_3 \\ \rm s.t.& 8x_1+2x_2+5x_3+x_4=400 \\ & 4x_1+6x_2+5x_3+x_5=320 \\ & 7x_1+3x_2+4x_3+x_6=500\\ & x_i\ge0,i=1,2,\cdots,6 \end{matrix} mins.t.4x15x23x38x1+2x2+5x3+x4=4004x1+6x2+5x3+x5=3207x1+3x2+4x3+x6=500xi0,i=1,2,,6
1 1 1次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4 x 5 x_5 x5 x 6 x_6 x6 b b b
检验数 − 4 -4 4 − 5 -5 5 − 3 -3 3 0 0 0 0 0 0 0 0 0 0 0 0
x 5 x_5 x5 8 8 8 2 2 2 5 5 5 1 1 1 0 0 0 0 0 0 400 400 400
x 6 x_6 x6 4 4 4 6 \color{Red}{6} 6 5 5 5 0 0 0 1 1 1 0 0 0 320 320 320
x 7 x_7 x7 7 7 7 3 3 3 4 4 4 0 0 0 0 0 0 1 1 1 500 500 500

检验数中, − 5 -5 5最小, 所以 x 2 x_2 x2为进基变量。由于 min ⁡ { 400 ÷ 2 , 320 ÷ 6 , 500 ÷ 3 } = 320 ÷ 6 \min \left\lbrace400\div2,320\div6,500\div3 \right \rbrace=320\div6 min{ 400÷2,320÷6,500÷3}=320÷6, 所以 x 6 x_6 x6为离基变量。

2 2 2次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4 x 5 x_5 x5 x 6 x_6 x6 b b b
检验数 − 2 3 -\dfrac{2}{3} 32 0 0 0 7 6 \dfrac{7}{6} 67 0 0 0 5 6 \dfrac{5}{6} 65 0 0 0 800 3 \dfrac{800}{3} 3800
x 5 x_5 x5 20 3 \color{Red}\dfrac{20}{3} 320 0 0 0 10 3 \dfrac{10}{3} 310 1 1 1 − 1 3 -\dfrac{1}{3} 31 0 0 0 880 3 \dfrac{880}{3} 3880
x 2 x_2 x2 2 3 \dfrac{2}{3} 32 1 1 1 5 6 \dfrac{5}{6} 65 0 0 0 1 6 \dfrac{1}{6} 61 0 0 0 160 3 \dfrac{160}{3} 3160
x 7 x_7 x7 5 5 5 0 0 0 3 2 \dfrac{3}{2} 23 0 0 0 − 2 -2 2 1 1 1 340 340 340

只有 x 1 x_1 x1的检验数是负的, 所以 x 1 x_1 x1为进基变量。由于 min ⁡ { 880 3 ÷ 20 3 , 160 3 ÷ 2 3 , 340 ÷ 5 } = 880 3 ÷ 20 3 \min \left\lbrace\dfrac{880}{3}\div\dfrac{20}{3},\dfrac{160}{3}\div\dfrac{2}{3},340\div5 \right \rbrace=\dfrac{880}{3}\div\dfrac{20}{3} min{ 3880÷320,3160÷32,340÷5}=3880÷320, 所以 x 5 x_5 x5为离基变量。

3 3 3次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4 x 5 x_5 x5 x 6 x_6 x6 b b b
检验数 0 0 0 0 0 0 3 2 \dfrac{3}{2} 23 1 10 \dfrac{1}{10} 101 4 5 \dfrac{4}{5} 54 0 0 0 296 296 296
x 1 x_1 x1 1 1 1 0 0 0 1 2 \dfrac{1}{2} 21 3 20 \dfrac{3}{20} 203 − 1 20 -\dfrac{1}{20} 201 0 0 0 44 44 44
x 2 x_2 x2 0 0 0 1 1 1 1 2 \dfrac{1}{2} 21 − 1 10 -\dfrac{1}{10} 101 1 5 \dfrac{1}{5} 51 0 0 0 24 24 24
x 7 x_7 x7 0 0 0 0 0 0 − 1 -1 1 − 3 4 -\dfrac{3}{4} 43 − 7 4 -\dfrac{7}{4} 47 1 1 1 120 120 120

检验数全为非负数, 迭代结束, 得到标准问题的最优解为 x = ( 44 , 24 , 0 , 0 , 0 , 0 , 120 ) T \boldsymbol{x}=(44,24,0,0,0,0,120)^{\rm T} x=(44,24,0,0,0,0,120)T, 最优值为 − 296 -296 296
于是, 原问题的最优解为 x = ( 44 , 24 , 0 ) T \boldsymbol{x}=(44,24,0)^{\rm T} x=(44,24,0)T, 最优值为 296 296 296

4. 两阶段法和大M法

有些时候,我们无法直接得到初始基本可行解,因此需要先设法找到初始基本可行解。

4.1 两阶段法

对于标准形式的线性规划问题,求辅助问题 min ⁡ ∣ ∣ y ∣ ∣ 1 s . t . A x + y = b x ≥ 0 y ≥ 0 \begin{matrix} \min & ||\boldsymbol{y}||_1 \\ \rm s.t.& \boldsymbol{A}\boldsymbol{x}+\boldsymbol{y}=\boldsymbol{b}\\ & \boldsymbol{x}\ge\bold{0}\\ & \boldsymbol{y}\ge\bold{0} \end{matrix} mins.t.∣∣y1Ax+y=bx0y0的最优解和最优值。若辅助问题的最优值不是 0 0 0, 则原问题无最优解, 否则, 求得的最优解即为原问题的一个基本可行解。

【例2】求解以下线性规划问题
min ⁡ 2 x 1 + x 2 s . t . x 1 + x 2 + x 3 = 8 x 2 − x 3 = − 3 x i ≥ 0 , i = 1 , 2 , 3 \begin{matrix} \min & 2x_1+x_2 \\ \rm s.t.& x_1+x_2+x_3=8 \\ & x_2-x_3=-3 \\ & x_i\ge0,i=1,2,3 \end{matrix} mins.t.2x1+x2x1+x2+x3=8x2x3=3xi0,i=1,2,3
【解】首先把问题转换为标准形式
min ⁡ 2 x 1 + x 2 s . t . x 1 + x 2 + x 3 = 8 − x 2 + x 3 = 3 x i ≥ 0 , i = 1 , 2 , 3 \begin{matrix} \min & 2x_1+x_2 \\ \rm s.t.& x_1+x_2+x_3=8 \\ & -x_2+x_3=3 \\ & x_i\ge0,i=1,2,3 \end{matrix} mins.t.2x1+x2x1+x2+x3=8x2+x3=3xi0,i=1,2,3
一阶段问题
min ⁡ y 1 + y 2 s . t . x 1 + x 2 + x 3 + y 1 = 8 − x 2 + x 3 + y 2 = 3 x i ≥ 0 , i = 1 , 2 , 3 y 1 , y 2 ≥ 0 \begin{matrix} \min & y_1+y_2 \\ \rm s.t.& x_1+x_2+x_3+y_1=8 \\ & -x_2+x_3+y_2=3 \\ & x_i\ge0,i=1,2,3 \\ & y_1,y_2\ge0 \end{matrix} mins.t.y1+y2x1+x2+x3+y1=8x2+x3+y2=3xi0,i=1,2,3y1,y20初始的单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 y 1 y_1 y1 y 2 y_2 y2 b b b
c c c 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0
y 1 y_1 y1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 8 8 8
y 2 y_2 y2 0 0 0 − 1 -1 1 1 1 1 0 0 0 1 1 1 3 3 3

1 1 1次迭代, 通过初等行变换把第一行变为检验数行, 得到

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 y 1 y_1 y1 y 2 y_2 y2 b b b
检验数 − 1 -1 1 0 0 0 − 2 -2 2 0 0 0 0 0 0 − 11 -11 11
y 1 y_1 y1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 8 8 8
y 2 y_2 y2 0 0 0 − 1 -1 1 1 \color{Red}1 1 0 0 0 1 1 1 3 3 3

检验数中, − 2 -2 2最小, 所以 x 3 x_3 x3为进基变量。由于 min ⁡ { 8 ÷ 1 , 3 ÷ 1 } = 3 ÷ 1 \min \left\lbrace8\div1,3\div1\right \rbrace=3\div1 min{ 8÷1,3÷1}=3÷1, 所以 y 2 y_2 y2为离基变量。

2 2 2次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 y 1 y_1 y1 y 2 y_2 y2 b b b
检验数 − 1 -1 1 − 2 -2 2 0 0 0 0 0 0 2 2 2 − 5 -5 5
y 1 y_1 y1 1 1 1 2 \color{Red}2 2 0 0 0 1 1 1 − 1 -1 1 5 5 5
x 3 x_3 x3 0 0 0 − 1 -1 1 1 1 1 0 0 0 1 1 1 3 3 3

检验数中, − 2 -2 2最小, 所以 x 2 x_2 x2为进基变量。 只有 y 1 y_1 y1对应的系数是正的, 所以 y 1 y_1 y1为进基变量。

3 3 3次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 y 1 y_1 y1 y 2 y_2 y2 b b b
检验数 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0
x 2 x_2 x2 1 2 \dfrac{1}{2} 21 1 1 1 0 0 0 1 2 \dfrac{1}{2} 21 − 1 2 -\dfrac{1}{2} 21 5 2 \dfrac{5}{2} 25
x 3 x_3 x3 1 2 \dfrac{1}{2} 21 0 0 0 1 1 1 1 2 \dfrac{1}{2} 21 1 2 \dfrac{1}{2} 21 11 2 \dfrac{11}{2} 211

检验数全为非负数, 迭代结束, 得到辅助问题的最优值为 0 0 0, 所以 x = ( 0 , 5 2 , 11 2 ) T \boldsymbol{x}=\left(0,\dfrac{5}{2},\dfrac{11}{2}\right)^{\rm T} x=(0,25,211)T是标准形式问题的一个基本可行解。

二阶段问题
y 1 = y 2 = 0 y_1=y_2=0 y1=y2=0, 得到

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 b b b
c c c 2 2 2 1 1 1 0 0 0 0 0 0
x 2 x_2 x2 1 2 \dfrac{1}{2} 21 1 1 1 0 0 0 5 2 \dfrac{5}{2} 25
x 3 x_3 x3 1 2 \dfrac{1}{2} 21 0 0 0 1 1 1 11 2 \dfrac{11}{2} 211

通过初等行变换把第一行变为检验数行, 得到

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 b b b
检验数 3 2 \dfrac{3}{2} 23 0 0 0 0 0 0 − 5 2 -\dfrac{5}{2} 25
x 2 x_2 x2 1 2 \dfrac{1}{2} 21 1 1 1 0 0 0 5 2 \dfrac{5}{2} 25
x 3 x_3 x3 1 2 \dfrac{1}{2} 21 0 0 0 1 1 1 11 2 \dfrac{11}{2} 211

检验数全为非负数, 迭代结束, 所以标准问题的最优解为 x = ( 0 , 5 2 , 11 2 ) T \boldsymbol{x}=\left(0,\dfrac{5}{2},\dfrac{11}{2}\right)^{\rm T} x=(0,25,211)T, 最优值为 5 2 \dfrac{5}{2} 25, 此即为原问题的最优解与最优值。

4.2 大M法

对于标准形式的线性规划问题, 设 M M M是充分大的正数, 求辅助问题
min ⁡ c T x + M ∣ ∣ y ∣ ∣ 1 s . t . A x + y = b x ≥ 0 y ≥ 0 \begin{matrix} \min & \boldsymbol{c}^{\rm T}\boldsymbol{x}+M||\boldsymbol{y}||_1 \\ \rm s.t.& \boldsymbol{A}\boldsymbol{x}+\boldsymbol{y}=\boldsymbol{b}\\ & \boldsymbol{x}\ge\bold{0}\\ & \boldsymbol{y}\ge\bold{0} \end{matrix} mins.t.cTx+M∣∣y1Ax+y=bx0y0的最优解 ( x ∗ T , y ∗ T ) T \left(\boldsymbol{x}^{*\rm T},\boldsymbol{y}^{*\rm T}\right)^{\rm T} (xT,yT)T。若 y ∗ = 0 \boldsymbol{y}^*=\bold{0} y=0, 则 x ∗ \boldsymbol{x}^* x为原问题的最优解, 否则, 原问题无最优解。

【例3】求解以下线性规划问题
min ⁡ 2 x 1 + x 2 s . t . x 1 + x 2 + x 3 = 8 x 2 − x 3 = − 3 x i ≥ 0 , i = 1 , 2 , 3 \begin{matrix} \min & 2x_1+x_2 \\ \rm s.t.& x_1+x_2+x_3=8 \\ & x_2-x_3=-3 \\ & x_i\ge0,i=1,2,3 \end{matrix} mins.t.2x1+x2x1+x2+x3=8x2x3=3xi0,i=1,2,3
【解】构造辅助问题
min ⁡ 2 x 1 + x 2 + M y 1 + M y 2 s . t . x 1 + x 2 + x 3 + y 1 = 8 − x 2 + x 3 + y 2 = 3 x i ≥ 0 , i = 1 , 2 , 3 \begin{matrix} \min & 2x_1+x_2+My_1+My_2 \\ \rm s.t.& x_1+x_2+x_3+y_1=8 \\ & -x_2+x_3+y_2=3 \\ & x_i\ge0,i=1,2,3 \end{matrix} mins.t.2x1+x2+My1+My2x1+x2+x3+y1=8x2+x3+y2=3xi0,i=1,2,3
初始的单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 y 1 y_1 y1 y 2 y_2 y2 b b b
c c c 2 2 2 1 1 1 0 0 0 M M M M M M 0 0 0
y 1 y_1 y1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 8 8 8
y 2 y_2 y2 0 0 0 − 1 -1 1 1 1 1 0 0 0 1 1 1 3 3 3

1 1 1次迭代, 通过初等行变换把第一行变为检验数行, 得到

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 y 1 y_1 y1 y 2 y_2 y2 b b b
检验数 2 − M 2-M 2M 1 1 1 − 2 M -2M 2M 0 0 0 0 0 0 − 11 M -11M 11M
y 1 y_1 y1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 8 8 8
y 2 y_2 y2 0 0 0 − 1 -1 1 1 \color{Red}1 1 0 0 0 1 1 1 3 3 3

检验数中, − 2 M -2M 2M最小, 所以 x 3 x_3 x3为进基变量。由于 min ⁡ { 8 ÷ 1 , 3 ÷ 1 } = 3 ÷ 1 \min \left\lbrace8\div1,3\div1\right \rbrace=3\div1 min{ 8÷1,3÷1}=3÷1, 所以 y 2 y_2 y2为离基变量。

2 2 2次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 y 1 y_1 y1 y 2 y_2 y2 b b b
检验数 2 − M 2-M 2M 1 − 2 M 1-2M 12M 0 0 0 0 0 0 2 M 2M 2M − 5 M -5M 5M
y 1 y_1 y1 1 1 1 2 \color{Red}2 2 0 0 0 1 1 1 − 1 -1 1 5 5 5
x 3 x_3 x3 0 0 0 − 1 -1 1 1 1 1 0 0 0 1 1 1 3 3 3

检验数中, 1 − 2 M 1-2M 12M最小, 所以 x 2 x_2 x2为进基变量。 只有 y 1 y_1 y1对应的系数是正的, 所以 y 1 y_1 y1为进基变量。

3 3 3次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 y 1 y_1 y1 y 2 y_2 y2 b b b
检验数 3 2 \dfrac{3}{2} 23 0 0 0 0 0 0 M − 1 2 M-\dfrac{1}{2} M21 M + 1 2 M+\dfrac{1}{2} M+21 − 5 2 -\dfrac{5}{2} 25
x 2 x_2 x2 1 2 \dfrac{1}{2} 21 1 1 1 0 0 0 1 2 \dfrac{1}{2} 21 − 1 2 -\dfrac{1}{2} 21 5 2 \dfrac{5}{2} 25
x 3 x_3 x3 1 2 \dfrac{1}{2} 21 0 0 0 1 1 1 1 2 \dfrac{1}{2} 21 1 2 \dfrac{1}{2} 21 11 2 \dfrac{11}{2} 211

检验数全为非负数, 迭代结束, 得到辅助问题的最优解为 ( 0 , 5 2 , 11 2 , 0 , 0 ) T \left(0,\dfrac{5}{2},\dfrac{11}{2},0,0\right)^{\rm T} (0,25,211,0,0)T, 所以原问题的最优解为 x = ( 0 , 5 2 , 11 2 ) T \boldsymbol{x}=\left(0,\dfrac{5}{2},\dfrac{11}{2}\right)^{\rm T} x=(0,25,211)T, 最优值为 5 2 \dfrac{5}{2} 25

5. 线性规划的对偶问题

5.1 对偶问题

任何一个线性规划问题都有与之对应的对偶问题, 且线性规划问题的对偶问题的对偶问题是原问题。

标准形式的线性规划问题
min ⁡ c T x s . t . A x = b x ≥ 0 \begin{matrix} \min & \boldsymbol{c}^{\rm T}\boldsymbol{x} \\ \rm s.t.& \boldsymbol{A}\boldsymbol{x}=\boldsymbol{b}\\ & \boldsymbol{x}\ge\bold{0} \end{matrix} mins.t.cTxAx=bx0的对偶问题为
max ⁡ b T x s . t . A T x ≤ c \begin{matrix} \max & \boldsymbol{b}^{\rm T}\boldsymbol{x} \\ \rm s.t.& \boldsymbol{A}^{\rm T}\boldsymbol{x}\le\boldsymbol{c} \end{matrix} maxs.t.bTxATxc
线性规划问题
min ⁡ c T x s . t . A x ≥ b x ≥ 0 \begin{matrix} \min & \boldsymbol{c}^{\rm T}\boldsymbol{x} \\ \rm s.t.& \boldsymbol{A}\boldsymbol{x}\ge\boldsymbol{b}\\ & \boldsymbol{x}\ge\bold{0} \end{matrix} mins.t.cTxAxbx0的对偶问题为
max ⁡ b T x s . t . A T x ≤ c x ≥ 0 \begin{matrix} \max & \boldsymbol{b}^{\rm T}\boldsymbol{x} \\ \rm s.t.& \boldsymbol{A}^{\rm T}\boldsymbol{x}\le\boldsymbol{c} \\ & \boldsymbol{x}\ge\bold{0} \end{matrix} maxs.t.bTxATxcx0
一般地, 可以按照以下步骤写出任何一个线性规划问题的对偶问题:

  1. 把约束中的 ≤ \le 通过两边同乘 − 1 -1 1的方式变为 ≥ \ge
  2. 优化目标 min ⁡ ↔ max ⁡ \min\leftrightarrow\max minmax
  3. 系数向量与右端向量 b ↔ c \boldsymbol{b}\leftrightarrow\boldsymbol{c} bc
  4. 系数矩阵 A ↔ A T \boldsymbol{A}\leftrightarrow\boldsymbol{A}^{\rm T} AAT
  5. 若决策变量有非负约束, 则对偶问题中对应的约束为不等式 ≤ \le 约束
  6. 若决策变量无非负约束, 则对偶问题中对应的约束为等式约束
  7. 若原问题为等式约束, 则对偶问题中对应的决策变量无非负约束

【例4】写出以下线性规划问题的对偶问题
min ⁡ − x 1 + 4 x 2 s . t . x 1 + 3 x 2 ≤ 2 − x 1 + 2 x 2 ≥ 4 x 2 ≥ 0 \begin{matrix} \min & -x_1+4x_2 \\ \rm s.t.& x_1+3x_2\le2 \\ & -x_1+2x_2\ge4 \\ & x_2\ge0 \end{matrix} mins.t.x1+4x2x1+3x22x1+2x24x20
【解】先把原问题等价变换为
min ⁡ − x 1 + 4 x 2 s . t . − x 1 − 3 x 2 ≥ − 2 − x 1 + 2 x 2 ≥ 4 x 2 ≥ 0 \begin{matrix} \min & -x_1+4x_2 \\ \rm s.t.& -x_1-3x_2\ge-2 \\ & -x_1+2x_2\ge4 \\ & x_2\ge0 \end{matrix} mins.t.x1+4x2x13x22x1+2x24x20于是, 对偶问题为
max ⁡ − 2 x 1 + 4 x 2 s . t . − x 1 − x 2 = − 1 − 3 x 1 + 2 x 2 ≤ 4 x 1 , x 2 ≥ 0 \begin{matrix} \max & -2x_1+4x_2 \\ \rm s.t.& -x_1-x_2=-1 \\ & -3x_1+2x_2\le4 \\ & x_1,x_2\ge0 \end{matrix} maxs.t.2x1+4x2x1x2=13x1+2x24x1,x20

5.2 对偶定理

弱对偶定理:设互为对偶的两个线性规划的目标分别是 min ⁡ f ( x ) \min f(\boldsymbol{x}) minf(x) max ⁡ g ( y ) \max g(\boldsymbol{y}) maxg(y), 且 x \boldsymbol{x} x y \boldsymbol{y} y分别是它们的可行解, 则有 f ( x ) ≥ g ( y ) f(\boldsymbol{x})\ge g(\boldsymbol{y}) f(x)g(y)
强对偶定理:互为对偶问题的两个线性规划问题, 若其中一个问题存在最优值, 则另一个问题也存在最优值, 且两个问题的最优值相等。

5.3 对偶单纯形方法

对偶单纯形方法与单纯形方法计算步骤类似, 不同之处在于:

  1. 结束条件变为右端向量全部非负;
  2. 右端向量最小的基变量为离基变量;
  3. 检验数与对应系数的相反数的商为正数且最小的变量为进基变量。

【例5】用对偶单纯形方法求解以下线性规划问题
min ⁡ 20 x 1 + 16 x 2 + 25 x 3 s . t . 20 x 1 + 60 x 2 + 30 x 3 ≥ 1 200 x 1 + 100 x 2 + 175 x 3 ≥ 2 250 x 1 + 250 x 2 + 200 x 3 ≥ 3 x i ≥ 0 , i = 1 , 2 , 3 \begin{matrix} \min & 20x_1+16x_2+25x_3 \\ \rm s.t.& 20x_1+60x_2+30x_3\ge1 \\ & 200x_1+100x_2+175x_3\ge2 \\ & 250x_1+250x_2+200x_3\ge3\\ & x_i\ge0, i=1,2,3 \end{matrix} mins.t.20x1+16x2+25x320x1+60x2+30x31200x1+100x2+175x32250x1+250x2+200x33xi0,i=1,2,3
【解】首先把问题转换为标准形式
min ⁡ 20 x 1 + 16 x 2 + 25 x 3 s . t . 20 x 1 + 60 x 2 + 30 x 3 − x 4 = 1 200 x 1 + 100 x 2 + 175 x 3 − x 5 = 2 250 x 1 + 250 x 2 + 200 x 3 − x 6 = 3 x i ≥ 0 , i = 1 , 2 , ⋯   , 6 \begin{matrix} \min & 20x_1+16x_2+25x_3 \\ \rm s.t.& 20x_1+60x_2+30x_3-x_4=1 \\ & 200x_1+100x_2+175x_3-x_5=2 \\ & 250x_1+250x_2+200x_3-x_6=3\\ & x_i\ge0, i=1,2,\cdots,6 \end{matrix} mins.t.20x1+16x2+25x320x1+60x2+30x3x4=1200x1+100x2+175x3x5=2250x1+250x2+200x3x6=3xi0,i=1,2,,6
1 1 1次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4 x 5 x_5 x5 x 6 x_6 x6 b b b
检验数 20 20 20 16 16 16 25 25 25 0 0 0 0 0 0 0 0 0 0 0 0
x 4 x_4 x4 − 20 -20 20 − 60 -60 60 − 30 -30 30 1 1 1 0 0 0 0 0 0 − 1 -1 1
x 5 x_5 x5 − 200 -200 200 − 100 -100 100 − 175 -175 175 0 0 0 1 1 1 0 0 0 − 2 -2 2
x 6 x_6 x6 − 250 -250 250 − 250 \color{Red}-250 250 − 200 -200 200 0 0 0 0 0 0 1 1 1 − 3 -3 3

右端向量中, − 3 -3 3最小, 所以 x 6 x_6 x6为离基变量。由于 min ⁡ { 20 ÷ 250 , 16 ÷ 250 , 25 ÷ 200 } = 16 ÷ 250 \min \left\lbrace20\div250,16\div250,25\div200 \right \rbrace=16\div250 min{ 20÷250,16÷250,25÷200}=16÷250, 所以 x 2 x_2 x2为进基变量。

2 2 2次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4 x 5 x_5 x5 x 6 x_6 x6 b b b
检验数 4 4 4 0 0 0 61 5 \dfrac{61}{5} 561 0 0 0 0 0 0 8 125 \dfrac{8}{125} 1258 − 24 125 -\dfrac{24}{125} 12524
x 4 x_4 x4 40 40 40 0 0 0 18 18 18 1 1 1 0 0 0 − 6 25 -\dfrac{6}{25} 256 − 7 25 -\dfrac{7}{25} 257
x 5 x_5 x5 − 100 \color{Red}-100 100 0 0 0 − 95 -95 95 0 0 0 1 1 1 − 2 5 -\dfrac{2}{5} 52 − 4 5 -\dfrac{4}{5} 54
x 2 x_2 x2 1 1 1 1 1 1 4 5 \dfrac{4}{5} 54 0 0 0 0 0 0 − 1 250 -\dfrac{1}{250} 2501 3 250 \dfrac{3}{250} 2503

右端向量中, − 4 5 -\dfrac{4}{5} 54最小, 所以 x 5 x_5 x5为离基变量。由于 min ⁡ { 4 ÷ 100 , 61 5 ÷ 95 , 8 125 ÷ 2 5 } = 4 ÷ 100 \min \left\lbrace4\div100,\dfrac{61}{5}\div95,\dfrac{8}{125}\div\dfrac{2}{5} \right \rbrace=4\div100 min{ 4÷100,561÷95,1258÷52}=4÷100, 所以 x 1 x_1 x1为进基变量。

3 3 3次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4 x 5 x_5 x5 x 6 x_6 x6 b b b
检验数 0 0 0 0 0 0 42 5 \dfrac{42}{5} 542 0 0 0 1 25 \dfrac{1}{25} 251 6 125 \dfrac{6}{125} 1256 − 28 125 -\dfrac{28}{125} 12528
x 4 x_4 x4 0 0 0 0 0 0 − 20 -20 20 1 1 1 2 5 \dfrac{2}{5} 52 − 2 5 \color{Red}-\dfrac{2}{5} 52 − 3 5 -\dfrac{3}{5} 53
x 1 x_1 x1 1 1 1 0 0 0 19 20 \dfrac{19}{20} 2019 0 0 0 − 1 100 -\dfrac{1}{100} 1001 1 250 \dfrac{1}{250} 2501 1 125 \dfrac{1}{125} 1251
x 2 x_2 x2 0 0 0 1 1 1 − 3 20 -\dfrac{3}{20} 203 0 0 0 1 100 \dfrac{1}{100} 1001 − 1 125 -\dfrac{1}{125} 1251 1 250 \dfrac{1}{250} 2501

右端向量中, − 3 5 -\dfrac{3}{5} 53最小, 所以 x 4 x_4 x4为离基变量。由于 min ⁡ { 42 5 ÷ 20 , 6 125 ÷ 2 5 } = 6 125 ÷ 2 5 \min \left\lbrace\dfrac{42}{5}\div20,\dfrac{6}{125}\div\dfrac{2}{5}\right \rbrace=\dfrac{6}{125}\div\dfrac{2}{5} min{ 542÷20,1256÷52}=1256÷52, 所以 x 6 x_6 x6为进基变量。

4 4 4次迭代, 单纯形表为

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4 x 5 x_5 x5 x 6 x_6 x6 b b b
检验数 0 0 0 0 0 0 6 6 6 3 25 \dfrac{3}{25} 253 11 125 \dfrac{11}{125} 12511 0 0 0 − 37 125 -\dfrac{37}{125} 12537
x 6 x_6 x6 0 0 0 0 0 0 50 50 50 − 5 2 -\dfrac{5}{2} 25 − 1 -1 1 1 1 1 3 2 \dfrac{3}{2} 23
x 1 x_1 x1 1 1 1 0 0 0 3 4 \dfrac{3}{4} 43 1 100 \dfrac{1}{100} 1001 − 3 500 -\dfrac{3}{500} 5003 0 0 0 1 500 \dfrac{1}{500} 5001
x 2 x_2 x2 0 0 0 1 1 1 1 4 \dfrac{1}{4} 41 − 1 50 -\dfrac{1}{50} 501 1 500 \dfrac{1}{500} 5001 0 0 0 2 125 \dfrac{2}{125} 1252

右端向量全为非负数, 迭代结束。标准问题的最优解为 x = ( 1 500 , 2 125 , 0 , 0 , 0 , 3 2 ) T \boldsymbol{x}=\left(\dfrac{1}{500},\dfrac{2}{125},0,0,0,\dfrac{3}{2}\right)^{\rm T} x=(5001,1252,0,0,0,23)T, 最优值为 37 125 \dfrac{37}{125} 12537
所以原问题的最优解为 x = ( 1 500 , 2 125 , 0 ) T \boldsymbol{x}=\left(\dfrac{1}{500},\dfrac{2}{125},0\right)^{\rm T} x=(5001,1252,0)T, 最优值为 37 125 \dfrac{37}{125} 12537

猜你喜欢

转载自blog.csdn.net/qq_56131580/article/details/129663200
今日推荐