运筹学——0-1整数规划
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(0,0,0) (0,0,1)
3
4 5 6 7 8
(0,1,0)
(0,1,1) (1,0,0) (1,0,1) (1,1,0) (1,1,1)
-2
3 3 8 1 6
no
no yes yes no no 3 8
增加约束条件(0)(Z 3)后实际做了24次运 算,而原问题需要计算 23*4=32次运算(3个变量, 4个约束条件)。
可以从( 1.1.1.1 )开始试算, x′(3)=( 1.1.0.1 )最优解。
∴ x(3)=( 1.0.1.0 )是原问题的最优解,Z* =-2
例4、求解下列0-1 规划问题
minZ 10x1 5 x2 8 x3 4 x4 2 x5 3 x1 2 x2 4 x3 x4 x5 4 2 x1 x2 4 x3 x4 x5 5 x 0或1 ( j 1.2.3.4.5) j
例1
求下列问题:
Max Z=3x1- 2x2 + 5x3
s.t. x1+2x2 - x3 2
x1+4x2 + x3 4 x1 + x2
(1)
(2) (3)
3
4x2 + x3 6 xj 0或1
(4) (5)
解: 容易看出(1,0,0)满足约束条 件,对应Z=3,对Max Z来说,希望Z 3,所以增加约束条件: Z=3x1- 2x2 + 5x3 3 (0)
对于0-1 规划问题,由于每个变量只取0, 1两个值,一般会用穷举法来解,即将所有的0, 1 组合找出,使目标函数达到极值要求就可求 得最优解。但此法太繁琐,工作量相当大。而 隐枚举法就是在此基础上,通过加入一定的条 件,就能较快的求得最优解。
隐枚举法(Implicit
Enumeration)
这种方法可以从所有变量等于零出发 (初始点),然后依次指定一些变量 取值为1,直到获得一个可行解,于是 把第一个可行解记作迄今为止最好的 可行解,再重复,依次检查变量为0, 1的各种组合,对迄今为止最好的可行 解加以改进,直到获得最优解。
(1,0,0) (1,0,1) (1,1,0) (1,1,1)
0’’ -2 3 1 6
1
百度文库
.2
.3
Z .4 足 值 no no no no
最优解(X2,X1,X3) =(0,1,1) Z=8 实际只计算了16次
例2
求下列问题:
Max Z=3x1+ 4x2 + 5x3 + 6x4 s.t. 2x1+ 3x2 + 4x3 + 5x4 15
yij=0或=1
用隐枚举法可得到:
y11=y21 =y02 =1 其他全为零 Z=22 最优解(6,1,0,0)
例3、求解下列0-1 规划问题
max Z 3 x1 7 x2 x3 x4 2 x1 x2 x3 x4 1 x x 6x 4x 6 1 2 3 4 x4 5 5 x1 3 x2 x j 0, 1 j 1.2.3.4
0-1规划应用
华美公司有5个项目被列入投资计划,各项目 的投资额和期望的投资收益见下表: 项目 投资额(万元) 投资收益(万元) 1 210 150
2
3 4 5
300
100 130 260
210
60 80 180
该公司只有600万元资金可用于投资, 由于技术原因,投资受到以下约束: 在项目1、2和3中必须有一项被选中;
xj 0且为整数
解:先变换xj为0-1变量
x=y0+2y1+22y2+….2kyk
解:先变换xj为0-1变量
x=y0+2y1+22y2+….2kyk x1 7 x2 5 x3 3 x1=y01+2y11+22y21 x2=y02+2y12+22y22 x3=y03+2y13
x4 3
令 y1=x5, y2=x4, y3=x2, y4=x3, y5=x1 得到下式
minZ 2 y1 4 y2 5 y3 8 y4 10 y5 y1 y2 2 y3 4 y4 3 y5 4 (1) y1 y2 y3 4 y4 2 y5 5 (2) y 0或1 ( j 1.2.3.4.5) j
xi=1或0
• 点击这里进入 “指派问题”的 学习
项目3和4只能选中一项;
项目5被选中的前提是项目1必须被 选中。 如何在上述条件下,选择一个最 好的投资方案,使收益最大。
解:令
xi=
1
0
选中该项目
未选中该项目
Max Z=150 x1 + 210x2 + 60x3 +80x4 + 180x5
s.t. 210 x1 + 300x2 +100x3 +130x4 + 260x5 600 x1 + x2 + x3 + x3 =1 x4 1 x5 x1
注意:
改进过滤性条件,在计算 过程中随时调整右边常数。
价值系数按递增排列。
以上两种方法可减少计算量。
循 环 1 2
(X2,X1,X3) s.t. s.t. s.t s.t s.t 满
(0,0,0) (0,0,1)
0 0 5
1 -1
.2 1
.3 0
Z .4 足 值 no 1 ye 5 s
改进过滤性条件Z 5
x4=y04+2y14
代入原问题,得到:
Max Z= 3 y01+6y11+12y21 + 4y02+8y12+16y22 + 5 y03+10y13 + 6 y04+12y14
s.t. 2y01+4y11+8y21 +3y02+6y12
+12y22 + 4 y03+8y13 + 5 y04
+10y14 15
y1 . y2. y3 . y4. y5
( 0.
( 1. ( 0. ( 0. ( 0. ( 0.
约束条件
(1) (2)
满足条件
是 ∨否×
Z值
0.
0. 1. 0. 0. 0.
0.
0. 0. 1. 0. 0.
0.
0. 0. 0. 1. 0.
0 )
0) 0) 0) 0) 1)
0
1 -1 -2 4 3
0
-1 1 1 -4 -2
×
× × × ∨ ×
8
所以, Y*= (0.0.0.1.0),原问题的最优解为:
X* =(0.0.1.0.0),Z* =8
练习:用隐枚举法求解0—1规划问题
m inZ 5 x1 7 x2 10x3 3 x4 x5 x1 3 x2 5 x3 x4 4 x5 2 2 x1 6 x2 3 x3 2 x4 2 x5 0 x 2 2 x 3 x4 x5 1 x j 0 或 1 ( j 1,2, ,5)
循 环 3 4
(0’)
Z .4 足 值 no 1 ye 8 s
(X2,X1,X3) s.t. s.t. s.t s.t s.t 满
(0,1,0) (0,1,1)
0’ 3 8
1
0
.2
2
.3
1
改进过滤性条件Z 8 (0’’)
循 环 5 6 7 8
(X2,X1,X3) s.t. s.t. s.t s.t s.t 满
0-1 规划及其解法
0-1 规划在线性整数规划中具有重要地位。 定理:任何整数规划都可以化成0-1规划。 一般地说,可把整数x变成(k+1)个0-1变量公 式为:x=y0+2y1+22y2+….2kyk 若x上界为U,则对0<x<U,要求k满足2k+1 U+1.
由于这个原因,数学界曾纷纷寻找“背包问 题”解的方法,但进展缓慢。
称为过滤性条件。初看起来,增加 约束条件需增加计算量,实际减少 了计算量。
最优解(1,0,1) Z=8
循环 1 2
(X1,X2,X3)
s.t. 0 0 5
s.t. s.t. s.t. s.t. 1 2 3 4 -1 1 1 0 2 1 5 1 2 6 1 1 0 1 0 1
满 足 no yes
Z 值 5
解:由于目标函数中变量x1, x2 , x4 的系数均为负数, 可作如下变换:
令 x1 =1- x1′ , x2 =1- x2′, x3= x3′, x4 =1- x4′带入原题 中,但需重新调整变量编号。令 x3′ = x1′, x4′ = x2′得到下式。
m axZ x1 x 3 x 7 x4 11 2 3 x1 x 2 x x4 1 2 3 6 x1 4 x x x4 2 2 3 x 5 x 3 x4 4 2 3 x1 , x , x , x4 0 或 1 2 3