在线性规划中的单纯形法与内点法(原理、步骤以及matlab实现)(一)中,我们讨论了单纯形法的原理和普通单纯形法的应用,本文接着讨论大M法、两阶段法和对偶单纯形法

2.2 Big M Method (大M法)

通常,我们遇到的问题约束条件不是像普通单纯形法中的形式,就是说有可能会符号为大于等于形式的不等式,这时,初始可行基的选择就不是那么容易了。这种情况下,我们可以利用大M法。下面举例说明应用

solution

通过引入slack或者surplus将不等式约束转为等式约束,并且将最小化问题转为最大化问题

在这个形式中,初始可行基不是很容易选出,因为s1和s3的系数都是-1。这时我们可以引入额外的两个人工变量A1和A2,原问题转为:

在目标函数中还引入了新的系数M,M是一个极大的数,因此要使得目标函数的值最大,A1和A2必须为0

matlab实现

linprog():

记住:该函数的问题形式必须是最小化形式,并且右端值符号没有限制,但是不等号必须是小于等于

f = [4 3];

A = [-2 -1; -3 2; -1 -1];

b = [-10 6 -6];

[x, fval] = linprog(f, A, b)

revised():

c = [4 3];

A = [2 1; -3 2; 1 1];

b = [10 6 6];

inq = [1 -1 1];

revised(c, b, A, inq, 1)

运行结果:

2.3 Two-phase Method(两阶段法)

先来看一下大M法和两阶段法的联系和区别:

两阶段法中第一阶段构造了一个只有人工变量的新的目标函数,使得引入的人工变量为零。第二阶段使用第一阶段迭代的tableau继续迭代。可以看到其实大M法和两阶段法本质没有区别,只是将两步糅合成为一步。下面举例说明两阶段法的应用:

这道题可以用大M法解决,不过这里使用两阶段法

第一阶段,引入新的人工变量,并且构造新的目标函数(使人工变量为零)

到这里,人工变量已经成为非基变量,即取零使得构造的目标函数值最优

进入第二阶段

这阶段的主要工作是:

1.使用原来的目标函数

2.初始开始迭代的基可行解是沿用上一阶段最后的迭代结果

下面开始迭代:

感兴趣的朋友可以用大M法解答

matlab实现:

linprog():

f = [-5 -8];

A = [-3 -2; -1 -4; 1 1];

b = [-3 -4 5];

lb = [0 0];

[x, fval] = linprog(f, A, b, [], [], lb)

运行结果:

revised():

c = [5 8];

A = [3 2; 1 4; 1 1];

b = [3 4 5];

inq = [1 11 -1];

revised(c, b, A, inq, 0)

运行结果:

原文:http://www.cnblogs.com/Mr-ZeroW/p/7670153.html

matlab写的单纯形法二阶段法 大m法,线性规划中的单纯形法与内点法(原理、步骤以及matlab实现)(二)...相关推荐

  1. 图像二值化之最大类间方差法(大津法,OTSU)

    参考文章1:图像二值化与otsu算法介绍 参考文章2:python opencv cv2.threshold() (将固定级别的阈值应用于每个数组元素)ThresholdTypes 最大类间方差法(大 ...

  2. 内点法最优潮流matlab程序

    内点法最优潮流matlab程序 一.概述最优潮流问题 1.最优潮流和基本潮流的比较潮流计算可以归结为针对一定的扰动变量p(负荷情况),根据给定的控制变量u(如发电机的有功出力.无功出力或节点电压模值等 ...

  3. 【图像处理】——图像的二值化操作及阈值化操作(固定阈值法(全局阈值法——大津法OTSU和三角法TRIANGLE)和自适应阈值法(局部阈值法——均值和高斯法))

    目录 一.二值化的概念(实际上就是一个阈值化操作) 1.概念: 2.实现方法 3.常用方法 二.阈值类型 1.常见阈值类型(主要有五种类型) (1)公式描述 (2)图表描述 2.两种特殊的阈值算法(O ...

  4. 二值化-大津法(OTSU)

    论文 Otsu N . A Threshold Selection Method from Gray-Level Histograms[J]. IEEE Transactions on Systems ...

  5. C语言的贪心法(大嘴法)

    当C编译器读入了一个字符'/'后又读入了一个字符'*',那么编译器就必须做出判断:是将其作为两个分别的符号对待,还是合起来作为一个符号对待. C语言中,每一个符号应该包含尽可能多的字符.也就是说,编译 ...

  6. 单纯形法只有两个约束条件_教学 | 线性规划 7 :单纯形法的引入

    介绍单纯形法的引例. 如果觉得对运筹学学习和教学有用,请关注和转发! 01 单纯形法的概述 之前提到,对于LP问题,如果它有最优解,肯定可以在顶点上取到最优值. 因此,找LP问题的最优解,也就转换为找 ...

  7. 外点法、内点法解约束问题matlab

    外点法 clc m=zeros(1,50); a=zeros(1,50); b=zeros(1,50);%最优点坐标 f0=zeros(1,50);%最优点函数值 syms d x1 x2 e; m( ...

  8. matlab 写excel 慢_我在12w+的Python库中,发现了让Excel快到起飞的秘密......

    Amber | 作者 图片源自网络 在这篇文章里,小编向大家介绍了Excel在数据分析中的妙用.不知大家在看完后,有没有亲自动手去体验下呢?有没有遇到什么问题呢? 虽说Excel在处理小批量数据时的优 ...

  9. 173. 二叉搜索树迭代器/94. 二叉树的中序遍历/145. 二叉树的后序遍历/98. 验证二叉搜索树

    2020-05-12 1.题目描述 二叉搜索树迭代器 2.题解 对于二叉搜索树而言,进行中序遍历就可以得到其有序序列,我们可以先对树进行遍历,将结果保存在 vector中,然后进行计算即可. 3.代码 ...

最新文章

  1. 新晋院士:直到硕士毕业前都想做公务员,现在只对科研感兴趣
  2. 书评 —— 深入网站开发和运营
  3. 中心频率为150kHz的选频放大检波电路补充测试
  4. webform中提交按钮同时执行更新和插入操作_软件测试中的功能测试点(三)
  5. 企业巧妙运用飞秋提高工作效率
  6. magento 优化 php.ini,PHP.ini配置文件(中文) | Magento UI
  7. Nebula Graph安装
  8. k 均值算法(k-means)
  9. canvas实现图片旋转
  10. BZOJ 3653 谈笑风生
  11. css更改鼠标指针样式,几种鼠标点击效果
  12. 损失函数--持续更新
  13. php 环信easyui_php集成环信IM即时通讯系统(大致流程方法)
  14. C语言fgets()函数
  15. ABB机器人的程序结构与模块属性
  16. tableViewcell 闪动
  17. 本科科研经历(思想方法篇)
  18. html设置边框颜色
  19. html采集插件如何用,Chrome浏览器中安装数据采集插件网络爬虫
  20. Linux下网络管理

热门文章

  1. 在linux搭建网站
  2. Allegro regin区域设置
  3. CF #338B Longtail Hedgehog 画刺猬
  4. java 父类强制转换为子类_父类强制转换为子类
  5. 做软件测试你选择国企还是互联网大厂,哪个更香?
  6. 微盛等发布第三期私域运营白皮书
  7. 百度sugar数据大屏
  8. Git 分支分支工作流
  9. #计算机视频处理 使用ffmpeg对视频进行操作、视频分镜
  10. sklearn专题二:随机森林