当前位置:文档之家› 运筹学 第三章 0-1规划

运筹学 第三章 0-1规划


例2 求解0-1规划
编号
max z 3 x1 2 x2 5 x3
s.t. x1 2 x2 x3 2

x1 4 x2 x3 2 x1 2 x2 3
② ③
4x2 x3 6

xi 0 or 1, i 1,2,3
算法过程:1. 先找出一个可行解,比如(1,0,0).相应
cnn
称为指派问题 的效益矩阵。

定理:将指派问题的效益矩阵的行(列)分别减去该行(列) 的最小元素,得到的新指派问题和原问题的最优解相同. 意义:根据定理,对指派问题可以化简,使 最优值呢? 得其效益矩阵中每一行至少有一个0元素.
这种简化对于求解有何帮助?
任务 A
B
C
D
人员

2
15
13
4

10
在海淀区,由A6,A7中至少选一个. 假设选用Ai点,设备投资估计为bi元,每年获利估计ci元, 但是总投资额不超过B元。问应该选择哪几个点可以使年 利润最大?
➢分析问题
如图,如何确定选择哪些点?有多少种可能?
试一试
枚举 法
A7
A6
海淀区
共有多少情形?
A5 A4
西城区 专门的解法研究 ——隐枚举法.
安排n个人完成n项工作,使总效率最高的问题称为指 派问题或者分派问题(Assignment problem).
例 甲、乙、丙、丁四人去完成A、B、C、D四项工作. 要求每个人只能完成一项工作,每个工作只能一人完成,
他们所需费用如下表,应如何安排工作,使所需总费用最
少?
任务 A
B
C
D
人员

2
10
9
7

任务 A B C D
例 已知效益矩阵
如下,求指派问题 的最小解.
人员 甲 乙 丙
2
10
9
7
15
4
14
8
13
14
16
11

4
15 13
9
00 1 0
0603
最优解
xij= 0 1 0 0 00 0 1
13 0 5 4 4 30 0
10 0 0
0 923
即最优解:甲-C,乙-B,丙-D,丁-A
最优值:28
15
4
14
8

13
14
16
11

4
15
13
9
试利用0-1规划建立数学模型.
任务 A
B
C
D
人员 甲
2
10
9

7
为cij

15
4
14
8

13
14
16
11

4
15
13
9

1, 当 指 派 第i个 人 完 成 第j项 任 务 xij 0,当不指派第i个人完成第j项任务
矩阵(xij) 44有何特点?
每行(列)有且只有一个为1,其他为0.
练习:已知效益矩阵如下,求指派问题的最小解.
任务 A B C D
人员

15 18 21 24

19 23 22 18

26
17
16
19

19 21 23 17
练习: 求解0-1规划
min z 4x1 3x2 2x3
s.t.
2x1 5x2 3x3 4 4x1 x2 3x3 3
x2 x3 1
xi 0 or 1,i 1,2,3
预习第五章
x6 x7 1
模型综合形式
max z c1 x1 c2 x2 ... c7 x7 s.t. b1 x1 b2 x2 ... b7 x7 B
x1 x2 x3
2
x4 x5 1
x6 x7 1
xi 0或者1, i 1,2,...,7
如何求解?
➢解决问题——隐枚举法
(1)对没有圈的行打∨;对已有∨的行中所有的0元列打∨号; 在对有∨号的列中的0元行打∨号,重复.
(2) 无∨号的行画横线,有∨号的列画纵线(这样得到了覆 盖全部0元的最少直线数).
(3) 找出没有覆盖的最小元,有∨号的行减去最小元,有 ∨号的列加上最小元,得新的效益矩阵.
75
0
2
42
3
0
0
180
53
的目标函数值为3.
➢解决问题——隐枚举法
算法过程:2. 增加约束条件,得到新问题.
max z 3x1 2x2 5x3
s.t .
3 x1
x1 x1
2x2
2x2 4x2
5x3 3
x3 2 x3 2
x1 2x2 3
4x2 x3 6
xi 0 or 1, i 1,2,3
A1
A2
A3
东城区
➢建立模型

xi
1,
0,
当点Ai 被选用 当 点Ai 没 被 选 用
i
1,2,...,7
目标函数
max z c1 x1 c2 x2 ... c7 x7
资金限制 三条规定
b1 x1 b2 x2 ... b7 x7 B
x1 x2 x3 2 x4 x5 1
任务 A
B
C
D
E
人员

5
0
2
0
2

2
3
0
0
0

0
10
5
7
2

9
8
0
0
4

0
6
3
6
5
step2:试指派寻找最小解:从只有一个0元的行(列)开始, 给这个0加标志,之后划掉本列(行)中其他的0元.直到所 有的0元都加标志或者划掉.
此时独立0元个数小于矩阵阶数,没有发现最优解.
step3:缩减效益矩阵,增加0元素.
min z
i
cij xij
j
s.t .
xij 1, j 1,2,...,n
i
➢指派问题算法:匈牙利算法思路
xij 1, i 1,2,...,n
j
xij 0 or 1
效益矩阵:将目标函数系数cij排列成矩阵形式
c11 (cij ) ...
cn1
... c1n ... ...
➢建立模型
min z
i
cij xij
j
s.t .
xij 1, j 1,2,3,4
i
xij 1, i 1,2,3,4
j
xij 0 or 1
0-1规划广泛见于生活问题,也是运筹学算法研究
的一个重点。0-1问题大致可以划分为互斥的计划、
互斥的约束条件,固定费用和分派问题等。比如
刚才的经营选址问题就是互斥的计划问题,经典的 背包问题是固定费用问题.
4
14
15

9
14
16
13

7
8
11
9
任务 A
B
C
D
人员

0
13
171
20

6
0
160
191

0
5
73
42

0
1
40
20
从表中就可以发现最优解:甲D,乙B,丙A,丁C. 最优值:28
任务 A
B
C
D
人员

0
13
7
0

6
0
6
9

0
5
3
2

0
1
0
0
结论:如果可以在化简后的效益矩阵中找到n个不同 行不同列的0元(称为独立0元) ,便可容易得到最 优解和最优值.
编号
△ ① ② ③ ④
3. 重复上述的过程,注意随时改进约束条件. (可 在表格上进行)
4. 最优解(1,0,1),最优值8.
➢隐枚举法的改进
重新编排变量顺序,以降低运算量.
max z 3 x1 2 x2 5 x3
s.t. x1 2 x2 x3 2
x1 4 x2 x3 2 x1 2 x2 3
当效益矩阵很大时,观察的方法寻找不同行不 同列的0元不太容易.
化简后的效益矩阵未必恰好存在n个独立0元.
例 已知效益矩阵如下,求指派问题的最小解.
任务 A
B
C
D
E
人员

12
7
9
7
9

8
9
6
6
6

7
17
12
14
9

15
14
6
6
10

4
10
7
10
9
练习:化简此效益矩阵,并判断是否能找到最小解.
step1:化简效益矩阵得.
4x2 x3 6
xi 0 or 1, i 1,2,3
max z 2x2 3x1 5x3
s.t. 2 x2 x1 x3 2
4x2 x1 x3 2 2x2 x1 3
4x2 x3 6
xi 0 or 1, i 1,2,3
这样做有什么好处? 最小化问题呢?
2 指派问题及其算法
第三章 特殊的整数规划——0-1规划
本次课解决如下问题:
1、0-1规划模型及隐枚举法; 2、指派问题及匈牙利算法.
1 0-1规划模型
例1 某公司拟在市东城、西城、海淀三区建立营业网点。 拟议中有7个位置(点)Ai(i=1,2,…,7)可供选择。规定
相关主题