第五章 整数规划(运筹学教程)
运筹学 第05章 整数规划与分配问题

1
整数规划问题的提出
0 xj 1 表示项目j不被选中 表示项目j被选中 ( j 1,2,3,4,5)
解:决策变量:设
目标函数:期望收益最大
max z 10 x1 8 x 2 7 x3 6 x 4 9 x5
约束条件:投资额限制条件 6x1+4x2+2x3+4x4+5x515 项目A、C、E之间必须且只需选择一项:x1+x3+x5=1 项目B、D之间必须且只需选择一项:x2+x4=1 项目C的实施要以项目D的实施为前提条件: x3 x4 归纳起来,其数学模型为:
n
(i 1,2, , m) ( j 1,2, , n)
2
整数规划问题的分类
根据变量取整数的情况,将整数规划分为:
(1)纯整数规划,所有变量都取整数.
(2)混合整数规划,一部分变量取整数,一部分变量取实数 (3)0-1整数规划 ,所有变量均取0或1
2
整数规划问题的求解思考
1
整数规划问题与其松弛问题
2
匈牙利法
例:用匈牙利法求解下列指派问题,已知效率矩阵分别如下:
任务 A 2 10 9 7 B 15 4 14 8 C 13 14 16 11 D 4 15 13 9
人员
甲 乙 丙 丁
2
匈牙利法
2 10 9 7
15 4 14 8
13 14 16 11
4 15 13 9
例:其中(2,2)(3,1)点为最大值,Z=4。常用的求解整数规划的方法有: 割平面法和
分支定界法,对于0-1规划问题采用隐枚举法和匈牙利法。
3
分派问题与匈牙利法
1
运筹学 第五章整数规划

n xij ai s.t j 1
i 1,2, m
xij 0 yi 0,1
混合型整数规划
总结
整数规划的可行域包含在其对应的一般线性规划可
行域之内; 整数规划的最优解可能不是其对应的一般线性规划 的顶点; 整数规划的最优解不会优于其对应的线性规划的最
(0)
(4)修改上、下界:按照以下两点规则进行。 ①在各分枝问题中,找出目标函数值最小者作为新的下界; ②从已符合整数条件的分枝中,找出目标函数值最小者作为 新的上界。 (5)比较与剪枝 : 各分枝的目标函数值中,若有大于 者,则剪掉此枝,表 明此子问题已经探清,不必再分枝了;否则继续分枝。 如此反复进行,直到得到 即得最优解 X* 。 为止,
f
n
rj
x j fr
a rj
的小数部分
br 的小数部分
(3)将所得的割平面方程作为一个新的约束条件置于最优单 纯形表中(同时增加一个单位列向量),用单纯形法求出新的 最优解,返回1。
m ax Z x 2
例:用割平面法求解整数规划问题
3 x1 2 x 2 6 3 x1 2 x 2 0 x , x 0且为整数 1 2
子问题 L1 : 剪枝 1 、L1无最优解, 2、最优解 X *1 ( x *11 ,x *12 ,, x *1n ), 最优值 z1 (1) X *1 为整数解 , z1为下界 关闭
子问题 L2 :
(2) X *1 中至少有一个是分数: 继续分枝
割平面法 割平面法的基本思想:
若整数规划IP的松弛规划L0的最优解不是整数解,对L0增 加一个约束条件,得线性规划 L1 ,此过程缩小了松弛规划的 可行解域,在切去松弛规划的最优解的同时,保留松弛规划 的任一整数解,因此整数规划IP的解均在L1中,若L1的最优解
运筹学第五章 整数规划ppt课件

第二步:确定A的最优目标函数值z*的上下界,其上界即为 z ,再用观察法
找到A的一个整数可行解,求其目标函数值作为z*的下界,记为z。
第三步:判断 z 是否等于z 。若相等,则整数规划最优解即为其目标函
数值等于z的A的那个整数可行解;否则进行第四步。
2020/3/2
11
•割平面法,即通过添加约束条件,逐步切割可行区域的 边角余料,让其整数解逐步的露到边界或顶点上来,只要 整数解能曝露到顶点上来,则就可以利用单纯形法求出来。
•关键是通过添加什么样的约束条件,既能让整数解往边 界露,同时又不要切去整数解,这个条件就是Gomory约束 条件。 •Gomory约束只是割去线性规划可行域的一部分,保留了 全部整数解。
2020/3/2
7
7
第二节 割平面法
2x1 2x2 11
13/4,5/2
松弛问题 x1+x2≤5 第二次切割
2020/3/2
第一次切割 4,1
8
设纯整数规划
n
m a x Z c j x j j 1
s
.t
.
n j 1
aij x j
bi
x
j
0且
为
整
数
,
j
1,L
引入约束 xi ≤ M yi ,i =1,2,3,M充分大,以保证yi=0 xi=0 这样我们可建立如下的数学模型:
Max z = 4x1 + 5x2 + 6x3 - 100y1 - 150y2 - 200y3 s.t. 2x1 + 4x2 + 8x3 ≤ 500
运筹学 第四版 第五章 整数规划

