运筹学笔记 整数规划
在前面讨论的线性规划问题中,最优解可能是整数,也可能不是整数,但对于某些实际问题,要求答案必须是整数。如所求的解是安排上班的人数,按某个方案剪裁钢材的根数,生产机器的台数等。
整数规划是一类要求变量取整数值的数学规划。
文章目录
- 1 整数规划问题的提出
- 2 整数规划与分支定界法
- 3 整数规划与割平面法
- 4 指派问题
1 整数规划问题的提出
所谓整数规划(Integer Programming,简称IP):
决策变量要求取整数的线性规划
数学模型:
整数规划问题可以分为下列几种类型:
1 . 纯(全)整数线性规划(Pure Integer Linear Programming):指全部决策变量都必须取整数的整数线性规划。
2 . 混合整数线性规划 (Mixed Integer Linear Programming): 指决策变量中有一部分必须取整数,另一部分可以不取整数值的整数线性规划。
3 . 0-1整数规划(0-1 Integer Linear Programming):指决策变量只能取值0、1的整数线性规划。
2 整数规划与分支定界法
分支定界法可用于解纯整数或混合的整数线性规划问题
混合整数规划问题一般有无穷多个可行解。即使是纯整数规划问题,随着问题规模的扩大,其可行解的数目也将急剧增加。因此通过枚举全部可行解,并从中筛选出最优解的算法没有实际应用价值。
分支定界法是一种隐枚举法(implicit enumeration)或部分枚举法,是枚举法基础上的改进。
分支定界法的关键是分支和定界
原问题的松驰问题:任何整数规划(IP),凡放弃某些约束条件(如整数要求)后,所得到的问题(P) 称为(IP)的松驰问题。
分支定界法的步骤:
一般求解对应的松驰问题,可能会出现下面几种情况:
若所得的最优解的各分量恰好是整数,则这个解也是原整数规划的最优解,计算结束。
若松驰问题无可行解,则原整数规划问题也无可行解,计算结束
若松驰问题有最优解,但其各分量不全是整数,则这个解不是原整数规划的最优解,转下一步。
从不满足整数条件的基变量中任选 一个xl 进行分枝,它必须满足xl ≤[xl ] 或xl ≥[xl ] +1中的一个,把这两个约束条件加进原问题中,形成两个互不相容的子问题(两分法)。
定界:把满足整数条件各分枝的最优目标函数值作为上(下)界,用它来判断分枝是保留还是剪枝。
剪枝:把那些子问题的最优值与界值比较,凡不优或不能更优的分枝全剪掉,直到每个分枝都查清为止。
“分支”为整数规划最优解的出现创造了条件,而“定界”则可以提高搜索的效率。
例1. 用分枝定界法求解:
用单纯形法可解得相应的松驰问题的最优解为(6/5,21/10)
Z=111/10为各分枝的上界。
3 整数规划与割平面法
此方法的基础仍然是用解线性规划的方法去解整数规划问题。
思路: 先不考虑变量xi是整数这一条件,但增加线性约束条件(几何术语:割平面)使得由原可行域中切割掉一部分(此部分只包含非整数解,没有切割掉任何整数可行解),使切割后最终得到这样的可行域,它的一个有整数坐标的极点恰好是问题的最优解。
该方法是1958年R.E.Gormory首先提出的,故又称为Gormory割平面法
割平面法的关键: 如何找到适当的割平面?
构造割平面约束的方法很多,下面只介绍一种(它可以从相应线性规划的最终单纯形表中直接产生)
先通过举一简单的例子入手,介绍算法的过程
将上推导对应一般情况,可得:
思路:
用割平面法解整数规划时,若其松弛问题的最优解x不满足整数条件,则从x的非整分量中选取一个,用以构造一个线性约束条
件,将其加入原松弛问题中,形成一个新的线性规划之后求解。
若新的最优解满足整数条件,则它就是整数规划的最优解,否则重复上述步骤,直到获得最优解为止。
为获得整数最优解,每次增加的线性约束条件应满足2个基本性质
(1)已获得的不符合整数要求的线性规划最优解不满足该线性约束条件,从而不可能在以后的解中再出现。
(2)凡整数可行解均满足该线性约束条件,故整数最优解始终被保留在每次形成的线性规划可行域中。
4 指派问题
一类特殊的0-1规划问题:将m项工作分派给n个人去做,既发挥各人特长又使总效率最高。
又如:某单位需完成n项任务,恰好有n个人可承担这些任务。由于各人的专长不同,故各人完成任务的效率(如时间等)不同。问题需解决确定指派哪个人完成哪项任务,使完成n项任务的总效率最高等。
上述类型问题称为指派问题(assignment problem)
指派问题是0-1规划及运输问题的特例,可用前已学方法求解,但不够方便。
(下介绍一针对指派问题特点的简便求解方法。)
指派问题的标准形式为:
即:目标求最小,且系数矩阵为方阵(每项工作只能由1个人做,每个人只能做一项工作)
从中即可说明,系数矩阵中元素本身的大小不决定最优解,而元素之间的差值发生则可能改变最优解
其中k为一个常数,故当z达最大值时,z’也达到最大值
(完)
运筹学笔记 整数规划相关推荐
- 【运筹学】整数规划 ( 整数规划示例 | 整数规划解决的核心问题 )
文章目录 一.整数规划示例 二.整数规划解决的核心问题 一.整数规划示例 资金总额 B\rm BB , 有 nnn 个投资项目 , 项目 jjj 所需的投资金额 是 aja_jaj , 预期收益是 ...
- 管理运筹学笔记一之图解法
管理运筹学笔记一之图解法 文章目录 一.图解法 1.决策变量.目标函数.约束条件 2.图解法求解 3.松弛变量与剩余变量区别 4.标准化四步走 总结 一.图解法 1.决策变量.目标函数.约束条件 2. ...
- 数学建模、运筹学之整数规划(原理、例题、代码)
数学建模.运筹学之整数规划(原理.例题.代码) 一.何为整数规划? 二.整数规划与线性规划 三.分枝定界法 四.0-1整数规划 一.何为整数规划? 整数规划具有深远的实际应用价值,因为现实生活中的规划 ...
- 运筹学1——整数规划之分支定界法与MATLAB的intlinprog函数
1 背景 直接用fmincon求解最优化问题时,得到的结果可能是小数,但针对某一些问题,要求结果必须是整数,称为整数规划问题. 分支定界法是一种求解整数规划的算法,具体介绍可看 分支定界法MATLAB ...
- 运筹学广泛的使用计算机,运筹学笔记
绪论 一.最优化理论方法与运筹学 (一)运筹学在管理科学中的地位 运筹学是管理科学学科的主要课程.1999年,复旦大学对"管理科学与工程学科的国内外发展动态"的研究结果表明:优化技 ...
- 【运筹学笔记】 第二章 对偶理论
第二章 对偶问题 对偶问题的提出 我们可以先通过一个常识来理解"对偶"的含义和特征: 矩形中,周长一定,正方形的面积最大:面积一定,正方形的周长最小. 在许多课本中,都用如下的例子 ...
- 运筹学笔记 运输问题
文章目录 1.运输问题的模型及其结构特征 一. 运输问题的数学模型 二. 运输问题的结构特征 2.运输问题的求解方法--表上作业法 一. 初始基本可行解的确定(西北角法,最小元素法) 二. 最优解的判 ...
- 运筹学笔记 对偶理论与灵敏度分析
本章内容要点 单纯形法的矩阵描述及改进单纯形法的介绍: 线性规划的对偶问题的概念.理论及经济意义: 线性规划的对偶单纯形法: 线性规划的灵敏度分析. 文章目录 改进单纯形法的介绍 线性规划的对偶问题 ...
- 运筹学笔记 图与网络分析
文章目录 图的基本概念与基本定理 树和最小生成树 最短路问题 网络系统最大流问题 网络系统最小费用最大流问题 中国邮递员问题 图的基本概念与基本定理 一 . 图的基本概念 1 . 无向图与有向图 2 ...
- 【运筹学】指派问题、匈牙利法总结 ( 指派问题 | 克尼格定理 | 匈牙利法 | 行列出现 0 元素 | 试指派 | 打 √ | 直线覆盖 ) ★★★
文章目录 一.克尼格定理 二.匈牙利法引入 三.指派问题求解步骤 四.匈牙利法示例 1 1.第一步 : 使行列出现 000 元素示例 2.第二步 : 试指派操作示例 ( 方法一 :克尼格定理 ) 3. ...
最新文章
- 从PyTorch到ONNX的端到端AlexNet
- 说说我为什么看好Spring Cloud Alibaba
- 用 Java 实现断点续传 (HTTP)
- sap转换成基本订单单位
- 简要说说一个完整机器学习项目的流程
- day1||python
- php get raw,file_get_contents(“php:// input”)或$ HTTP_RAW_POST
- c语言小学生四则运算出题_软件工程第一次作业,小学生四则运算的出题程序...
- 阿里二面:RocketMQ同一个消费组内的消费者订阅量不同tag,会有问题吗?
- Java集合系列---ConcurrentHashMap源码解析
- java web redis_java web网页版redis客户端工具
- QT分析之网络编程(七)
- 斑图的matlab程序,斑图生成
- UCOII信号量与消息邮箱
- 产品读书《自卑与超越》
- c语言程序中u8是什么意思,c – __u8和uint8_t之间的区别
- 搜图出处的软件_【识图】怎样查找图片的来源出处,又快又好
- Kylin快速入门系列(1) | Kylin的简单介绍及安装部署
- 海思3518E sample的整体架构venc层源码分析
- FS5175降压型3-4节锂电池充电芯片