运筹学 第五章 整数规划
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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)两个子问题:
23
解法概述
当人们开始接触整数规划问题时,常会有 如下两种初始想法: 因为可行方案数目有限,因此经过穷举 法一一比较后,总能求出最好方案,例如, 背包问题充其量有2n种方式,实际上这种 方法是不可行。
设想计算机每秒能比较1000000个方式,那 么比较完260种方式,大约需要360世纪。
24
先放弃变量的整数性要求,解一个 线性规划问题,然后用“四舍五入” 法取整数解,这种方法,只有在变量 的取值很大时,才有成功的可能性, 而当变量的取值较小时,特别是0-1规 划时,往往不能成功。
引入0-1变量: f (x) -M(1-y) g (x) My (*)
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) 的取值不受任何限制。
① ②
(4,1)
0
1
2
3
4
4.8
x1
①
∴ x 1* = 4
x 2* = 1
zI* = 90
10
一般,整数规划的最优解不会优于相应 线性规划的最优解。
对于max问题, 对于min问题, zI* ≤ zl* zI* ≥ zl*
11
数学模型
整数规划(IP)的一般数学模型: Max Z = Σcjxj s.t. Σaijxj bi(i=1,2,…m) xj 0 且部分或全部是整数
35
若松驰问题有最优解,但其各分量不 全是整数,则这个解不是原整数规划的 最优解,转下一步。
36
若松驰问题有最优解,但其各分量不全 是整数,则这个解不是原整数规划的最 优解,转下一步。
从不满足整数条件的基变量中任选 一 个xl进行分枝,它必须满足xl [xl ] 或 xl [xl ] +1中的一个,把这两个约束条件加 进原问题中,形成两个互不相容的子问 题(两分法)。
此时 f(x) a f(x) -a 是矛盾约束。
15
(5) (6)
f(x) a
f(x) -a -f(x)+a M(1-y)
(5)
(6)
引入一个整数变量来处理
f(x)+a My
M是足够大整数,y 是0-1变量
注意:对 |f(x)| a (a>0) 不必引入0-1变 量,因为f(x) a和f(x) -a并不矛盾。
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)
(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
Yes xI* = xl*
xl*
判别是否整数解
No 去掉非整数域 多个LP ……
33
分枝定界法步骤
一般求解对应的松驰问题,可能会出现 下面几种情况:
若所得的最优解的各分量恰好是整数, 则这个解也是原整数规划的最优解,计 算结束。
34
分枝定界法步骤
一般求解对应的松驰问题,可能会出现 下面几种情况: 若所得的最优解的各分量恰好是整数, 则这个解也是原整数规划的最优解,计 算结束。 若松驰问题无可行解,则原整数规划 问题也无可行解,计算结束。
37
定界:把满足整数条件各分枝的最优 目标函数值作为上(下)界,用它来判 断分枝是保留还是剪枝。
38
定界:把满足整数条件各分枝的最优 目标函数值作为上(下)界,用它来判 断分枝是保留还是剪枝。 剪枝:把那些子问题的最优值与界值 比较,凡不优或不能更优的分枝全剪掉, 直到每个分枝都查清为止。
而 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)
第五章 整数规划
1
整数规划是一类要求变量取整数值 的数学规划,可分成线性和非线性两类 (本章讨论线性)。
根据变量的取值性质,又可以分为 纯整数规划,混合整数规划,0-1整数 规划等。
2
整数规划是数学规划中一个较 弱的分支,目前只能解中等规模的线 性整数规划问题,而非线性整数规划 问题,还没有好的办法。
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)
6
例 背包问题( Knapsack Problem) 一个旅行者,为了准备旅行的必须用品,要 在背包内装一些最有用的东西,但有个限 制,最多只能装b公斤的物品,而每件物品只 能整个携带,这样旅行者给每件物品规定 了一个“价值”以表示其有用的程度,如 果共有n件物品,第j件物品aj公斤,其价值为 cj.问题变成:在携带的物品总重量不超过b 公斤条件下,携带哪些物品,可使总价值最 大?
20
逻辑关系约束
比较典型的逻辑关系是 if-then关系,也 称if-then约束,这类逻辑关系一般涉及 两个约束,如果第一个约束成立,则第 二个约束也必须成立,否则,如果第一 个约束不成立,则第二个约束也可以不 成立。可以描述如下:
21
如果f (x)<0成立,则g (x) 0必须成立;
如果f (x)<0不成立,则对g (x)无限制。
3
例:一登山队员做登山准备,他需 要携带的物品有:食品,氧气, 冰镐,绳索,帐篷,照相机和通 讯设备,每种物品的重要性系数 和重量如下,假定登山队员可携 带最大重量为25公斤。问:如何 装备?
4
序号
1
2
3
4
5
6
7
物品 食品 氧气 冰镐 绳索 帐篷 相机 设备 重量 重要 系数 5 20 5 15 2 18 6 14 12 8 2 4 4 10
12
特殊约束的处理(IP的应用)
互斥约束
矛盾约束
在建立数学模型时,有时会遇到相 互矛盾的约束,模型只要求其中的 一个约束起作用。
13
例:下面两个约束相互矛盾
f(x)-5 0
f(x) 0 -f(x)+5 M(1-y) f(x) My
(1)
(2)
引入一个整数变量来处理
(3) (4)
16
例:两个约束条件
2x1+3x2 8
x1+ x2 2 只能有一个成立,试用0-1变量来表示这 个要求。
解:引入0-1变量y和足够大的正数M, 则
17
2x1+3x2 8
8-2x1-3x2 M(1-y)
x1+ x2 2
x1+ x2 - 2 My
当y=0, x1+ x2 2 成立,
分析:设x1为甲货物托运箱数,x2为乙货物托运箱数。 则 max z = 20x1 + 10x2 5x1 + 4x2 ≤ 24 ① 2x1 + 5x2 ≤ 13 ② x1,x2 ≥ 0 x1,x2取整数
9
图解法:
② 2.6
x2
2 1
max z = 20x1 + 10x2 5x1 + 4x2 ≤ 24 2x1 + 5x2 ≤ 13 x1,x2 ≥ 0 x1,x2取整数
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
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)
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
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,且取整数值
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
假如放弃整数要求后,用单纯形法 求得最优解,恰好满足整数性要求, 则此解也是原整数规划的最优解。 以上内容中描述了目前解整数规划问 题的两种基本途径。
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
5
解:如果令xi=1表示登山队员携带物品i, xi=0表示登山队员不携带物品i,则问题表 示成0-1规划: Max Z= 20x1+15x2 +18x3 +14x4 +8x5 +4x6 +10x7 s.t. 5x1 + 5x2 +2x3 +6x4 +12x5 +2x6 +4x7 25
xi=1或xi=0 i=1,2,….7
31
5.1 分枝定界法 (Branch and Bound Method)
原问题的松驰问题: 任何整数规划(IP),凡放弃某些约束 条件(如整数要求)后,所得到的问题 (P) 都称为(IP)的松驰问题。 最通常的松驰问题是放弃变量的整数性 要求后,(P)为线性规划问题。
32
去掉整数约束,用单纯形法 IP LP
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