货物/箱 甲 乙
托运限制/集 装箱
体积/米3 5 4
24
重量/百斤 2 5
13
利润/百元 20 10
表 3.1
货物/箱 甲 乙
托运限制/集 装箱
体积/米3 5 4
24
重量/百斤 2 5
13
利润/百元 20 10
解 设 x1,分x2 别为甲、乙两种货物的托运箱数.则这是一个
纯整数规划问题 .其数学模型为:
(pzreorgor-aomnme iinngte)ger linear
若不考虑整数条件,由余下的目标函数和约束条件构成
的规划问题称为该整数规划问题的松弛问题(slack
problem)
n
max Z (或 min Z ) c j x j j 1
整数线性规划数学
n
st. j1 aij x j
max Z 20 x1 10 x2
5x1 4x2 24 s.t 2x1 5x2 13
x1, x2 0, 整数
(1)
若暂且不考虑 x1, x取2 整数这一条件.则(1)就变为下列 线性规划 :
max Z 20 x1 10 x2
s.t
52xx11
4x2 5x2
24 13
x1, x2 0
目前,常用的求解整数规划的方法有: 分支定界法和割平面法; 对于特别的0-1规划问题采用隐枚举法和匈牙利法。
§2 解纯整数规划的割平面法
考虑纯整数规划问题
n
max Z cjxj j 1
n
aijxj bis.tj 1xj0
xj取整数
i 1, 2....m
j 1, 2...n j 1, 2,..n
n
max Z (或 min Z ) c j x j j 1
运筹学 第五章 整数规划PPT课件

x 32
x 42
400
x 13
x 23
x 33
x 43
300
x 14 x 24 x 34 x 44 1 5 0
s
.t
x 11 x 21
x 12 x 22
x 13 x 23
x 14 x 24
400 600
x
31
x 32
x 33
x 34
200 y3
x 41 x 42 x 43 x 44 2 0 0 y 4
max Z 85x11 92x12 73x13 90x14 95x21 87 x22 78x23 95x24 82x31 83x32 79x33 90x34 86x41 90x42 80x43 88x44
要求每人做一项工作,约束条件为:
x11 x12 x13 x14 1
例5.3 设整数规划问题如下
max Z x1 x2
14 x1 9 x2 51
6 x1
3x2
1
x
1
,
x2
0且 为 整 数
首先不考虑整数约束,得到线性规划问题(一般称为松弛问题)
max Z x 1 x 2
14
x1 6x
1
9x2 3x
2
51 1
ቤተ መጻሕፍቲ ባይዱ
x
1
,
x2
0
用图解法求出最优解为:x1=3/2, x2 = 10/3,且有Z = 29/6
在很多场合,我们建立最优化模型时,实际问题要求决 策变量只能取整数值而非连续取值。此时,这类最优化 模型就称为整数规划(离散最优化)模型。
整数规划的求解往往比线性规划求解困难得多,而且, 一般来说不能简单地将相应的线性规划的解取整来获得。
《运筹学教程》(第三版)第五章 整数规划

现要决定应该建设工厂 A3 还是 A4,才能使今后每年的 总费用(即全部物资运费和新工厂生产费用之和)最少。
cij Ai
Bj B1
B2
B3
生产能力 B4 (kt/年)
A1
2
9
3
4
400
A2
8
3
5
7
600
A3
7
6
1
2
第五章 整数规划
第一节 整数规划的数学模型及解的特点 第二节 解纯整数规划的割平面法 第三节 分支定界法 第四节 0-1型整数规划 第五节 指派问题
第一节 整数规划的数学模型及解的特点
一、整数规划数学模型的一般形式
要求一部分或全部决策变量必须取整数值的规划问题称
为整数规划(integer programming,简记IP)。
对应的最优解 其中
xi aij x j bi i Q jK X * (x1*, x2*, , xn* )T
x*j
b
j
0
jQ jK
割平面法(cutting plane approach)是在1958年由高莫瑞 (R. E. Gomory)首先提出,故又称Gomory割平面法。用该方 法解整数规划时,若其松弛问题的最优解为整数时,它就是 纯整数规划的最优解,否则,从X*的非整分量中选取一个, 构造一个线性约束条件,将其加入原松弛问题中,形成一个 新的线性规划,然后再求解这个线性规划问题,反复重复这 个过程,直到获得整数最优解为止。
三、解的特点
整数线性规划及其松弛问题,从解的特点来说,二者 之间既有密切的联系,又有本质的区别。
运筹学 第五章 整数规划

