引入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法的更多相关文章

  1. SQL反模式学习笔记12 存储图片或其他多媒体大文件

    目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点:     1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...

  2. 大M法(Big M Method)

    前面一篇讲的单纯形方法的实现,但程序输入的必须是已经有初始基本可行解的单纯形表. 但实际问题中很少有现成的基本可行解,比如以下这个问题: min f(x) = –3x1 +x2 + x3 s.t. x ...

  3. 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...

  4. JAVA自学笔记12

    JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流 ...

  5. 大津法---OTSU算法

    简介: 大津法(OTSU)是一种确定图像二值化分割阈值的算法,由日本学者大津于1979年提出.从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景 ...

  6. 自适应阈值分割—大津法(OTSU算法)C++实现

    大津法是一种图像灰度自适应的阈值分割算法,是1979年由日本学者大津提出,并由他的名字命名的.大津法按照图像上灰度值的分布,将图像分成背景和前景两部分看待,前景就是我们要按照阈值分割出来的部分.背景和 ...

  7. 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 ...

  8. Ext.Net学习笔记12:Ext.Net GridPanel Filter用法

    Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...

  9. 自适应阈值二值化之最大类间方差法(大津法,OTSU)

    最大类间方差法是由日本学者大津(Nobuyuki Otsu)于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU.它是按图像的灰度特性,将图像分成背景和目标2部分.背景和目标之间 ...

随机推荐

  1. MySQL 中 SQL语句大全(详细)

    sql语句总结 总结内容 1. 基本概念 2. SQL列的常用类型 3. DDL简单操作 3.1 数据库操作 3.2 表操作 4. DML操作 4.1 修改操作(UPDATE SET) 4.2 插入操 ...

  2. 使用Socket实现HttpServer(三)

    使用Socket实现HttpServer(三) 这一章继续对我们的服务器进行优化,引入 NIO package com.fengsir.network.step4; import java.io.IO ...

  3. Nestjs模块机制的概念和实现原理

    1 前言 Nest 提供了模块机制,通过在模块装饰器中定义提供者.导入.导出和提供者构造函数便完成了依赖注入,通过模块树组织整个应用程序的开发.按照框架本身的约定直接撸一个应用程序,是完全没有问题的. ...

  4. 检查oracle是否是rac

    采样rac集群 [root@shfpdb02 disks]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.4 ( ...

  5. JavaWeb学习day2-web入门&随笔

    Tomcat详解: 1默认端口号: Tomcat:8080 Mysql:3306 http:80 https:443 2默认主机名:localhost 地址:127.0.0.1 3网站应用默认存放位置 ...

  6. Casdoor + OAuth 实现单点登录 SSO

    简介 Casdoor 是一个基于 OAuth 2.0 / OIDC 的中心化的单点登录(SSO)身份验证平台,简单来说,就是 Casdoor 可以帮你解决用户管理的难题,你无需开发用户登录.注册等与用 ...

  7. SSL及GMVPN握手协议详解

    之前写过一篇文章搞懂密码学基础及SSL/TLS协议,主要介绍了加密学的基础,并从整体上对SSL协议做了介绍.由于篇幅原因,SSL握手的详细流程没有深入介绍.本文将拆解握手流程,在消息级别对握手进行详细 ...

  8. Vue 生产环境(production) 打开 调试工具的方法

    总所周知,在production生产环境下,点击vue插件会显示, 并且按F12是没办法使用调试工具的,这样非常不方便 其实是有一个办法的,那就是复制下面的js,然后在控制台执行 代码中已经写清楚执行 ...

  9. CSS一个较为完整的页面布局_可以根据页面屏幕大小调整布局

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  10. Day 003:PAT练习--1041 考试座位号 (15 分)

    题目要求: 我写的代码如下: //考试座位号 #include<iostream> #include<algorithm> #include<string> usi ...