每一个线性规划问题都存在一个与其对偶的问题,两者的解一致。因此当原问题不好解就会转为求其对偶问题。
这种转换可以单纯依靠符号逻辑来做,建议参考
https://tv.sohu.com/v/cGwvNjU1NTg1NC82NTQ0NDY1MS5zaHRtbA==.html
https://wenku.baidu.com/view/fc5ac232a88271fe910ef12d2af90242a895abfa.html
https://blog.csdn.net/nciaebupt/article/details/8252056
简单来说,对于其中一种形式,有原问题如下:
min x A T X \min_{x} \quad A^TX xminATX s . t . B X < = C \qquad \qquad s.t. \ BX<=C s.t. BX<=C    X > = 0 \qquad \qquad \,\, X>=0 X>=0
其对偶问题为:
max y C T Y \max_{y} \quad C^TY ymaxCTY s . t . B T Y > = C \qquad \qquad s.t. \ B^TY>=C s.t. BTY>=C    Y > = 0 \qquad \qquad \,\, Y>=0 Y>=0
来讲讲具体转换方法。在下面的例子中我们需要将下列问题转为其对偶问题:
m a x W = 10 y 1 + 8 y 2 + 6 y 3 max \ \ \ \ \ W = 10y_1+\ \ \ 8y_2+6y_3 max W=10y1+ 8y2+6y3 ( 目 标 函 数 ) \qquad \qquad \ \ \ \ \ \ \ (目标函数) (目标函数)
s . t . { 1 y 1 + 2 y 2 + 0 y 3 > = 3 1 y 1 + 0 y 2 + 1 y 3 < = 2 − 3 y 1 + 2 y 2 + 1 y 3 < = − 4 1 y 1 + − 1 y 2 + 1 y 3 = 1 \qquad \quad s.t.\begin{cases} \ \ \ 1y_1 +\ \ \ 2y_2+0y_3>=\ \ \ 3 \\ \ \ \ 1y_1+\ \ \ 0y_2+1y_3<=\ \ \ 2\\ -3y_1+\ \ \ 2y_2+1y_3 <=-4\\ \ \ \ 1y_1+-1y_2+1y_3 \ \ \ = \ \ \ 1 \end{cases} s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧ 1y1+ 2y2+0y3>= 3 1y1+ 0y2+1y3<= 2−3y1+ 2y2+1y3<=−4 1y1+−1y2+1y3 = 1 ( 约 束 方 程 ) \qquad (约束方程) (约束方程)
s . t . { y 1 ≥ 0 , y 2 ≤ 0 , y 3 无 约 束 \qquad \quad s.t.\begin{cases} \ \ \ y_1\geq 0, y_2\leq 0, y_3无约束 \\ \end{cases} s.t.{ y1≥0,y2≤0,y3无约束 ( 决 策 变 量 ) \qquad \ \ \ (决策变量) (决策变量)
假设已经化为了标准形式,原问题和对偶问题都可以分为三个部分,分别是目标函数,等式约束,决策变量(瞎起的),在互相转换的过程中两者步骤大致相似,只有在处理大于小于号的时候有不一致。
我们按照目标函数–>约束变量–>决策变量的顺序一个个来转换。
第一步
,这是max问题转为min问题,那么就要注意,在第四步中,max问题的约束方程转为min问题的决策变量时,大小于反号。我称之为‘大约’
第二步
,求min问题的目标函数。max问题有4个约束等式,那么首先生成min问题的变量x1~x4。然后与约束等式最右侧的常数项对应相乘再相加。
s . t . { 1 y 1 + 2 y 2 + 0 y 3 > = 3 x 1 1 y 1 + 0 y 2 + 1 y 3 < = 2 x 2 − 3 y 1 + 2 y 2 + 1 y 3 < = − 4 x 3 1 y 1 + − 1 y 2 + 1 y 3 = 1 x 4 \qquad \quad s.t.\begin{cases} \ \ \ 1y_1 +\ \ \ 2y_2+0y_3>=\ \ \ 3 \ \ \ \ \ \ \color{red}{x_1 }\\ \ \ \ 1y_1+\ \ \ 0y_2+1y_3<=\ \ \ 2 \ \ \ \ \ \ \color{red}{x_2 }\\ -3y_1+\ \ \ 2y_2+1y_3 <=-4 \ \ \ \ \ \ \color{red}{x_3 }\\ \ \ \ 1y_1+-1y_2+1y_3 \ \ \ = \ \ \ 1 \ \ \ \ \ \ \color{red}{x_4 } \\ \end{cases} s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧ 1y1+ 2y2+0y3>= 3 x1 1y1+ 0y2+1y3<= 2 x2−3y1+ 2y2+1y3<=−4 x3 1y1+−1y2+1y3 = 1 x4 ( 约 束 方 程 ) \qquad (约束方程) (约束方程)
得到目标函数:
m i n Z = 3 x 1 + 2 x 2 − 4 x 3 + x 4 min \ \ \ Z= 3x_1+2x_2-4x_3+x4 min Z=3x1+2x2−4x3+x4
第三步
,求min问题的约束方程。变量还是x1~x4,但是参与构成其中一个新约束方程的其余变量有6个,分别是[10,1,1,-3,1, ≥ \geq ≥ ] T ^T T,包括最下面的大于等于号。中间四个变量作为原非齐次方程组的一组系数与x1~x4对应相乘再相加,上下两个变量[10, ≥ \geq ≥]构成的是常数项与关系。这里大于小于号不变,无约束则为等于。
m a x W = 10 y 1 + 8 y 2 + 6 y 3 max \ \ \ \ \ W ={\color{red}{10}}y_1+\ \ \ 8y_2+6y_3 max W=10y1+ 8y2+6y3 ( 目 标 函 数 ) \qquad \qquad \ \ \ \ \ \ \ \ \ \quad \quad (目标函数) (目标函数)
s . t . { 1 y 1 + 2 y 2 + 0 y 3 > = 3 x 1 1 y 1 + 0 y 2 + 1 y 3 < = 2 x 2 − 3 y 1 + 2 y 2 + 1 y 3 < = − 4 x 3 1 y 1 + − 1 y 2 + 1 y 3 = 1 x 4 \qquad \quad s.t.\begin{cases} \ \ \ {\color{red}{1}}y_1 +\ \ \ 2y_2+0y_3>=\ \ \ 3 \ \ \ \ \ \ \color{red}{x_1 } \\ \ \ \ {\color{red}{1}}y_1+\ \ \ 0y_2+1y_3<=\ \ \ 2 \ \ \ \ \ \ \color{red}{x_2 }\\ {\color{red}{-3}}y_1+\ \ \ 2y_2+1y_3 <=-4 \ \ \ \ \ \ \color{red}{x_3 }\\ \ \ \ {\color{red}{1}}y_1+-1y_2+1y_3 \ \ \ = \ \ \ 1 \ \ \ \ \ \ \color{red}{x_4 }\\ \end{cases} s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧ 1y1+ 2y2+0y3>= 3 x1 1y1+ 0y2+1y3<= 2 x2−3y1+ 2y2+1y3<=−4 x3 1y1+−1y2+1y3 = 1 x4 ( 约 束 方 程 ) \qquad (约束方程) (约束方程)
s . t . { y 1 ≥ 0 , y 2 ≤ 0 , y 3 无 约 束 \qquad \quad s.t.\begin{cases} \ \ \ y_1{\color{red}{\geq}} 0, y_2\leq 0, y_3无约束 \\ \end{cases} s.t.{ y1≥0,y2≤0,y3无约束 ( 决 策 变 量 ) \qquad \qquad \quad \ \ \ (决策变量) (决策变量)
本次变换得到min问题的一个约束方程: x 1 + x 2 − 3 x 3 + x 4 ≥ 10 x_1+x_2-3x_3+x_4 \geq 10 x1+x2−3x3+x4≥10
依次做变换进而可得
s . t . { 1 x 1 + 1 x 2 − 3 x 3 + 1 x 4 ≥ 10 2 x 1 + 0 x 2 + 2 x 3 − 1 x 4 ≤ 8 0 x 1 + 1 x 2 + 1 x 3 + 1 x 4 = 6 \qquad \quad s.t.\begin{cases} \ \ \ 1x_1+1x_2-3x_3+1x_4 \geq 10 \\ \ \ \ 2x_1+0x_2+2x_3-1x_4 \leq 8\\ \ \ \ 0x_1+1x_2+1x_3+1x_4 =6\\ \end{cases} s.t.⎩⎪⎨⎪⎧ 1x1+1x2−3x3+1x4≥10 2x1+0x2+2x3−1x4≤8 0x1+1x2+1x3+1x4=6 ( 约 束 方 程 ) \qquad (约束方程) (约束方程)
第四步
,求min问题的决策变量。在第一步中已经说过了,这一步等式关系反号。和哪个等式呢?
s . t . { 1 y 1 + 2 y 2 + 0 y 3 ≥ 3 x 1 1 y 1 + 0 y 2 + 1 y 3 ≤ 2 x 2 − 3 y 1 + 2 y 2 + 1 y 3 ≤ − 4 x 3 1 y 1 + − 1 y 2 + 1 y 3 = 1 x 4 \qquad \quad s.t.\begin{cases} \ \ \ 1y_1 +\ \ \ 2y_2+0y_3 \ \ {\color{red}{\geq}}\ \ \ 3 \ \ \ \ \ \ \color{red}{x_1 }\\ \ \ \ 1y_1+\ \ \ 0y_2+1y_3\ \ {\color{red}{\leq}} \ \ \ 2 \ \ \ \ \ \ \color{red}{x_2 }\\ -3y_1+\ \ \ 2y_2+1y_3 \ \ {\color{red}{\leq}} -4 \ \ \ \ \color{red}{x_3 }\\ \ \ \ 1y_1+-1y_2+1y_3 \ \ {\color{red}{=}} \ \ \ 1 \ \ \ \ \ \ \color{red}{x_4 } \\ \end{cases} s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧ 1y1+ 2y2+0y3 ≥ 3 x1 1y1+ 0y2+1y3 ≤ 2 x2−3y1+ 2y2+1y3 ≤−4 x3 1y1+−1y2+1y3 = 1 x4 ( 约 束 方 程 ) \qquad (约束方程) (约束方程)
就酱:
s . t . { x 1 ≤ 0 x 2 ≥ 0 x 3 ≥ 0 x 4 无 约 束 \qquad \quad s.t.\begin{cases} x_1\leq0 \\ x_2\geq0\\ x_3\geq0\\ x_4 无约束 \end{cases} s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧x1≤0x2≥0x3≥0x4无约束 ( 决 策 变 量 ) \qquad (决策变量) (决策变量)
综合一下:
m i n Z = 3 x 1 + 2 x 2 − 4 x 3 + x 4 min \ \ \ Z= 3x_1+2x_2-4x_3+x4 min Z=3x1+2x2−4x3+x4
s . t . { 1 x 1 + 1 x 2 − 3 x 3 + 1 x 4 ≥ 10 2 x 1 + 0 x 2 + 2 x 3 − 1 x 4 ≤ 8 0 x 1 + 1 x 2 + 1 x 3 + 1 x 4 = 6 \qquad \quad s.t.\begin{cases} \ \ \ 1x_1+1x_2-3x_3+1x_4 \geq 10 \\ \ \ \ 2x_1+0x_2+2x_3-1x_4 \leq 8\\ \ \ \ 0x_1+1x_2+1x_3+1x_4 =6\\ \end{cases} s.t.⎩⎪⎨⎪⎧ 1x1+1x2−3x3+1x4≥10 2x1+0x2+2x3−1x4≤8 0x1+1x2+1x3+1x4=6 ( 约 束 方 程 ) \qquad (约束方程) (约束方程)
s . t . { x 1 ≤ 0 x 2 ≥ 0 x 3 ≥ 0 x 4 无 约 束 \qquad \quad s.t.\begin{cases} x_1\leq0 \\ x_2\geq0\\ x_3\geq0\\ x_4 无约束 \end{cases} s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧x1≤0x2≥0x3≥0x4无约束 ( 决 策 变 量 ) \qquad (决策变量) (决策变量)