M是足够大的整数,y 是0-1变量
14
f(x)-5 0
f(x) 0
(1)
(2)
-f(x)+5 M(1-y)
f(x) My
(3)
(4)
当y=1时,(1)(3)无差别,(4)式显然成立;
当y=0时,(2)(4)无差别,(3)式显然成立。
以上方法可以处理绝对值形式的约束
f(x) a (a>0)
31
5.1 分枝定界法 (Branch and Bound Method)
原问题的松驰问题: 任何整数规划(IP),凡放弃某些约束 条件(如整数要求)后,所得到的问题 (P) 都称为(IP)的松驰问题。 最通常的松驰问题是放弃变量的整数性 要求后,(P)为线性规划问题。
32
去掉整数约束,用单纯形法 IP LP
23
解法概述
当人们开始接触整数规划问题时,常会有 如下两种初始想法: 因为可行方案数目有限,因此经过穷举 法一一比较后,总能求出最好方案,例如, 背包问题充其量有2n种方式,实际上这种 方法是不可行。
设想计算机每秒能比较1000000个方式,那 么比较完260种方式,大约需要360世纪。
24
先放弃变量的整数性要求,解一个 线性规划问题,然后用“四舍五入” 法取整数解,这种方法,只有在变量 的取值很大时,才有成功的可能性, 而当变量的取值较小时,特别是0-1规 划时,往往不能成功。
Yes xI* = xl*
xl*
判别是否整数解
No 去掉非整数域 多个LP ……
33
分枝定界法步骤
一般求解对应的松驰问题,可能会出现 下面几种情况:
若所得的最优解的各分量恰好是整数, 则这个解也是原整数规划的最优解,计 算结束。
整数规划正确程序

