【运筹】0319_单纯形法&对偶理论

材料: Introduction to Operation Research 清华大学出版社

单纯形法的实质(几何)

在这里插入图片描述

如图的问题有六个角点可行解(CPF corner-point feasible solution),也就是可行域的六个顶点。 对于含有n个决策变量的LP问题而言,当两个CPF解位于n-1条相同的约束边界上是,他们是相邻的(这里n=2)
最优性检验:对于一个CPF解,如果没有比他更好的相邻CPF解,那么它就是最优解
求解步骤:从原点开始Z=0, 两个相邻解都优于它 -> 移动至较优的CPF解(0,6) ,有相邻解优于它 -> 移动至较优的CPF(2,6) -> 通过最优性检验,结束。

构建单纯形法(代数)

  1. 通过松弛变量(slack variables)把不等式约束化为等式约束
    在这里插入图片描述

  2. 基本解:是一个扩展后的角点解,即加入松弛变量取值后形成的解。解(3,2)的扩展解是 (3,2,1,8,5)

  3. 自由度:变量个数 - 方程个数 = 5 - 3 = 2, 表示可任选2个变量来赋予任意数值,可根据此求解这3个方程得出其余3个变量的值。单纯形法把任意值设为0, 3个方程对其他3个变量的联力解就是基本解。
    如(0,6,4,0,6)这个解中, x 1 x_1 x1 x 4 x_4 x4就是非基变量, x 2 x_2 x2 x 3 x_3 x3 x 5 x_5 x5就是基变量。对可行性的要求是所有变量必须为非负

单纯形法的代数解释如下图右栏:
在这里插入图片描述
第一次迭代前,如何判断应该增加 x 1 x_1 x1还是 x 2 x_2 x2
是根据目标函数中的系数, x 1 x_1 x1的增长率为3, x 2 x_2 x2的增长率为5,所以把 x 2 x_2 x2作为迭代1的入基变量。
第一次迭代时,如何判断在何处停止?通过最小比值试算
x 3 = 4 ≥ 0 x_3 = 4 \ge 0 x3=40 -> 对 x 2 x_2 x2没有上限限制
x 4 = 12 − 2 x 2 ≥ 0 x_4 = 12 - 2x_2 \ge 0 x4=122x20 -> x 2 ≤ 6 x_2 \le 6 x26
x 5 = 18 − 2 x 2 ≥ 0 x_5 = 18 - 2x_2 \ge 0 x5=182x20 -> x 2 ≤ 9 x_2 \le 9 x29
所以 x 2 x_2 x2只能增加到6,同时 x 4 x_4 x4降为零, x 4 x_4 x4是当前迭代的出基变量

改造非标准模式的约束(等号或大于等于号) : 大M法、两阶段法
在这里插入图片描述
转化为
在这里插入图片描述

对偶理论的实质

在这里插入图片描述
· 原问题目标函数的系数是对偶问题约束方程的右端项
· 原问题约束方程的右端项是对偶问题目标函数的系数

一个问题另一个问题
约束 i i i变量 i i i
目标函数约束右端项

· 弱对偶性:如果 x x x是原问题的一个可行解, y y y是对偶问题的一个可行解,则有 c x ≤ y b cx \le yb cxyb
· 强对偶性:如果 x ∗ x^* x是原问题的一个最优解, y ∗ y^* y是对偶问题的一个最优解,则有 c x ∗ = y ∗ b cx^* = y^*b cx=yb
当两个问题中有一个不是最优解,或者两个都不是最优解,会有 c x < y b cx < yb cx<yb,而当两个都是最优解是,则是等于的关系。在每一步的迭代中,单纯形法找到这个两个问题的一对特殊解,原问题的解是可行的,对偶问题的解是不可行的(最终迭代除外)
· 互补解特性:单纯形法迭代过程中,为原问题生成一个cpf解x, 同时得到对偶问题的互补解y, 并且满足 c x = y b cx = yb cx=yb。如果x不是原问题的最优解,那么y不是对偶问题的可行解(连约束都不满足)
· 最优互补解特性:单纯形法迭代过程中,为原问题生成一个最优解 x ∗ x^* x, 同时得到对偶问题的一个最优互补解 y ∗ y^* y, 满足 c x ∗ = y ∗ b cx^* = y^*b cx=yb
· 对称性:原问题和对偶问题的一切关系必定是对称的,因为对偶问题的对偶问题是原问题
· 对偶定理:
1. 如果一个问题拥有可行解和有界的目标函数(有最优解),那么另一个问题也有可行解和有界的目标函数。弱对偶行和强对偶性都是可用的
2. 如果一个问题拥有可行解但是目标函数无界(没有最优解),那么另一个问题没有可行解
3. 如果一个问题没有可行解,那么另一个问题或者没有可行解,或者有可行解但是目标函数无界。

对偶性的应用

单纯形法可以通过解答对偶问题为原问题找到一个最优解。

约束方程对单纯形法的计算过程的影响要远远大于变量个数的影响,所以如果原问题的变量个数少,约束方程多的话就可以转化成对偶问题求解,可以极大减少计算量;

如果计算出来的 c x − b y cx - by cxby足够小,也可以接受这个方案而不用再继续计算

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值