前两篇讨论了单纯形法的Matlab实现:
张敬信:【运筹学】单纯形法求解线性规划问题的Matlab实现zhuanlan.zhihu.com本篇讨论对偶单纯形法的Matlab实现。
一. 对偶单纯形法的原理和步骤
原始问题的最优基也是对偶问题的可行基。换句话说,当原始问题的基 B 既是原始可行基又是对偶可行基时,B 成为最优基。
对偶单纯形法思想:
对偶单纯形法的步骤:
二. 对偶单纯形法的 Matlab 实现
算法步骤与单纯形法基本是类似的,除了进出基的判断规则有变化,所以,对 SimplexMax 函数稍加修改即可。
优点:
- 代码采用向量化Matlab语言实现,非常简洁;
- 可以把整个单纯形表直接保存下来,再输出到Excel非常方便。
缺点(欢迎指正):
- 各种特殊解的情况,暂时没有讨论全面;
- 测
function
测试实例:
改写为目标最大化,并化为标准型:
A
运行结果:
也可以进一步将对偶单纯形表 ST 写入Excel(略)。
主要参考文献:
胡运权,运筹学原理及应用(第六版),及其课件
对偶单纯形法详解,百度文库
[图文]对偶单纯形法详解 - 百度文库wenku.baidu.com————————————————————————————————
原创作品,转载请注明,版权所有,禁止盗用。