整数规划(运筹学教程第五章)一、名词简介整数规划:规划中的变量部分或全部限值为整数时称为整数规划。
全部限制为整数叫做纯(完全)整数规划,部分限值为整数叫做混整数规划。
现在通常意义上的整数规划是整数线性规划,也就是说在线性规划模型中,变量限制为整数,则称为整数线性规划。
线性规划是一种数学方法,研究在线性条件下线性目标函数的最优解问题。
假设整数规划问题A,其相应的线性规划问题为B,B有最优解,当自变量限制为整数后,得到问题A,A的解会出现下述情况:①B最优解全是整数,则A最优解与B最优解一致。
②A无可行解。
③A有可行解(当然就存在最优解),但最优解值变差。
二、适用范围整数规划是规划论中尽30年才发展起来的一个重要分支。
主要是由于在经济管理中的大量问题抽象为模型时,许多量具有不可分割性,因此当这些量被作为变量引入规划中时,常需要满足取整条件。
如计划生产中生产多少台机器,人力资源管理中招聘多少员工,运输问题中从一个港口到另一个港口的集装箱调运数量,此外在运作管理总的决策问题:如工厂选址、人员的工作指派、设备购置和配置。
在规划模型中往往必须引入逻辑变量(即便量仅取0或1两个值)来反映冲突因素和抉择。
三、解题步骤a、根据影响所要达到目的的因素找到决策变量b、由决策变量和目的之间的关系确定目标函数c、由决策变量所受的条件确定决策变量索要满足的约束条件。
至此整数规划模型已经建立,接下来的任务是模型求解。
d、对A进行求解。
求解方法分类:(i)分枝定界法——可求纯或混合整数线性规划首先不考虑取整的约束,求出B的可行域,去掉不存在整数解的可行域部分,再去掉不存在最优解的可行域部分,不断缩小可行域,最终找到整数的最优解。
(ii)隐枚举法——求解“0-1”整数规划首先模型转化为求极小的问题。
其次变量代换,极小问题模型的目标函数中所有变量系数为负的0-1变量可利用变量代换X k=1−X k,,将目标函数中所有变量系数化为正数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B3,B4
• • • • • • • • • • • • B3 Max z=20x1+10x2 5x1+4x2≤24 2x1+5x2 ≤13 x1 ≤ 4, X2≤2; x1,x2≥0 B4 Max z=20x1+10x2 5x1+4x2≤24 2x1+5x2 ≤13 x1 ≤ 4, X2 ≥3 x1,x2≥0
§1 整数规划问题的提出
1. 2. 3. 4. 5. 6. 理解整数规划的数学模型 了解整数规划模型的类型 了解整数规划的求解方法 掌握分枝的思想和步骤 了解0-1规划的隐枚举法 掌握指派问题的数学模型和求解方法
背包问题
一背有容量为250 cm3的背包的小偷进入库房(或 某户人家或机房),他需要从若干物品中选择一定数量 装入背包带走。可选的物品有7种,其价值、体积及最 大的数量入下表:
什么是整数规划?
• 1、一个线性规划如果有某些决策变量 是整数,则称为整数规划(Integer programming); 2、整数规划的类型:
1. 纯整数规划; 2. 混合整数规划; 3. 0-1(整数)规划。
•
整数规划的可行解,最优解
• x2
3 2 +
1
+
1
+
2
+
3
+
4
+
5 6 7
•
x1
§2 分枝定界法
第五章 整数规划
§1 整数规划问题的提出 §2 分枝定界法 §3 割平面法 §4 0-1型整数规划 §5 指派问题
第五章 整数规划(重点和难点)
1、理解整数规划的数学模型 2、了解整数规划模型的类型 3、了解整数规划的求解方法 4、掌握分枝的思想和步骤(重点和难点) 5、理解割平面法的思想和步骤 5、了解0-1规划的隐枚举法 6、掌握指派问题的数学模型和求解方法 2/7 3/7 22/7 -3/7
13/7 1 9/7 0 31/7 0 0
割平面约束:-1/7x3-2/7x5<=-6/7
3 CB 3 -1 0 0 XB x1 x2 x4 x6 b 13/7 9/7 31/7 -6/7 x1 1 0 0 0 0
-1 x2 0 1 0 0 0
求解整数规划的方法
1. 分枝定界法; 2. 割平面法; 3. 其它算法。
分枝定界法
• 设有极大型的整数线性规划问题,记为 ILP ,与之对 应的普通线性规划问题记为 LP 。分枝定界法求解 ILP 问题的基本思路是: • 1、先从求解LP 问题开始,如果 LP 的解不符合整数 条件,那么 LP 的最优目标值必然构成ILP 最优目标 值的一个上界,记为 ; z • 2、而 ILP 的任意可行解的目标值都将是最优目标值 的一个下界,记为 z 。 • 所谓分枝定界法就是将LP 问题的可行域划分为两个 子域(分枝,中间去掉了一块没有整数可行解的部 分),使上界 逐步减小,而通过获得更好的整数可行 解使下界 z 逐步增大,最终求得最优解 z* 。
bi xi B
i 1
7
A1,A2,A3三个点中至多选两
A6,A7两个店中至少 选一个
x1 x2 x3 2 x4 x5 1 x6 x7 1
物品 1 2 3 15 4 50 5 80 6 30 7 500
价值(元) 200 150 5 5 体积(cm3) 2 15 数量
2 18
6 14
12 8
2 4
4 1
问小偷应如何选择物品才能使价值最大?
令xi表示小偷选择物品i的数量,则 背包问题的数学模型为 max z 200x1 150x2 15x3 50x4 80x5 30x6 500x7
分枝
• B1
• • • • • • • • • • • Max z=20x1+10x2 5x1+4x2≤24 2x1+5x2 ≤13 x1 ≤ 4 x1,x2≥0 B2 Max z=20x1+10x2 5x1+4x2≤24 2x1+5x2 ≤13 x1 ≥ 5 x1,x2≥0LP x2
B
B1 B2 4<x1<5
B5, B6
图5-4
B1(x1≤4)最优解
X1=4,x2=2.1 Z1=349 B3(x2≤2)最优解 X1=4,x2=2
B最优解
定界 0≤ Z≤356
X1=4.81,x2=1.82
Z0=356
B2(x1≥5)最优解
X1=5,x2=1.57 Z2=341 B4(x2≥3)最优解 X1=1.42,x2=3
0 0 1 0 0
x4
0 -1/4 -1/2 1/4 -1/4
x5
0 0 0 1 0
x6
1 -5/4 -11/4 -3/4 -17/4
割平面约束:-1/4x4-1/4x6<=-3/4
3
-1
0
0
0
CB
3 -1 0 0 0
XB
x1 x2 x3 x5 x4
b
1 2 4 1 3
x1
1 0 0 0 0
x2
0 1 0 0 0
什么叫0-1规划
• 0-1型整数规划是整数规划中的特殊情况, 它的变量xi仅取0或1,这时xi称为0-1变量 或二进制变量(binary), • xi仅取0或1这个条件可由下述约束条件所 取代: xi≤1, xi ≥0, Xi整数。 • 但是,0-1变量还有许多其它作用。 • 下面举例说明。
4.1 引入0-1变量的实际问题
最优解 X1=4,x2=2:整数可行解 Z3=340 最优解 X1=1.42,x2=3
Z4=327
定界
340≤ Z≤max(z2,z3,z4)=z2=341
由于B4的最优解小于目前的整数解340,因 此分解已无必要。
• • • • • • • • • • • •
B5 Max z=20x1+10x2 最优解 5x1+4x2≤24 X1=5.44,x2=1:整数可行解 2x1+5x2 ≤13 Z5=308 x1 ≥ 5, X2≤1; x1,x2≥0 B6 Max z=20x1+10x2 无可行解 5x1+4x2≤24 最终定界 2x1+5x2 ≤13 340≤ Z≤max(z3,z4, z5)=340, x1 ≥ 5, X2 ≥2 Z=340为最优值,最优解X1=4,x2=2 x1,x2≥0
x1
解得
B1 B2
Z1=349 X1=4 X2=2.1 X2≤2; X2 ≥3
Z2=341 X1=5 X2=1.57 X2≤1; X2 ≥2
• 修改上界和下界,得 • 0 ≤ z≤ max(z1,z2)= max(349,341)=349
对B1和B2再分枝定界
• B1
B3 B4
• B2 B5 B6
如何分枝和定界
• (定界) ,由于z0=356是原整数规划去掉整数约 束的最大值,因此它就是原整数规划的目标函数 值的上界,即 z≤ 356(为什么);找一个整数规划的 可行解x1=0,x2=0,对应的目标函数值 0,则它是整 数规划最优值的下界,因此0 ≤ z≤ 356. • (分枝)选择任一非整数变量(只选一个), x1=4.81,将x1≤4, x1 ≥5分别添加到线性规划B得 到两个新的原整数规划B1,B2: • 每次对一个线性规划问题进行分枝一次,就定界 一次。
例2
• • • • • • • • • • • • • 求解 A Max z=40x1+90x2 9x1+7x2≤56 7x1+20x2 ≤70 x1,x2≥0 x1,x2整数 解 先不考虑整数约束,用求解线性规划B:返回 Max z=40x1+90x2 9x1+7x2≤56 7x1+20x2 ≤70 x1,x2≥0 得最优解得x1=4.81,x2=1.82,最优值 z0=356. 如果x ,x 是整数,则就是最优解,否则分枝定。
解:
• (1)设决策变量
先引入0-1变量xi (i =1,2,…,7)
令
1 xi 0
选择在 Ai建店 否则
(2)用决策变量表达目标函数 和约束条件 收益最大
于是问题可列成:
Max z ci xi
i 1 7
投资总额不超过B
A4,A5两个点中至 少选一个
定界
0≤ Z≤349
定界 340≤ Z≤341
Z3=340
Z4=327
B5(x2≤1)最优解 X1=5,x2=1.57 Z2=308 B6(x2≥2) 无可行解
定界 340≤ Z≤340
§3 割平面法
• 1、分枝定界法本质上是一种对线性规划可行域的 分割方法,只是分割方式比较单一和规范。每次从 对应线性规划的最优解出发,选定某个取非整数值 的变量,挖掉其中的小数部分,将原可行域一分为 二。如此反复进行,直到发现最优整数解为止。 • 2、割平面法的思路也是采用求解对应线性规划的 方法去解整数规划的问题。通过增加适当的约束条 件,从原可行域中切割掉不含整数解的部分。但其 切割方式灵活多样,每次切割可以切一刀,也可以 同时切几刀。旨在造成一个具有整数坐标的顶点, 恰好对应着原问题的最优解
5 x1 5 x2 2 x3 6 x4 12x5 2 x6 4 x7 250 x1 2 x2 15 x3 18 x4 14 x5 8 x6 4 x7 1 xi 0, i 1,2,,7; xi 为整数。
数量约束
整数约束 体积约束
• 例1 某厂拟用集装箱托运甲乙两种货物,每箱 的体积、重量、可获利润以及托运所受限制如 表5-1:
0 x3 1/7 -2/7 -3/7 -1/7 -5/7