对偶单纯形法

对偶单纯形法是利用对偶原理求解原线性规划问题的一种方法,而不是直接求对偶问题的方法。前面介绍的单纯形法相对而言称为原始单纯形法。


目录

算法原理:

算法步骤:

例题解析:


算法原理:

用单纯形法求解线性规则问题(LP),是由一个基本可行解迭代到下一个基本可行解,在迭代过程中始终保持解的可行性不变,检验数逐步变为全部为非正的过程,一旦所有检验数非正,则对应的基本可行解就是最优解。当所有检验数为非正时,由对偶理论可知 y^{0}=(c_{B}^{T}B^{-1})^{T} 正是对偶问题(DP)的可行解,因此将原问题(LP)对应于检验数全部非正的基本解称为对偶可行解。


算法步骤:

步骤1:确定初始单纯形表,给出一个初始对偶可行解 x_{0} ;

步骤2:如果 b_{i0}\geq 0,(i=1,...,m) 则 x_{0} 是最优解,停止;否则下一步;

步骤3:若 b_{r0}=min\left \{b_{i0}|b_{i0}< 0 ,i=1,...,m \right \} ,选取 x_{jr} 为离基变量;

步骤4:若 b_{rj}\geq 0 ,则无可行解,停止;否则,按 \frac{b_{0j}}{b_{rs}}=min\left \{ \frac{b_{0j}}{b_{rj}}|b_{rj}< 0 \right \}确定进基变量x_{s}

步骤5:以 b_{rs} 为旋转主元做旋转变换,迭代到新的对偶可行解,转步骤2。


例题解析:

例题:利用对偶单纯形法求解线性规则问题:

\left\{\begin{matrix} min f(x)=4x_{1}+12x_{2}+18x_{3}\\ s.t. x_{1}+3x_{3}\geq 3 \\ 2x_{2}+2x_{3}\geq 5\\x_{1},x_{2},x_{3}\geq 0 \end{matrix}\right.

解:先标准化:

\left\{\begin{matrix} min f(x)=4x_{1}+12x_{2}+18x_{3}\\ s.t. x_{1}+3x_{3}-x_{4}= 3 \\ 2x_{2}+2x_{3}-x_{5}= 5\\x_{1},x_{2},x_{3},x_{4},x_{5}\geq 0 \end{matrix}\right.

这里为了将 B=(p_{4},p_{5}) 作为初始基,对约束条件两边同乘 -1 :

\left\{\begin{matrix} -x_{1}-3x_{3}+x_{4}=-3\\-2x_{2}-2x_{3}+x_{5}=-5 \end{matrix}\right.

c_{B}^{T}BA-C^{T}=(-4,-12,-18,0,0)^{T}

对应的初始单纯形表如下:

x_{1}x_{2}x_{3}x_{4}x_{5}
f0-4-12-1800
x_{4}-3-10-310
x_{5}-50-2-201

当前解 x=(0,0,0,-3,-5)^{T} 为非可行解,但是它是对偶可行解

\because min\left \{ -3,-5 \right \}=-5r=2x_{j2}=x_{5} 为离基变量

\frac{b_{0s}}{b_{rs}}=min\left \{ \frac{b_{0j}}{b_{rj}}|b_{rj}< 0 \right \}=min\left \{ \frac{-12}{-2},\frac{-18}{-2} \right \}=6=\frac{b_{02}}{b_{22}}s=2

\therefore 进基变量 x_{s}=x_{2}b_{22}=-2 为主元

经旋转变换后,有:

x_{1}x_{2}x_{3}x_{4}x_{5}
f30-40-60-6
x_{4}-3-10-310
x_{2}5/20110-1/2

此时 b_{i0}\geq 0,(i=1,...,m) 不成立,仍为不可行解。

\because b_{r0}=min\left \{b_{i0}|b_{i0}< 0 ,i=1,...,m \right \}= min\left \{ -3\right \}=-3x_{4} 为离基变量,r=1

\frac{b_{0s}}{b_{rs}}=min\left \{ \frac{b_{0j}}{b_{rj}}|b_{rj}< 0 \right \}=min\left \{ \frac{-4}{-1},\frac{-6}{-3} \right \}=2=\frac{b_{03}}{b_{r3}}s=3

\therefore 进基变量 x_{s}=x_{3}b_{13}=-3 为主元

经旋转变换后,有:

x_{1}x_{2}x_{3}x_{4}x_{5}
f36-200-2-6
x_{3}11/301-1/30
x_{2}3/2-1/3101/3-1/2

此时 b_{i0}\geq 0,(i=1,...,m) 成立,是可行解,算法终止。

最优解:\bar{x}=(0,\frac{3}{2},1)^{T},最优值 f(\bar{x})=36

(行文中若有纰漏,希望大家指正)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

背对人潮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值