matlab nan变成0_【运筹学】对偶单纯形法的Matlab实现

77a896ad68ceb45c19747934ffde9af5.png

前两篇讨论了单纯形法的Matlab实现:

张敬信:【运筹学】单纯形法求解线性规划问题的Matlab实现​zhuanlan.zhihu.com
3558c29d4b517a8d0235dce8554ce000.png
张敬信:【运筹学】单纯形法之大M法和两阶段法​zhuanlan.zhihu.com
3558c29d4b517a8d0235dce8554ce000.png

本篇讨论对偶单纯形法的Matlab实现。

一. 对偶单纯形法的原理和步骤

原始问题的最优基也是对偶问题的可行基。换句话说,当原始问题的基 B 既是原始可行基又是对偶可行基时,B 成为最优基。

7325eb9494f103503ec478407ed5beab.png

对偶单纯形法思想:

25b959e895b9672ae3ea17fb0eb03781.png

bed418e7fbd19cd7dea4c0c5a955a807.png

对偶单纯形法的步骤:

7cb5a2e5b3dfd29e6664343fa45b760e.png

二. 对偶单纯形法的 Matlab 实现

算法步骤与单纯形法基本是类似的,除了进出基的判断规则有变化,所以,对 SimplexMax 函数稍加修改即可。

优点:

  1. 代码采用向量化Matlab语言实现,非常简洁;
  2. 可以把整个单纯形表直接保存下来,再输出到Excel非常方便。

缺点(欢迎指正):

  1. 各种特殊解的情况,暂时没有讨论全面;
function

测试实例:

a4056e5cc34ca3dc24a8120fc40694ff.png

改写为目标最大化,并化为标准型:

30efb76746f914912beb9de9661dc25a.png
A 

运行结果:

537d05c99d003167b0892b2fcf55f1c7.png

cf8b7f2792247f9b815853cd978d5a17.png

也可以进一步将对偶单纯形表 ST 写入Excel(略)。

主要参考文献:

胡运权,运筹学原理及应用(第六版),及其课件

对偶单纯形法详解,百度文库

[图文]对偶单纯形法详解 - 百度文库​wenku.baidu.com

————————————————————————————————

原创作品,转载请注明,版权所有,禁止盗用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值