《运筹学》之整数规划
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
…
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
解:如果令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
组合法求解?
因为可行方案数目有限,所以找出所有组合方 案,经过一一比较后,总能求出最好方案,例 如,背包问题充其量有2n-1种方式;连线问题 充其量有n!种方式;实际上这种方法是不可行。
设想计算机每秒能比较1000000个方式,那么 要比较完20!(大于2*1018)种方式,大约需要 800年。比较完260种方式,大约需要360世纪。
根据变量的取值性质,又可 以分为全整数规划,混合整数规 划,0-1整数规划等。
整数规划研究现状
整数规划是数学规划中一个较 弱的分支,目前只能解中等规模的 线性整数规划问题,而非线性整数 规划问题,还没有好的办法。
背包问题
一登山队员做登山准备,他需要携带的物品有: 食品,氧气,冰镐,绳索,帐篷,照相机和通 讯设备,每种物品的重要性系数和重量如下: 假定登山队员可携带最大重量为25公斤,设计 方案,使携带的物品最重要。
指派问题:分析
效率 B1 B2 … Bn
A1
C11 C12 …
C1n
A2
C21 C22 …
C2n
… …… … …
An
Cn1 Cn2 …
Cnn
分配
Xij决定 Ai是否做工
A1
作Bj,为0-1 A2
决策变量 …
An
B1 B2 X11 X12 X21 X22 …… Xn1 Xn2
Cij为Ai完 成工作Bj 的效率
松驰问题解的可能性
➢ 若所得的最优解的各分量恰好是整数, 则这个解也是原整数规划的最优解,计 算结束。
➢ 若松驰问题无可行解,则原整数规划问 题也无可行解,计算结束。
➢ 若松驰问题有最优解,但其各分量不全 是整数,则这个解不是原整数规划的最 优解。
分支
从不满足整数条件的基变量中任选 一 个xl进行分支,它必须满足
矛盾约束
下面两个约束是相互矛盾
f(x) 5
(1)
或 f(x) 0
(2)
(1)表示为:5 –f(x) 0
(3)
引入一个0-1变量y,则:
5 - f(x) M(1-y) (4)
f(x) My
(5)
M是足够大的整数,y 是0-1变量
多中选一的约束
例如:模型希望在下列n个约束中,只能有一 个约束有效:
xi=1或xi=0 i=1,2,….7
一维背包问题
一个旅行者,为了准备旅行的必须用品,要 在背包内装一些最有用的东西,但有个限 制,最多只能装b公斤的物品,而每件物品 只能整个携带,这样旅行者给每件物品规 定了一个“价值”以表示其有用的程度, 如果共有n件物品,第j件物品aj公斤,其价 值为cj.问题变成:在携带的物品总重量不 超过b公斤条件下,携带哪些物品,可使总 价值最大?
分支定界法求解应用
例:max Z=4x1+3x2 s.t. 3x1+4x2 12 4x1+2x2 9
x1,x2 0 整数
用单纯形法可解得相应的松驰问题 的最优解(6/5,21/10)Z=111/10 为各分支的上界。
分支定界法求解应用:分支
x2
分支:X1 1,x1 2
4
3
2 P1
1
0
1
H
B(9.2,2.4)
G
1
F
x1
O 1 2 3 4 5 6 E 7 A8 9 10
分解可行域
假如把可行域分解成五个互不相交的子问题P1 、 P2、 P3、 P4、 P5、 P6之和, P4、 P5 、 P6的定义域都是空集, 而放弃整数要求后P1最优解I(2,4),Z1=58, P2最优解 (6,3),Z2=57, P3最优解(98/11,2),Z4=52。
Min z
cij xij cij 0
i1 j 1
n
xij 1
j 1
s.t.
n
xij 1
i1
xij
0 /1
指派问题:实例
有4 个工人,要指派他们分别完成4 项工作, 每人做各项工作所消耗的时间如下表:问 如何指派使总的消耗时间最小?
工作 A
人
甲
15
B CD 18 21 24
fi(x) M(1-yi), y1+ y2 + … + yn k
逻辑关系约束
比较典型的逻辑关系是 if-then关系,也称ifthen约束,这类逻辑关系一般涉及两个约束, 如果第一个约束成立,则第二个约束也必须 成立,否则,如果第一个约束不成立,则第 二个约束也可以不成立。可以描述如下:
如果f (x)<0成立,则g (x) 0必须成立; 如果f (x)<0不成立,则对g (x)无限制。 引入0-1变量: f (x) -M(1-y) (*)
x2 5
P4
D
(2,4)
4
3 2 P1
P5 (6,3)
P6 (9.2,2.4)
1
P2
P3 (98/11,2)
x1
O 1 2 3 4 5 6 7 A8 9 10
松弛问题解为整数解
假如放弃整数要求后,用单纯形 法求得最优解,恰好满足整数性 要求,则此解也是原整数规划的 最优解。
分支定界解法
原问题的松驰问题:任何整数规划 (IP),凡放弃某些约束条件(如 整数要求)后,所得到的问题(P) 都称为(IP)的松驰问题。
四舍五入?
先放弃变量的整数性要求,解一个线 性规划问题,然后用“四舍五入”法 取整数解,这种方法,只有在变量的 取值很大时,才有成功的可能性,而 当变量的取值较小时,特别是0-1规 划时,往往不能成功。
整数规划求解举例
例 求下列问题:
max Z=3x1+13x2 s.t. 2x1+9x2 40
求解子问题P12
(P12)max Z=4x1+3x2 s.t. 3x1+4x2 12 4x1+2x2 9
x1,x2 0 , 整数 x1 1, x2 3
用单纯形法可解得相应的(P12) 的最优解(0,3),Z=9。
分支求解结果
X1 2
P2:(2,1/2) Z=9(1/2)
P:(6/5,21/10) Z=111/10
fi(x) 0 i=1,2,….n, 引入 n个0-1变量yi (i=1,2,…n)
yi=0,表示第I个约束无效 yi=1,表示第I个约束有效 则上式可改写为: fi(x) M(1-yi) y1+ y2 + … + yn=1
多个约束有效
如果希望有k个约束有效,则:
fi(x) M(1-yi), y1+ y2 + … + yn= k 如果希望至多有k个约束成立,则: fi(x) M(1-yi), y1+ y2 + … + yn k 如果希望至少有k个约束成立,则:
4 P12
3
(P11) x2 2
(P12) x2 3
2
P1
1
P11
0
1
P2
2
3
x1 4
求解子问题P11
(P11)max Z=4x1+3x2 s.t. 3x1+4x2 12 4x1+2x2 9
x1,x2 0 , 整数
x1 1, x2 2 用单纯形法可解得相应的(P11) 的最优解(1,2),Z=10。
集合覆盖和布点问题
给定集合一的每个元素必须被 集合二的元素覆盖。在满足覆 盖集合一所有元素的前提下, 集合二的元素最少。该问题也 称为布点问题。
一维背包问题规划模型
序号
1
物品
A1
重量
a1
重要系数 c1
是否携带 x1
2 … j…n A2 … Aj … An a2 … aj … an c2 … cj … cn
x2 … xj … xn
要求
最大累计重量 b 重要系数最大
解:如果令xj=1表示
携带物品j, max
xj=0表示不携带
物品j,则问题 s.t.
序号 1 2 3 4 5 6 7
物品 食品 氧气 冰镐 绳索 帐篷 相机 设备
重量 5 5 2 6 12 2 4
重要 20 15 18 14 8 系数
4 10
背包问题规划模型
序号 物品 重量 重要系数 是否携带
1 食品
5 20
x1
2 氧气
5 15
x2
3 冰镐
2 18
x3
4 绳索
6 14
x4
5 帐篷
x1,x2 0 ,整数 x1 2
用单纯形法可解得相应的(P2)的 最优解(2,1/2), Z=9(1/2)
比较子问题的解
(P1)的最优解(1,9/4), Z=10(3/4) (P2)的最优解(2,1/2),Z=9(1/2) 分支(P1)的解更优,先分解分支(P1)。
分解分支(P1)
x2
再对(P1)分支:X1 1
I(2,4)
Z=3x1+13x2
3 B(9.2,2.4)
2
1 x1
O 1 2 3 4 5 6 7 A8 9 10
整点凸包
假如能求出可行域的“整点凸包”(包含所有整点的
最小多边形OEFGHIJ),则可在此凸包上求线性规
划的解,即为原问题的解。但求“整点凸包”十分困
难。 5 x2 D 4
J 3
2
I(2,4) I
一维背包问题一个旅行者为了准备旅行的必须用品要在背包内装一些最有用的东西但有个限制最多只能装b公斤的物品而每件物品只能整个携带这样旅行者给每件物品规定了一个价值以表示其有用的程度如果共有n件物品第j件物品aj公斤其价值为cj
整数规划
引言
整数规划是一类要求变量取 整数值的数学规划,可分成线性 和非线性两类。
11x1-8x2 82 x1,x2 0,且取整数值
整数解与松弛问题的解
可行域OABD内整数点,放弃整数要求后,最优解 B(9.2,2.4) Z0=58.8,而原整数规划最优解为I(2,4) Z0=58,实际上B附近四个整点(9,2)(10,2)(9,3)(10,3) 都不是原规划最优解。
x2 5 D 4
表示成0-1规划。
n
z c j x j j 1
n
ajxj b
j1
x
j
0或1,
j
1,2,...,n
整数规划(IP)一般数学模型
n
max z c j x j j 1
n
aij x j bi
i 1,2,...,m
s.t.
j 1
xj
0,
j 1,2,...,n
且x
部
j
分或
全部
为整数
g (x) My
逻辑关系约束说明
如果f (x)<0成立,则g (x) 0必须成立; 如果f (x)<0不成立,则对g (x)无限制。 引入0-1变量: 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) 的取值不受任何限 制。
P2
2
3
x1 4
求解子问题P1
(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)
求解子问题P2
(P2)max Z=4x1+3x2 s.t. 3x1+4x2 12 4x1+2x2 9
xl [xl ] 或 xl [xl ] +1 中的一个,把这两个约束条件加进原 问题中,形成两个互不相容的子问题 (两分法)。
定界
把满足整数条件各分支的最优目 标函数值作为上(下)界,用它 来判断分支是保留还是剪枝。
剪枝
把那些子问题的最优值与界值比 较,凡不优或不能更优的分支全 剪掉,直到每个分支都查清为止。