运筹学笔记12 大M法





引入M,其中M是一个充分大的正数。由此,目标函数也改变为zM.
如此构造的线性规划问题我们记作LPM,称之为辅助线性规划问题,也即在原来的线性规划问题的基础上,改造了其等式约束条件,然后有对目标函数施加了惩罚项,Mx4,Mx5。
因为M是充分大的正数,所以即便x4,x5很小,只要x4,x5不等于0,这个惩罚项也也会很大的;一旦大M趋于正无穷,那么Mx4,Mx5一块就是正无穷了;而前面的各变量及其系数
的组合也是有限的量;根据一个有限的量加上一个无穷大量结果是无穷大量定理;那么目标函数就是趋于无穷大量,怎么还会取得最小值呢?∴大M叫做惩罚项是有道理的,而且
在理想的状态下,一旦x4,x5取值为零,那么目标函数中就再也没有惩罚项了,目标函数也就有zM还原为z了,同时约束条件x4,x5也就消失了,因为二者此时为零;
这样也就实现了有LPM向原线性规划问题的还原。所以大M法,首先引入大M惩罚项,对人为引入的人工变量施加惩罚,最佳的状态就是把引入的人工变量都惩罚为0,这样不仅等式约束条件没被破坏,目标函数也还原为原来的目标函数了。如果做不到这一步,就说明有些约束条件原来就不可能相等。
我们构造辅助线性规划问题后可看到已经有x4,x5系数组成的单位矩阵了,我们把它取作初始可行基。

进而可以写出典式的等价形式(把基变量和目标函数都用非基变量表示)如下:

进而做出单纯形表:

有了单纯形表,进一步讨论三种情形。
情形1:是否全部的检验数都<=0;很显然此题不是;1肯定是>0的,另外M是充分大的正数所以3M+3,3M+5也都是>=0的。
情形2:正的检验数上面没有正的,才是第二种情况;此题不符合;
显然是第三种情况了,选定枢轴列->元,然后转轴。



上图得到了辅助线性规划问题的最优解和最优值,但须注意,在辅助线性规划问题中,我们引入了两个人工变量的值,x4,x5,
也可发现在LPM的最优解中两个变量都已经为0了。也即是说,辅助线性规划的人工变量都已经被充分大的大M构造的惩罚项惩罚为0了,也就是说又还原为原来初始的线性规划问题了,所以据此我们就可以得到LP,即原来线性规划问题的最优解和最优值。。。





可看到上图中有一个检验数是正的,其所在列上面的值都是<=0,所以是第二种情形,所以LPM无下届。
而之前引入的人工变量x5对应的取值为1,并没有被惩罚为0;另一个非基变量x6作为非基变量已经被惩罚为0了;
也即,因x5=1,x6=0,故原线性规划问题不可行。

练习:

运筹学笔记12 大M法的更多相关文章
- SQL反模式学习笔记12 存储图片或其他多媒体大文件
目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点: 1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...
- 大M法(Big M Method)
前面一篇讲的单纯形方法的实现,但程序输入的必须是已经有初始基本可行解的单纯形表. 但实际问题中很少有现成的基本可行解,比如以下这个问题: min f(x) = –3x1 +x2 + x3 s.t. x ...
- 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...
- JAVA自学笔记12
JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流 ...
- 大津法---OTSU算法
简介: 大津法(OTSU)是一种确定图像二值化分割阈值的算法,由日本学者大津于1979年提出.从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景 ...
- 自适应阈值分割—大津法(OTSU算法)C++实现
大津法是一种图像灰度自适应的阈值分割算法,是1979年由日本学者大津提出,并由他的名字命名的.大津法按照图像上灰度值的分布,将图像分成背景和前景两部分看待,前景就是我们要按照阈值分割出来的部分.背景和 ...
- matlab学习笔记12单元数组和元胞数组 cell,celldisp,iscell,isa,deal,cellfun,num2cell,size
一起来学matlab-matlab学习笔记12 12_1 单元数组和元胞数组 cell array --cell,celldisp,iscell,isa,deal,cellfun,num2cell,s ...
- Ext.Net学习笔记12:Ext.Net GridPanel Filter用法
Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...
- 自适应阈值二值化之最大类间方差法(大津法,OTSU)
最大类间方差法是由日本学者大津(Nobuyuki Otsu)于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU.它是按图像的灰度特性,将图像分成背景和目标2部分.背景和目标之间 ...
随机推荐
- Oracle中between 和 in
select * from test_s where id between 2 and 12; between 就是左右全闭区间. SELECT columnsFROM tablesWHERE col ...
- es6语法之模版字符串
//es6语法之`${}`以及vue语法 `${ }` (模版字符串)const name = '小缘' const age = 14 console.info(`大家好,我叫${name},今年${ ...
- 安全市场迎来新挑战,FinClip助力车联网数据安全
随着汽车工业的发展与电子技术的进步,智能汽车迎来了前所未有的蓬勃发展,随着汽车电动化.网联化.智能化交融发展,车辆运行安全.数据安全和网络安全风险交织叠加,安全形势更加复杂严峻......
- 小程序已成为超级APP必选项,逐鹿私域“留量”
截止2021年底,中国移动互联网月活跃用规模达到11.74亿人,增速逐渐呈放缓趋势,用户渗透率接近天花板.客户的增长速度越趋于平缓,品牌在不同成长阶段也要适应增长节奏的变化,越来越多主流商家不得不利用 ...
- MongoDB 数据库开发规范
MongoDB 数据库开发规范 转载自-落雨_ https://developer.aliyun.com/article/255536 简介: mongoDB库的设计 mongodb数据库命名规范:d ...
- linux目录结构知识
1.系统目录结构介绍 1.目录结构特点 linux系统中的目录一切从根开始. Linux系统中的目录结构拥有层次. Linux系统中的目录需要挂载使用. 2.目录挂载初识 挂载的命令:mount mo ...
- eslint配置介绍-如何在uniapp中配置eslint
eslint uniapp-eslint及vue-eslint配置 ESLint 是一个开源的 JavaScript 代码检查工具.可以让程序员在编码的过程中发现问题而不是在执行的过程中. 1. es ...
- JavaWeb和WebGIS学习笔记(六)——使用ArcGIS for Server发布地图服务
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- 《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
1.简介 页面对象模型(Page Object Model)在Selenium Webdriver自动化测试中使用非常流行和受欢迎,作为自动化测试工程师应该至少听说过POM这个概念.本篇介绍POM的简 ...
- 初始celery
使用celery执行异步任务 下载celery,redis pip3 install celery#在这里我使用的是celery==4.2.2#当celery版本过低的话celery配置可能会略有不同 ...