运筹学课程06-整数规划(胡运权 清华大学)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NEUQ
全整数规划:除了所有决策变量要求取非负整数外,系数 和常数也要求取整数(这时引进的松弛变量和剩余变量也必须 是整数)。
混合整数规划:只有一部分的决策变量要求取非负整数, 另一部分可以取非负实数。 0-1整数规划:所有决策变量只能取 0 或 1 两个整数。
14
NEUQ
3、IP与LP关系:
设整数规划问题如下
c1n c2n cin b c nn
min Z Z b
min Z Z b
,则X 0也是 min Z的最优解 若X 0是 min Z的最优解
24
NEUQ
指派问题的最优解: 若 C中有n 个位于不同行不同列的零元素,则令这
些零元素对应的变量取1,其余变量取零,即得指派问 题的最优解 匈牙利算法:
B1 B2 L Bn A1 c11 c12 L c1n a1 f1 A2 c21 c22 L c2 n a2 f 2 M M M M M M Am cm1 cm 2 L cmn am f m b1 b2 L bn
6
NEUQ
设: xij 表示从工厂运往销地的运量(i=1.2…m; j=1.2…n), 1 在Ai建厂 又设 yi= (i=1.2…m) 0 不在Ai建厂 m 模型: min Z cij xij f i yi
NEUQ
整数规划 Integer Linear Programming
整数规划的难度远大于一般线性规划
1
NEUQ
本章主要内容
整数规划的模型 0-1 整数规划
指派问题
分支定界法 割平面法
2
NEUQ
一、整数规划的模型
1、案例: 某财团有 B万元的资金,经初期考察选中 n个 投资项目,每个项目只能投资一个。其中第 j 个项目需投资金额为 b j ( j 1, 2,L , n) 万元, 预计5年后获利 c j 万元,问应如何选择项目使 得5年后总收益最大?
16
NEUQ
因此,可将集合内的整数点一一找出,其最大目标函数的值 为最优解,此法为完全枚举法。
如上例:其中(2,2)(3,1)点为最大值,Z=4。
目前,常用的求解整数规划的方法有:
分枝定界法 割平面法 对于特别的0-1规划问题采用隐枚举法和匈牙利法。
17
二、0-1 整数规划
NEUQ
0- 1 整数规划是一种特殊形式的整数规划,这时的决策变 量xi 只取两个值0或1,一般的解法为隐枚举法。
目标函数—未带物品购买费用最小
1 xij ; i 8,9...,17
j 1
3
p (1 xiLeabharlann i 8 j 1173
ij )
11
NEUQ
min
p (1 x
i i 8
17
17
3
ij )
j 1
c x
i
ij
r j ; j 1,2,3
x
j 1
i 1 3
18
NEUQ 对于 0-1 规划问题,由于每个变量只取0,1两个值,一般会 用穷举法来解,即将所有的0,1 组合找出,使目标函数达到极 值要求就可求得最优解。
x1 . x2. x3
(1)
约束条件
(2) (3) (4)
满足条件
是∨ 否×
Z值
0 5 -2
3
( 0. ( 0. ( 0.
( 1. ( 0.
3
NEUQ
变量—每个项目是否投资
x j 1,0
约束—总金额不超过限制
j 1,2..., n
目标—总收益最大
b x
j 1 j
n
j
B
max
c
j 1
n
j
xj
4
NEUQ
max c j x j
j 1
n
n b j x j B s .t . j 1 x 1,0; j 1,2..., n j
ij
1; i 1,2...,7
x
j 1
3
ij
1; i 8, 9...,17
12
xij 1,0; i 1,2...,17, j 1,2,3
NEUQ
2、总结: 特征—变量整数性要求 来源—问题本身的要求;引入逻辑变量需要 性质—可行域是离散集合 一般整数规划模型
max(min) c j x j
22
NEUQ
指派问题是0-1 规划的特例,也是运输问题的特 例,当然可用整数规划,0-1 规划或运输问题的
解法去求解,这就如同用单纯型法求解运输问题
一样是不合算的。利用指派问题的特点可有更简 便的解法,这就是匈牙利法(Hungarian
method )。
23
定理:在费用矩阵C=(cij)的任一行(列)中减去一个常 数或加上一个常数不改变原问题的最优解
max Z x1 x2 14 x1 9 x2 51 6 x1 3 x2 1 x , x 0 且为整数 1 2
首先不考虑整数约束,得到线性规划问题
max Z x1 x2 14 x1 9 x2 51 6 x1 3 x2 1 x1 , x2 0
i 1
NEUQ
n xij ai yi (i 1.2 m) j 1 m xij b j (j 1.2 n) i 1 x 0, y 0 或 1 (i 1.2 m、j 1.2 n) i ij
7
NEUQ
某人出国留学打点行李,现有三个旅行包,容积大小分别
物品 体积
价格
1
200
2
350
3
500
100
4
430
5
320
6
120
7
700
200
8
420
9
250
10
100
15
45
70
50
75
90
20
30
8
NEUQ
变量—对每个物品要确定是否带同时要确定放在哪个 包裹里,如果增加一个虚拟的包裹把不带的物品放在 里面,则问题就转化为确定每个物品放在哪个包裹里。 如果直接设变量为每个物品放在包裹的编号,则每个 包裹所含物品的总容量就很难写成变量的函数。为此 我们设变量为第i个物品是否放在第j个包裹中
0. 0. 1.
0. 1.
0 ) 1) 0)
0) 1)
0 -1 2
1 1
0 1 4
1 5
0 0 1
1
0 1 4
0
∨ ∨ ∨
∨ ×
( 1. ( 1.
( 1.
0. 1.
1.
1) 0)
1)
0 3
2
2
6
1
1
∨ ×
×
8
但此法太繁琐,工作量相当大。而隐枚举法就是在此基础上,通过加入 19 一定的条件,就能较快的求得最优解。
21
NEUQ
设决策变量 xij = 1 0 分配第i 个人去做第j 件工作 相反
n
( i,j=1.2. …n )
n ij
其数学模型为:
min Z
c
i 1 j 1
x ij
n x ij 1 ( i 1.2. .n) j 1 n x ij 1 ( j 1.2. .n ) i 1 x ij 0或1( i , j 1.2. .n )
4 2
0 13 7 0 6 0 6 9 0 5 3 2 0 1 0 0
27
NEUQ
2、进行试指派,以寻求最优解。 在 (bij)中找尽可能多的独立 0元素,若能找出 n个独立 0元素, 就以这n个独立0元素对应解矩阵(xij)中的元素为1,其余为0,这 就得到最优解。找独立0元素,常用的步骤为: (1)从只有一个 0元素的行 (列 )开始,给这个 0元素加圈,记 作◎ 。然后划去◎ 所在列(行)的其它0元素,记作Ø ;这表示这 列所代表的任务已指派完,不必再考虑别人了。 (2)给只有一个 0元素的列 (行 )中的 0元素加圈,记作 ◎;然 后划去◎ 所在行的0元素,记作Ø . (3)反复进行 (1), (2)两步,直到尽可能多的 0元都被圈出和 划掉为止。 28
由上表可知,问题的最优解为 X*=( x1 =1 x2=0 x3=1 ) NEUQ 由上表可知: x1 =0 x2=0 x3=1 是一个可行解,为尽快找到最优 解,可将3 x1-2 x2+5 x3 ≥5 作为一个约束,凡是目标函数值小 于5 的组合不必讨论,如下表。 x1 . x2. x3
(0) (1)
1、变换指派问题的系数矩阵( cij)为 (bij),使在 (bij)的各行 各列中都出现0元素,即 (1) 从( cij)的每行元素都减去该行的最小元素; (2) 再从所得新系数矩阵的每列元素中减去该列的最小元素。
25
例1:
任务
NEUQ
人员
A 2 10
9
B 15 4
14
C 13 14
16
D 4 15
约束条件
(2) (3) (4)
满足条件
是∨ 否×
Z值
0
( 0.
0.
0 )
0
0
0
0
0
∨
( 0. ( 0.
( 0. ( 1.
0. 1.
1. 0.
1) 0)
1) 0)
5 -2
3 3
-1
1
0
1
∨
×
5
× ×
( 1. ( 1.
( 1.
0. 1.
1.
1) 0)
1)
8 1
4
0
2
1
1
∨ ×
×
8
20
NEUQ
三、指派问题(
为1000毫升、1500毫升和2000毫升,根据需要列出需带物 品清单,其中一些物品是必带物品共有7件,其体积大小 分别为400、300、150、250、450、760、190、(单位毫 升)。尚有10件可带可不带物品,如果不带将在目的地购 买,通过网络查询可以得知其在目的地的价格(单位美 元)。这些物品的容量及价格分别见下表,试给出一个合 理的安排方案把物品放在三个旅行包里。
15
用图解法求出最优解 x1=3/2, x2 = 10/3 且有Z = 29/6
x2
3
⑴
NEUQ
⑵
(3/2,10/3)
现求整数解(最优解):如用 “舍入取整法”可得到4个点 即(1,3), (2, 3),(1,4), (2,4)。显然,它们都不可能 是整数规划的最优解。
3
x1
按整数规划约束条件,其可行解肯定在线性规划问题的可行域 内且为整数点。故整数规划问题的可行解集是一个有限集,如 图所示。
xij 1,0; i 1,2...,17, j 1,2,3
9
NEUQ
约束 包裹容量限制
c x
i i 1
3
17
ij
r j ; j 1,2,3
必带物品限制
x
j 1
ij
1; i 1,2...,7
选带物品限制
x
j 1
3
ij
1; i 8, 9...,17
10
NEUQ
5
某公司计划在m个地点建厂,可供选择的地点有 A1,A2…Am ,它们的生产能力分别是a1,a2,…am(假设生 产同一产品)。第i个工厂的建设费用为fi (i=1.2…m), 又有n个地点B1,B2, … Bn 需要销售这种产品,其销量 分别为b1.b2…bn 。从工厂运往销地的单位运费为Cij。 试决定应在哪些地方建厂,即满足各地需要,又使总 建设费用和总运输费用最省?
c11 c 21 C c i1 c n1 c12 c 22 ci 2 cn 2 c1n c2n cin -b c nn
NEUQ
b min ci1 , ci 2 ,L , cin
c12 c11 c c 22 21 C c b c b i2 i1 c cn 2 n1
13
甲 乙
丙
丁
7
8
11
9
26
2 10 9 7
15 13 4 4 14 15 14 16 13 8 11 9
2 4 9 7
0 13 11 2 NEUQ 6 0 10 11 0 5 7 4 0 1 4 2
0 13 11 2 6 0 10 11 0 5 7 4 0 1 4 2
Assignment problem )
指派问题的数学模型 设n 个人被分配去做n 件工作,规定每个人只做一 件工作,每件工作只有一个人去做。已知第I 个人去 做第j 件工作的的效率( 时间或费用)为 Cij(i=1.2…n;j=1.2…n)并假设Cij ≥0。问应如何分配才 能使总效率( 时间或费用)最高? 最小指派问题 最大指派问题
例1、求解下列0-1 规划问题
max Z 3 x1 2 x2 5 x3 x1 2 x2 x3 2 x 4 x x 4 1 2 3 3 x1 x2 4 x2 x3 6 x1 , x2 , x3 0或1 (1) (2) (3) (4)
j 1 n aij x j ( , )bi , i 1, 2,L , m s .t . j 1 x 0 且部分或全部为整数 , j 1, 2,L , n j 13 n
依照决策变量取整要求的不同,整数规划可分为纯整数规 划、全整数规划、混合整数规划、0-1整数规划 纯整数规划:所有决策变量要求取非负整数(这时引进 的松弛变量和剩余变量可以不要求取整数)。