运筹学 第五章 整数规划
运筹学 第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
《运筹学》之整数规划
…
Bn
…
X1n
…
X2n
……
…
Xnn
指派问题:分配要求
分配 B1 B2 … Bn 工作数
A1
X11
X12
… X1n
∑X1j
A2
X21
X22
… X2n
∑X2j
…
…
…
……
…
An 人数 要求
Xn1 ∑Xi1 1
Xn2 ∑Xi2 1
… Xnn … ∑Xin …1
∑Xnj
要求 1 1
… 1
指派问题:模型
n n
X1 1
P1:(1,9/10 X2 2 X2 3 P12: (0,3) Z=9
原问题的最优解(1,2) Z=10。
指派问题
设有n 个人A1, A2, …An,要分派去做n件事B1, B2… Bn,要求每一件事都 必须有一个人去做,而 且不同的事由不同的人去做.已知每个人Ai做每 件事Bj的效率(如劳动工时或成本,或创造的价值 等)为Cij,问应如何进行指派(哪个人做哪件事),才 能使 工作效益最好(如工时最少,或成本最低,或 创造的价值最大)?
乙
19 23 22 18
丙
26 17 16 19
丁
19 21 23 17
指派问题:思考问题
1、人数比工作数多怎么处理? 2、人数比工作数少,模型会怎
样变化? 3、计算机求解方法?
特殊约束的处理
➢互斥约束 ➢矛盾约束 在建立数学模型时,有时会遇到相 互矛盾的约束,模型只要求其中的 一个约束起作用。
12 8
x5
6 相机
2 4
x6
7 设备
4 10
x7
运筹学课件第五章 整数规划
第一节 整数规划的数学模型
解的特点: 整数规划
松弛问题
max c x Ax b s .t . x 0, x为整数
max c x Ax b s .t . x 0
1、整数规划可行域是松弛问题可行域的子集
2、整数规划最优值小于等于松弛问题的最优值
第一节 整数规划的数学模型
P1 P2
P4
以上描述了目前解整数规划问题的一种思路。
第二节 分支定界法
思路:切割可行域,去掉非整数点。 解题步骤: 1、不考虑整数约束,解相应松弛问题。 2、检查是否符合整数要求,是,则得最优解,完毕。 否则,转下步。 3、任取一个非整数变量xi=bi,构造两个新的约束条 件:xi ≤[bi],xi≥[bi]+1,分别加入到上一个LP问 题,形成两个新的分枝问题。 4、不考虑整数要求,解分枝问题。若整数解的Z值 大于所有分枝末梢的Z值,则得最优解。否则, 取Z值最大的非整数解,继续分解,Go to 3。
序号 1 2 3 4 5 6 7
物品
重量 系数
食品
5 20
氧气
5 15
冰镐
2 18
绳索
6 14
帐篷
12 8
相机
2 4
设备
4 10
第三节
0-1型整数规划
解:令xi=1表示登山队员携带物品i,xi=0表示登 山队员不携带物品i,则得: Max Z=20x1+15x2+18x3+14x4+8x5+4x6+10x7
第三节
(x1,x2,x3) z值
0-1型整数规划
1 2 3 4 过滤条件
(0,0,0)
运筹学第五章整数规划
分解 ai0 , j和 bi0 成最大整数与正分数之和:
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:21
xi0 ai0 , j x j bi0 xi0 ( Ni0 , j f i0 , j )x j Ni0 f i0 xi0 Ni0 , j x j Ni0 f i0 f i0 , j x j
S1
x2 2
B: x1=2,x2=23/9 Z=41/9
x2 3
D: S12 x1=33/14,x2=2 Z=61/14
S11
无可行解
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:15
对S12分枝:
构造约束:
x1 3
X
2 5
4
和
x1 2
3
3 10 A( , ) 2 3
形成分枝问题S121 和S122,得解E和F
形成松弛问题2
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:24
CB XB 3 x1 -1 0 0 x2 x4 x6
3 -1 0 0 x1 x2 x3 x4 1 0 1/7 0 0 0 0 0 1 -2/7 0
0 x5 2/7 3/7
0 x6 0 0 0 1 0
b 13/7 9/7 31/7 -6/7
首先不考虑变量的整数约束,求解相应的线性规划问题:
z0
Max z = CX AX = b X0
D
C
下界
O Ir
Max z = CX AX = b xr Ir X0 Max z = CX AX = b xr Ir+1 X0
运筹学 第五章整数规划
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课件
1/7
0
2/7
0
1 -2/7
0
3/7
0
0 -3/7
1 22/7
0 0 -5/7 0 -3/7
• 选择较大小数的行构造割平面
1 7
x3
2 7
x5
6 7
1 7
x3
2 7
x5
x6
6 7
2020/6/30
.--线性规划
14
cj
3
-1
0
0
00
XB
b
x1
x2
x3
x4
x5
x6
3
x1
13/7
1
-1
x2
9/7
0
0
x4
2020/6/30
3
3
第一节 整数规划的数学模型
例5.1 某公司拟用集装箱托运甲、乙两种货物,这两种货物每件 的体积、重量、可获利润以及托运所受限制如表所示。
货物
甲 乙 托运限制
每件体积 (立方英尺)
195 273
1365
每件重量 (百千克)
4 40
140
每件利润 (百元)
2 3
甲种货物至多托运4件,问两种货物各托运多少件,可使获得利润 最大?
0 fr 1 0 frj 1
则有
xBr (Nrj frj )x j Nr fr jJ
xBr Nrj x j Nr fr frj x j
jJ
jJ
等式两边都为整数并且有
fr frj x j fr 1 fr frj x j 0
jJ
jJ
2020/6/30
10
则
fr frj x j 0
运筹学 第四版 第五章 整数规划
货物/箱 甲 乙
托运限制/集 装箱
体积/米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
广工管理运筹学第五章 整数规划
0,若工序B采用了新加工方式 y2 = 1,若工序B不采用了新加工方式
于是两个互斥的约束条件可以下述三个约束条件统一
起来:
0.3x1 0.5x2 150 M1 y1 0.2x1 0.4x2 120 M 2 y2 y1 y2 1
其中M1与M2都是形式上的大正数。
x21+a21 x11+M(1-y1) x32+a32 x22+M(1-y2) x33+a33 x13+M(1-y3) x24+a24 x14+M(1-y4)
第 五 章
整 数 规 划
第一节 整数规划实例与一般模型
在前面讨论的线性规划问题中,最优解可能 是整数,也可能不是整数,但某些实际问 题,例如,人数、机器设备的台数、项目 的个数等,这都涉及到要求部分或全部变 量取整数的规划问题,我们把这一类的规 划问题称为整数规划,整数规划又分线性 整数规划和非线性整数规划。
再比如 x1+x2+x3=1表示方案A1, A2, A3中恰好采用一个 x1+x2+x3 ≤2表示方案A1, A2 ,A3中最多采用两个 x1+x2+x3 ≥ 2表示方案A1, A2 ,A3中至少采用两个 x1 ≥ x3 表示如果采用方案A3,则必采用方案 A1
••••••
例如p130例2
0-1型变量还常常用来表示在多个不相容的条 件(目标)之间的选择。
x1≤1
LP2
C
LP1
x1=1, x2=7/3
z=10/3
问题LP2是否应继 续分支。
LP12
x2≤2
D x1=33/14, x2=2
z=61/14
《运筹学》第5章 整数规划(割平面法)
第5章整数规划(割平面法)求解整数规划问题:Max Z=3x1+2x22x1+3x2≤144x1+2x2≤18x1,x2≥0,且为整数解:首先,将原问题的数学模型标准化,这里标准化有两层含义:(1)将不等式转化为等式约束,(2)将整数规划中所有非整数系数全部转化为整数,以便于构造切割平面。
从而有:Max Z=3x1+2x22x1+3x2+x3=142x1+x2+x4=9x1,x2≥0,且为整数利用单纯形法求解,得到最优单纯形表,见表1:表1最优解为:x1=13/4, x2=5/2, Z=59/4根据上表,写出非整数规划的约束方程,如:x2+1/2x3-1/2x4=5/2 (1)将该方程中所有变量的系数及右端常数项均改写成“整数与非负真分数之和”的形式,即:(1+0)x2+(0+1/2)x3+(-1+1/2)x4=2+1/2把整数及带有整数系数的变量移到方程左边,分数及带有分数系数的变量称到方程右边,得:x2 - x4-2 =1/2-(1/2x3+1/2x4) (2)由于原数学模型已经“标准化”,因此,在整数最优解中,x2和x4也必须取整数值,所以(2)式左端必为整数或零,因而其右端也必须是整数。
又因为x3,x4 0,所以必有:1/2-(1/2x3+1/2x4)<1由于(2)式右端必为整数,于是有:1/2-(1/2x3+1/2x4)≤0 (3)或x3+x4≥1 (4)这就是考虑整数约束的一个割平面约束方程,它是用非基变量表示的,如果用基变量来表示割平面约束方程,则有:2x1+2x2≤11 (5)从图1中可以看出,(5)式所表示的割平面约束仅割去线性规划可行域中不包含整数可行解的部分区域,使点E(3.5,2)成为可行域的一个极点。
图1在(3)式中加入松弛变量x5,得:-1/2x3-1/2x4+x5=-1/2 (6)将(6)式增添到问题的约束条件中,得到新的整数规划问题:Max Z=3x1+2x22x1+3x2+x3=142x1+x2+x4=9-1/2x3-1/2x4+x5=-1/2x i≥0,且为整数,i=1,2,…,5该问题的求解可以在表1中加入(6)式,然后运用对偶单纯形法求出最优解。
运筹学 第五章(清华三版)
构造割平面约束的一般方法如下: 构造割平面约束的一般方法如下: (1)在松弛问题的最优表中,设b列的第 个分量 k为 在松弛问题的最优表中, 列的第k个分量 在松弛问题的最优表中 列的第 个分量b 非整数,可将它分解为整数和非整数部分之和, 非整数,可将它分解为整数和非整数部分之和,即 bk =Nk + fk , Nk< bk 且为整数,0< fk <1。 且为整数, < 。 (2)然后,第k行中的每一个非基变量 xj的系数 akj也 然后, 然后 行中的每一个非基变量 分解为整数与非负数之和的形式, 分解为整数与非负数之和的形式,即 akj= Nkj + fkj ;Nkj ≤ akj ; 0≤ fk <1,则割平面方程为: 则割平面方程为: 则割平面方程为
−1
7
x3 − 2
7
x5 ≤ − 6
7
⑴
将割平面约束⑴变为等式约束后, ②将割平面约束⑴变为等式约束后,并入松弛问题 的最优表中,见下表。 的最优表中,见下表。
cj
CB
3 -1 0 0
3
-1
0
0
0
0
cj − zj
XB x1 x2 x4 x6
b
13/7 9/7 31/7 -6/7
x1
1 0 0 0 0
结论: 结论: 不能把松弛问题的最优解通过“四舍五入” ⑴ 不能把松弛问题的最优解通过“四舍五入” 或“截尾”(即凑整)处理后作为整数规划的 截尾” 即凑整) 最优解。不过,在变量取值很大时, 最优解。不过,在变量取值很大时,用上述方 法得到的解与最优解差别不大。 法得到的解与最优解差别不大。 不是可行域的顶点, ⑵ 点(4,1)不是可行域的顶点,所以直接用图解 不是可行域的顶点 法或单纯形法无法求出整数规划问题的最优 解.
运筹学 第五章 整数规划
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
分枝定界法步骤
一般求解对应的松驰问题,可能会出现 下面几种情况:
若所得的最优解的各分量恰好是整数, 则这个解也是原整数规划的最优解,计 算结束。
运筹学第五章 整数规划
第五章 整数规划主要内容:1、分枝定界法; 2、割平面法; 3、0-1型整数规划; 4、指派问题。
重点与难点:分枝定界法和割平面法的原理、求解方法,0-1型规划模型的建立及求解步骤,用匈牙利法求解指派问题的方法和技巧。
要 求:理解本章内容,熟练掌握求解整数规划的方法和步骤,能够运用这些方法解决实际问题。
§1 问题的提出要求变量取为整数的线性规划问题,称为整数规则问题(简称IP )。
如果所有的变量都要求为(非负)整数,称之为纯整数规划或全整数规划;如果仅一部分变量要求为整数,称为混合整数规划。
例1 求解下列整数规划问题211020max x x z += ⎪⎪⎩⎪⎪⎨⎧≥≤+≤+为整数21212121,0,13522445x x x x x x x x 如果不考虑整数约束,就是一个线性规划问题(称这样的问题为原问题相应的线性规划问题),很容易求得最优解为:96max ,0,8.421===z x x 。
50用图解法将结果表示于图中画“+”号的点都是可行的整数解,为满足要求,将等值线向原点方向移动,当第一次遇到“+”号点(1,421==x x )时得最优解为1,421==x x ,最优值为z=90。
由上例可看出,用枚举法是容易想到的,但常常得到最优解比较困难,尤其是遇到变量的取值更多时,就更困难了。
下面介绍几种常用解法。
§2 分枝定界法分枝定界法可用于解纯整数或混合的整数规划问题。
基本思路:设有最大化的整数规划问题A ,与之相应的线性规划问题B ,从解B 开始,若其最优解不符合A 的整数条件,那么B 的最优值必是A 的最优值*z的上界,记为z;而A 的任意可行解的目标函数值是*z的一个下界z,采取将B 的可行域分枝的方法,逐步减少z 和增大z ,最终求得*z 。
现举例说明: 例2 求解A219040max x x z +=⎪⎪⎩⎪⎪⎨⎧≥≤+≤+为整数21212121,0,702075679x x x x x x x x 解:先不考虑条件⑤,即解相应的线性规划B (①--④),得最优解=1x 4.81, =2x 1.82, =0z 356(见下图)。
运筹学 第五章 整数规划 2013-01-24
整数规划的数学模型实例
整数规划解的特点
• 某厂拟用集装箱托运甲乙两种货物,每箱的体 积、重量和可获得的利润及托运所受限制如表, 问两种货物各托运多少箱,使得利润最大? • 设甲乙两种货物各托运X1,X2箱
货物 甲
体积 5
重量 2
利润 20
乙 托运 限制
4 24
5 13
10
Max z=20x1+10x2 5x1+4x2≤24 2x1+5x2≤13 x1,x2≥0且为整数
B(5, 3)
012345678
4 3 2 1
A(2.6, 3.8)
B(5, 3)
0
1
2
3
4
5
6
7
8
线性规划的最优解A(x1, x2)=(2.6, 3.8)不是整数解,目标 函数值为z=17.8。整数规划的最优解B(x1, x2)=(5,3)目标函数值 为z=17。线性规划最优解A(2.6, 3.8)四舍五入得到的解为(3,4), 不是可行解;舍去尾数取整的解为(2,3),目标函数值z=14。 因此整数规划的最优解一般不能由线性规划的最优解通过 简单的取整得到。
5/6 -1/6 -2/3 1/3 -1/6 -1/6
CB
1
例(接上):
cj 1 1 0 0 0
XB
X1
b
5/3
x1
1
x2
0
x3
x4
x5
0
4 4 x 5 (x 3 x 4 2x 5 ) 5 5
cj 1 b 1 x1 1 0 0 0 4 2 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 x4 -1 1 1 0 -1 1 1 0 0 x5 1 0 x6 0 x2 x3
运筹学 第五章 整数规划
( Integer Programming )
本章主要内容:
整数规划的特点及应用 分支定界法 0-1 整数规划 指派问题
1 2022/1/24
在很多场合,我们建立最优化模型时,实际问题要求决 策变量只能取整数值而非连续取值。此时,这类最优化 模型就称为整数规划模型。
整数规划的求解往往比线性规划求解困难得多,而且, 一般来说不能简单地将相应的线性规划的解取整来获得。
现求整数解(最优解):如用舍
入取整法可得到4个点即(1,
x2
⑴
⑵
3),(2,3),(1,4),(2,4)。显然,
它们都不可能是整数规划的最优 3 解。
(3/2,10/3)
按整数规划约束条件,其可行 解肯定在线性规划问题的可行域 内且为整数点。故整数规划问题 的可行解集是一个有限集,如右
图所示。其中(2,2),(3,1)点的目 标函数值最大,即为Z=4。
x2
找到整数解,问题已探明,此
枝停止计算。
3
同理求LP2,如图所示。在C 点 取得最优解。即:
x1=2, x2 =10/3,
Z(2)=-56/3≈-18.7
1
∵Z(2)< Z(1)=-16
∴原问题有比-16更小的最优
解,但 x2 不是整数,故继续 分支20。22/1/24
⑵ ⑴
A(18/11,40/11)
5
x1
x1
6x2 30 4
LP
2022/1/24
x1 , x2 0
17
分支定界法
用图解法求松弛问题的最优解,如图所示。
x1=18/11, x2 =40/11 Z=-218/11≈(-19.8)
燕山大学运筹学第五章 整数规划
-1/4x4 + 1/4x6≤-3/4 余下略
第三节 分支定界法
一、基本思想
定界:为求解纯整数规划和混合整数规 划问题(A),先求出其松弛问题(B)的最优 解,作为问题A的最优目标函数值的上界, 同时选择任意整数可行解作为A的最优目标 函数值的下界。
分支:将应为整数解,但尚是非整数解 之一的决策变量取值分区,并入松弛问题中, 形成两个分支松弛问题,分别求解。依结果 来调整上下界。
xij≥0, y=0或1
第二节 解纯整数规划的割平面法
一、基本思想
找到纯整数线性规划的松弛问题,不考 虑整数约束条件,但增加线性约束条件,将 松弛问题的可行域切割一部分,但不切割掉 任何整数解,只切割掉包括松弛问题的最优 解在内的非整数解。
二、割平面求解举例
Max Z=x1+x2
-x1+x2≤1
MaxZ=3x1-x2 3x1-2x2≤3 5x1+4x2≥10 2x1+x2≤5 x1,x2≥0
1 1 0 00
CB XB
b
x1 x2 x3 x4 x5
3 x1 13/7 1 0 1/7 0 2/7
-1 x2 9/7 0 1 -2/7 0 3/7
0 x4 31/7 0 0 -3/7 1 22/7
3x1+x2 ≤4
松弛问题
x1 , x2≥0且为整数
Max Z=x1+x2 -x1+x2≤+1x3 =1 3x1+x2 ≤+4x4=4 x1 , x2≥0
不考虑整数解约束,解松弛问题的最优单纯形表为:
1
1
0
0
CB
XB
b
x1
x2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
22
f (x) -M(1-y)
(*)
g (x) My
如果f (x)<0成立,则y不能为1,否则与(*)矛 盾; 所以 y=0, g (x) 0 成立。 如果 f (x) 0(即f (x)<0不成立) 则y的取值已无关紧要,因为y取任何值(*)总 成立,所以y的取值不由(*)控制,因此g (x) 的取值不受任何限制。
P1
1 P2 0 1 2 3 4 x1
41
两个子问题: (P1)Max Z=4x1+3x2
s.t. 3x1+4x2 12
4x1+2x2 9 x1,x2 0 , x1 1 ,整数 用单纯形法可解得相应的(P1)的最 优解(1,9/4) Z=10(3/4)
42
(P2)Max Z=4x1+3x2 s.t. 3x1+4x2 12
39
例: 用分枝定界法求解:
Max Z=4x1+3x2
s.t. 3x1+4x2 12
4x1+2x2 9
x1,x2 0 整数 用单纯形法可解得相应的松驰问题的 最优解(6/5,21/10)Z=111/10为各分 枝的上界。
40
x2 4 3 2
分枝:x1 1,x1 2
(6/5,21/10)
此时 f(x) a f(x) -a 是矛盾约束。
15
(5) (6)
f(x) a(6)
引入一个整数变量来处理
f(x)+a My
M是足够大整数,y 是0-1变量
注意:对 |f(x)| a (a>0) 不必引入0-1变 量,因为f(x) a和f(x) -a并不矛盾。
4x1+2x2 9
x1,x2 0 , x1 2 ,整数 用单纯形法可解得相应的(P2)的最 优解(2,1/2) Z=9(1/2)
43
再对(P1) x1 1 (1,9/4)分枝:
x2 4
(P3) x2 2
P4
(P4) x2 3
3
2
P1
1 P3 0 1
P2 2
3
4
x1
44
(P1)两个子问题:
20
逻辑关系约束
比较典型的逻辑关系是 if-then关系,也 称if-then约束,这类逻辑关系一般涉及 两个约束,如果第一个约束成立,则第 二个约束也必须成立,否则,如果第一 个约束不成立,则第二个约束也可以不 成立。可以描述如下:
21
如果f (x)<0成立,则g (x) 0必须成立;
如果f (x)<0不成立,则对g (x)无限制。
而 2x1+3x2 8-M 自然成立,从而是多余的;
当y=1, 2x1+3x2 8 成立,
而 x1+ x2 2+M 自然成立,从而是多余的。
18
多中选一的约束
例如:模型希望在下列n个约束中,只能 有一个约束有效, fi(x) 0 i=1,2,….n. 引入 n个0-1变量yi , i=1,2,…n,则上式可改 写为: fi(x) M(1-yi)
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)
5 D 4 3 I(2,4) P3
2
1 O
P1
P2
P5 P4 5 6 7 A8 9
B(9.2,2.4)
1
2
3
4
10
x1
29
X1 2 X2 3 X1 6 P
P1 P2 P3
X2
4
X1
3
X1
X2 2
P4
7
X2
3
P5
30
假如放弃整数要求后,用单纯形法 求得最优解,恰好满足整数性要求, 则此解也是原整数规划的最优解。 以上内容中描述了目前解整数规划问 题的两种基本途径。
3
例:一登山队员做登山准备,他需 要携带的物品有:食品,氧气, 冰镐,绳索,帐篷,照相机和通 讯设备,每种物品的重要性系数 和重量如下,假定登山队员可携 带最大重量为25公斤。问:如何 装备?
4
序号
1
2
3
4
5
6
7
物品 食品 氧气 冰镐 绳索 帐篷 相机 设备 重量 重要 系数 5 20 5 15 2 18 6 14 12 8 2 4 4 10
1 2
5 D 4 3
I(2,4)
B(9.2,2.4)
2
1 O 1 2 3 4 5 6 7 A8 9 10
x1
27
x2 5 D 4 3
假如能求出可行域的“整点凸包”(包含所有 整点的最小多边形OEFGHIJ),则可在此凸 包上求线性规划的解,即为原问题的解。但求 “整点凸包”十分困难。
I(2,4)
J
6
例 背包问题( Knapsack Problem) 一个旅行者,为了准备旅行的必须用品,要 在背包内装一些最有用的东西,但有个限 制,最多只能装b公斤的物品,而每件物品只 能整个携带,这样旅行者给每件物品规定 了一个“价值”以表示其有用的程度,如 果共有n件物品,第j件物品aj公斤,其价值为 cj.问题变成:在携带的物品总重量不超过b 公斤条件下,携带哪些物品,可使总价值最 大?
25
例 求下列问题: Max Z=3x1+13x2 s.t. 2x1+9x2 40
11x1-8x2 82
x1,x2 0,且取整数值
26
Max Z=3x1+13x2 放弃整数要求后,最优解B(9.2,2.4) 400=58.8, s.t. 2x1+9x2 Z 而原整数规划最优解I(2,4) Z0=58,实际上B附 11x1-8x2 82 近四个整点(9,2)(10,2)(9,3)(10,3)都不是原规划 x2 最优解。 x ,x 0,且取整数值
I H B(9.2,2.4) G F 1 2 3 4 5 6 E 7 A8 9 10 x1
28
2
1
O
假如把可行域分解成五个互不相交的子问题 P1 P2 P3 P4 P5之和, P3 P5的定义域都是空集,而 x2 放弃整数要求后P1最优解I(2,4),Z1=58 P2最优 解(6,3),Z2=57 P4最优解(98/11,2),Z4=52(8/11)
23
解法概述
当人们开始接触整数规划问题时,常会有 如下两种初始想法: 因为可行方案数目有限,因此经过穷举 法一一比较后,总能求出最好方案,例如, 背包问题充其量有2n种方式,实际上这种 方法是不可行。
设想计算机每秒能比较1000000个方式,那 么比较完260种方式,大约需要360世纪。
24
先放弃变量的整数性要求,解一个 线性规划问题,然后用“四舍五入” 法取整数解,这种方法,只有在变量 的取值很大时,才有成功的可能性, 而当变量的取值较小时,特别是0-1规 划时,往往不能成功。
35
若松驰问题有最优解,但其各分量不 全是整数,则这个解不是原整数规划的 最优解,转下一步。
36
若松驰问题有最优解,但其各分量不全 是整数,则这个解不是原整数规划的最 优解,转下一步。
从不满足整数条件的基变量中任选 一 个xl进行分枝,它必须满足xl [xl ] 或 xl [xl ] +1中的一个,把这两个约束条件加 进原问题中,形成两个互不相容的子问 题(两分法)。
(P3)Max Z=4x1+3x2
s.t. 3x1+4x2 12
4x1+2x2 9
x1,x2 0 ,x1 1, x2 2整数
用单纯形法可解得相应的(P3)的最 优解(1,2) Z=10 为上界
45
(P1)两个子问题:
(P4)Max Z=4x1+3x2
s.t. 3x1+4x2 12 4x1+2x2 9 x1,x2 0 ,x1 1, x2 3整数 用单纯形法可解得相应的(P4)的最 优解(0,3) Z=9
7
解:如果令xj=1表示携带物品j,xj=0表 示不携带物品j,则问题表示成0-1规划: Max Z = Σcjxj s.t. Σajxj b xj=0 或1
8
例 用集装箱托运货物 货物 m3/箱 百斤/箱 百元/箱 问:甲乙货物托运多少 甲 5 2 20 箱,使总利润最大?
乙 限制 4 24 5 13 10
y1+ y2 + … + yn=1
19
如果希望有k个约束有效,则:
fi(x) M(1-yi), y1+ y2 + … + yn= k
如果希望至多有k个约束成立,则: fi(x) M(1-yi), y1+ y2 + … + yn k 如果希望至少有k个约束成立,则: fi(x) M(1-yi), y1+ y2 + … + yn k
37
定界:把满足整数条件各分枝的最优 目标函数值作为上(下)界,用它来判 断分枝是保留还是剪枝。
38
定界:把满足整数条件各分枝的最优 目标函数值作为上(下)界,用它来判 断分枝是保留还是剪枝。 剪枝:把那些子问题的最优值与界值 比较,凡不优或不能更优的分枝全剪掉, 直到每个分枝都查清为止。