运筹学第五章整数规划
x1 = 4,x2 = 0 是可行解,但不是最优解
因为
x1 = 4,x2 = 0时,z = 80
而可行解 x1 = 4,x2 = 1时,z = 90
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:4
5.2 整数规划的类型 整数规划按变量取值的不同,可以分为以下几类:
1. 纯整数规划:所有的变量都取整数值; 2. 混合整数规划:部分变量取整数值; 3. 0—1规划:所有变量只取0,1两个值; 4. 0—1混合规划:部分变量只取0,1两个值。
2 1,
9 14 x1 x2
x2
x2 0
51
14 1
3
x 1 , x 2 取整数
解S得:
A:
x1
3 2
,
x2
10 3
z 29 6
浙江理工大学 经济管理学院
X2 5
4
A( 3 , 10 ) 23
3
2
S
1
1
2
管理运筹学
Page:10
X
3
1
wxj
Page:11
对S分枝:
X2
构造约束:
5
x1 2 和
x1 1
形成分枝问题S1 和S2,得解B和C
3 10
4
A( , ) 23
3
7
C (1, )
2
3
B (2, 23 ) 9
B:(229,3 );z491 C:(17 3), ;z130
浙江理工大学 经济管理学院
1 S2
1
管理运筹学
S1
2
3
X1
wxj
Page:12
A:
S x1=3/2,x2=10/3
Z=29/6
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:9
当所有最低一层子问题出现以下三种情况时,分枝定界法终止: 1. 子问题无可行解; 2. 子问题已获得整数解; 3. 子问题的目标函数值未达到下界。
浙江理工大学 经济管理学院
管理运筹学
wxj
例
max z x 1 x 2
s
.t
.
x1 x
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:3
Max z = 20x1 +10x2 St. 5x1 +4x2 24 2x1 +5 x2 13 x1 ,x2 0 x1 ,x2 整数
(1)若 x1 = 4.8 ,x2 = 0
x1 = 5 ,x2 = 0 不是可行解;
(2)若 x1 = 4.8 ,x2 = 0
5
10
托运限制 24
13
问两种货物各托运多少箱,可使获得的利润最大?
解: 设x1 , x2 分别为甲、乙两种货物的托运箱数,则模型为:
Max z = 20x1 +10x2 St. 5x1 +4x2 24
2x1 +5 x2 13 x1 ,x2 0 x1 ,x2 整数
暂不考虑整数约束,求得最优解为 x1 = 4.8 ,x2 = 0, Max z = 96
浙江理工大学 经Page:5
整数规划(Integer Programming) 问题的一般形式
m a x ( m i n ) z c 1 x 1 c 2 x 2 c n x n
s.t.
a11x1a12x2 a1nxn (.)b1
a21x1a22x2 a2nxn (.)b2
管理运筹学
wxj
Page:8
分枝定界法基本思想:
首先不考虑变量的整数约束,求解相应的线性规划问题:
Max z = CX
z0
AX = b
X0
DC
下界
整数解 z11
Max z = CX AX = b
xr Ir X0
Max z = CX
z12
AX = b
xr Ir+1
X0
O Ir xr Ir+1
A
分枝
F:(2),2;z4
浙江理工大学 经济管理学院
3 10
4
A( , ) 23
3
2
F(2,2)
1 S2
S122
1
2
管理运筹学
S11无可行解
浙江理工大学 经济管理学院
3 10
4
A( , ) 23
3
2
D(1343,2)
1 S2
1
管理运筹学
S12
2
3
X1
wxj
Page:14
A:
S x1=3/2,x2=10/3
Z=29/6
z 29 6
z4
x1 1
C:
S2 x1=1,x2=7/3
Z=10/3
x1 2
B:
S1 x1=2,x2=23/9
am1x1am2x2 am nxn (.)bm
x1, x1 , xn中部分或全部取整数
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:6
整数规划与其松弛问题
当放弃整数约束时得到的线性规 划称为整数规划的松弛问题。
整数规划的可行域是松弛问题的 可行域,反之不成立。
浙江理工大学 经济管理学院
管理运筹学
每一次分枝得到的子问题的 最优目标函数值都要比上一 层问题的最优目标函数值小, 或者相等。
定界
z2…1 ... …z..2.2 …z23 ...
若z21 z11,z22 z11,则无须继续分枝
…z.2.4.
利用定界,可以终止许多 不必要的分枝过程。
如果在分枝过程中得到新的整数解且该整数解的目标函数值大于已 记录的下界,则应将较大的整数解的目标函数值代替原来的下界。
Z=41/9
z 41 9
z4
x2 2
x2 3
z 61 14
z4
D:
S12
x1=33/14,x2=2 Z=61/14
S11 无可行解
浙江理工大学 经济管理学院
管理运筹学
wxj
对S12分枝:
X2
构造约束:
5
x1 3
和 x1 2
形成分枝问题S121 和S122,得解E和F
E:(3),1 ;z4
浙江理工大学 经济管理学院
Page:1
管
整 数
理
规运
划筹
学
管理运筹学
wxj
Page:2
第五章 整数规划
5.1 整数规划问题的提出
例5-1 某厂拟用集装箱托运甲、乙两种货物。每箱的体积、重量、 可获利润以及托运所受限制如下表所示:
货物
体积(m3/箱) 重量(kg/箱) 利润(百元/箱
)
甲
5
2
20
乙
4
z 29 6
z4
x1 1
x1 2
C:
S2 x1=1,x2=7/3 Z=10/3
B:
S1 x1=2,x2=23/9
Z=41/9
z 41 9
z4
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:13
对S1分枝:
X2
构造约束:
5
x2 3 和
x2 2 形成分枝问题S11 和S12,得解D
D:(1 34 3,2);z1 64 1
wxj
Page:7
5.3 整数规划的解法
5.3.1 混合整数规划的求解---分枝定界方法
分枝:当 xi bi不符合整数要求时,构造
两个约束条件:
xib i 和 xib i 1
加入松弛问题分别形成两个子问题(分枝)
定界:当子问题获得整数规划的一个可行 解,则它的目标函数值就构成一个界限
浙江理工大学 经济管理学院
运筹学 第05章 整数规划与分配问题
1
整数规划问题的提出
0 xj 1 表示项目j不被选中 表示项目j被选中 ( j 1,2,3,4,5)
解:决策变量:设
目标函数:期望收益最大
max z 10 x1 8 x 2 7 x3 6 x 4 9 x5
约束条件:投资额限制条件 6x1+4x2+2x3+4x4+5x515 项目A、C、E之间必须且只需选择一项:x1+x3+x5=1 项目B、D之间必须且只需选择一项:x2+x4=1 项目C的实施要以项目D的实施为前提条件: x3 x4 归纳起来,其数学模型为:
n
(i 1,2, , m) ( j 1,2, , n)
2
整数规划问题的分类
根据变量取整数的情况,将整数规划分为:
(1)纯整数规划,所有变量都取整数.
(2)混合整数规划,一部分变量取整数,一部分变量取实数 (3)0-1整数规划 ,所有变量均取0或1
2
整数规划问题的求解思考
1
整数规划问题与其松弛问题
2
匈牙利法
例:用匈牙利法求解下列指派问题,已知效率矩阵分别如下:
任务 A 2 10 9 7 B 15 4 14 8 C 13 14 16 11 D 4 15 13 9
人员
甲 乙 丙 丁
2
匈牙利法
2 10 9 7
15 4 14 8
13 14 16 11
4 15 13 9
例:其中(2,2)(3,1)点为最大值,Z=4。常用的求解整数规划的方法有: 割平面法和
分支定界法,对于0-1规划问题采用隐枚举法和匈牙利法。
3
分派问题与匈牙利法
1
运筹学课件第五章 整数规划
第一节 整数规划的数学模型
解的特点: 整数规划
松弛问题
max c x Ax b s .t . x 0, x为整数
max c x Ax b s .t . x 0
1、整数规划可行域是松弛问题可行域的子集
2、整数规划最优值小于等于松弛问题的最优值
第一节 整数规划的数学模型
P1 P2
P4
以上描述了目前解整数规划问题的一种思路。
第二节 分支定界法
思路:切割可行域,去掉非整数点。 解题步骤: 1、不考虑整数约束,解相应松弛问题。 2、检查是否符合整数要求,是,则得最优解,完毕。 否则,转下步。 3、任取一个非整数变量xi=bi,构造两个新的约束条 件:xi ≤[bi],xi≥[bi]+1,分别加入到上一个LP问 题,形成两个新的分枝问题。 4、不考虑整数要求,解分枝问题。若整数解的Z值 大于所有分枝末梢的Z值,则得最优解。否则, 取Z值最大的非整数解,继续分解,Go to 3。
序号 1 2 3 4 5 6 7
物品
重量 系数
食品
5 20
氧气
5 15
冰镐
2 18
绳索
6 14
帐篷
12 8
相机
2 4
设备
4 10
第三节
0-1型整数规划
解:令xi=1表示登山队员携带物品i,xi=0表示登 山队员不携带物品i,则得: Max Z=20x1+15x2+18x3+14x4+8x5+4x6+10x7
第三节
(x1,x2,x3) z值
0-1型整数规划
1 2 3 4 过滤条件
(0,0,0)
运筹学 第五章整数规划
n xij ai s.t j 1
i 1,2, m
xij 0 yi 0,1
混合型整数规划
总结
整数规划的可行域包含在其对应的一般线性规划可
行域之内; 整数规划的最优解可能不是其对应的一般线性规划 的顶点; 整数规划的最优解不会优于其对应的线性规划的最
(0)
(4)修改上、下界:按照以下两点规则进行。 ①在各分枝问题中,找出目标函数值最小者作为新的下界; ②从已符合整数条件的分枝中,找出目标函数值最小者作为 新的上界。 (5)比较与剪枝 : 各分枝的目标函数值中,若有大于 者,则剪掉此枝,表 明此子问题已经探清,不必再分枝了;否则继续分枝。 如此反复进行,直到得到 即得最优解 X* 。 为止,
f
n
rj
x j fr
a rj
的小数部分
br 的小数部分
(3)将所得的割平面方程作为一个新的约束条件置于最优单 纯形表中(同时增加一个单位列向量),用单纯形法求出新的 最优解,返回1。
m ax Z x 2
例:用割平面法求解整数规划问题
3 x1 2 x 2 6 3 x1 2 x 2 0 x , x 0且为整数 1 2
子问题 L1 : 剪枝 1 、L1无最优解, 2、最优解 X *1 ( x *11 ,x *12 ,, x *1n ), 最优值 z1 (1) X *1 为整数解 , z1为下界 关闭
子问题 L2 :
(2) X *1 中至少有一个是分数: 继续分枝
割平面法 割平面法的基本思想:
若整数规划IP的松弛规划L0的最优解不是整数解,对L0增 加一个约束条件,得线性规划 L1 ,此过程缩小了松弛规划的 可行解域,在切去松弛规划的最优解的同时,保留松弛规划 的任一整数解,因此整数规划IP的解均在L1中,若L1的最优解
运筹学第5章:整数规划
则问题可表示为:
max z c j x j
j 1 n
n a j x j B j 1 x1 x2 0 s.t. x3 x4 1 x x x 2 7 5 6 x j 0或1 j 1,2, , n 【例5-3】工厂A1和A2生产某种物资,由于该种物资供不应 求,故需要再建一家工厂,相应的建厂方案有A3和A4两个。这 种物资的需求地有B1、B2、B3、B4四个。各工厂年生产能力、各 地年需求量、各厂至各需求地的单位物资运费cij(j=1,2,3,4) 见表5-2。
三、割平面法的算法步骤
步骤1:将约束条件系数及右端项化为整数,用单纯形法求 解整数规划问题(ILP)的松弛问题(LP)。设得到最优基B,相应 的基最优解为X*。 步骤2:判别X*的所有分量是否全为整数?如是,则X*即为 (ILP)的最优解,算法终止;若否,则取X*中分数最大的分 量 x * ,引入割平面(5.7)。
表5-2
Ai cij A1 A2 Bj B1 2 8 B2 9 3 B3 3 5 B4 4 7 生产能力 (千吨/年) 400 600
A3
A4 需求量(千吨/年)
7
4 350
6
5 400
1
2 30025 150200200工厂A3或A4开工后,每年的生产费用估计分别为1200万元或 1500万元。现要决定应该建设工厂A3还是A4,才能使今后每年 的总费用(即全部物资运费和新工厂生产费用之和)最少。
一般来说,整数线性规划可分为以下几种类型:
1. 纯整数线性规划(Pure Integer Linear Programming): 指全部决策变量都必须取整数值的整数线性规划,也称为全整 数规划。 2. 混合整数线性规划(Mixed Integer Linear Programming):指决策变量中一部分必须取整数值,而另一部 分可以不取整数值的整数线性规划。 3. 0-1整数线性规划(Zero-one Integer Linear Programming):指决策变量只能取0或1两个值的整数线性规划。
运筹学第五章 整数规划ppt课件
第二步:确定A的最优目标函数值z*的上下界,其上界即为 z ,再用观察法
找到A的一个整数可行解,求其目标函数值作为z*的下界,记为z。
第三步:判断 z 是否等于z 。若相等,则整数规划最优解即为其目标函
数值等于z的A的那个整数可行解;否则进行第四步。
2020/3/2
11
•割平面法,即通过添加约束条件,逐步切割可行区域的 边角余料,让其整数解逐步的露到边界或顶点上来,只要 整数解能曝露到顶点上来,则就可以利用单纯形法求出来。
•关键是通过添加什么样的约束条件,既能让整数解往边 界露,同时又不要切去整数解,这个条件就是Gomory约束 条件。 •Gomory约束只是割去线性规划可行域的一部分,保留了 全部整数解。
2020/3/2
7
7
第二节 割平面法
2x1 2x2 11
13/4,5/2
松弛问题 x1+x2≤5 第二次切割
2020/3/2
第一次切割 4,1
8
设纯整数规划
n
m a x Z c j x j j 1
s
.t
.
n j 1
aij x j
bi
x
j
0且
为
整
数
,
j
1,L
引入约束 xi ≤ M yi ,i =1,2,3,M充分大,以保证yi=0 xi=0 这样我们可建立如下的数学模型:
Max z = 4x1 + 5x2 + 6x3 - 100y1 - 150y2 - 200y3 s.t. 2x1 + 4x2 + 8x3 ≤ 500
《运筹学》第5章 整数规划(割平面法)
第5章整数规划(割平面法)求解整数规划问题:Max Z=3x1+2x22x1+3x2≤144x1+2x2≤18x1,x2≥0,且为整数解:首先,将原问题的数学模型标准化,这里标准化有两层含义:(1)将不等式转化为等式约束,(2)将整数规划中所有非整数系数全部转化为整数,以便于构造切割平面。
从而有:Max Z=3x1+2x22x1+3x2+x3=142x1+x2+x4=9x1,x2≥0,且为整数利用单纯形法求解,得到最优单纯形表,见表1:表1最优解为:x1=13/4, x2=5/2, Z=59/4根据上表,写出非整数规划的约束方程,如:x2+1/2x3-1/2x4=5/2 (1)将该方程中所有变量的系数及右端常数项均改写成“整数与非负真分数之和”的形式,即:(1+0)x2+(0+1/2)x3+(-1+1/2)x4=2+1/2把整数及带有整数系数的变量移到方程左边,分数及带有分数系数的变量称到方程右边,得:x2 - x4-2 =1/2-(1/2x3+1/2x4) (2)由于原数学模型已经“标准化”,因此,在整数最优解中,x2和x4也必须取整数值,所以(2)式左端必为整数或零,因而其右端也必须是整数。
又因为x3,x4 0,所以必有:1/2-(1/2x3+1/2x4)<1由于(2)式右端必为整数,于是有:1/2-(1/2x3+1/2x4)≤0 (3)或x3+x4≥1 (4)这就是考虑整数约束的一个割平面约束方程,它是用非基变量表示的,如果用基变量来表示割平面约束方程,则有:2x1+2x2≤11 (5)从图1中可以看出,(5)式所表示的割平面约束仅割去线性规划可行域中不包含整数可行解的部分区域,使点E(3.5,2)成为可行域的一个极点。
图1在(3)式中加入松弛变量x5,得:-1/2x3-1/2x4+x5=-1/2 (6)将(6)式增添到问题的约束条件中,得到新的整数规划问题:Max Z=3x1+2x22x1+3x2+x3=142x1+x2+x4=9-1/2x3-1/2x4+x5=-1/2x i≥0,且为整数,i=1,2,…,5该问题的求解可以在表1中加入(6)式,然后运用对偶单纯形法求出最优解。
运筹学 第五章 整数规划
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)
31
5.1 分枝定界法 (Branch and Bound Method)
原问题的松驰问题: 任何整数规划(IP),凡放弃某些约束 条件(如整数要求)后,所得到的问题 (P) 都称为(IP)的松驰问题。 最通常的松驰问题是放弃变量的整数性 要求后,(P)为线性规划问题。
32
去掉整数约束,用单纯形法 IP LP
23
解法概述
当人们开始接触整数规划问题时,常会有 如下两种初始想法: 因为可行方案数目有限,因此经过穷举 法一一比较后,总能求出最好方案,例如, 背包问题充其量有2n种方式,实际上这种 方法是不可行。
设想计算机每秒能比较1000000个方式,那 么比较完260种方式,大约需要360世纪。
24
先放弃变量的整数性要求,解一个 线性规划问题,然后用“四舍五入” 法取整数解,这种方法,只有在变量 的取值很大时,才有成功的可能性, 而当变量的取值较小时,特别是0-1规 划时,往往不能成功。
Yes xI* = xl*
xl*
判别是否整数解
No 去掉非整数域 多个LP ……
33
分枝定界法步骤
一般求解对应的松驰问题,可能会出现 下面几种情况:
若所得的最优解的各分量恰好是整数, 则这个解也是原整数规划的最优解,计 算结束。
运筹学第五章 整数规划
第五章 整数规划主要内容:1、分枝定界法; 2、割平面法; 3、0-1型整数规划; 4、指派问题。
重点与难点:分枝定界法和割平面法的原理、求解方法,0-1型规划模型的建立及求解步骤,用匈牙利法求解指派问题的方法和技巧。
要 求:理解本章内容,熟练掌握求解整数规划的方法和步骤,能够运用这些方法解决实际问题。
§1 问题的提出要求变量取为整数的线性规划问题,称为整数规则问题(简称IP )。
如果所有的变量都要求为(非负)整数,称之为纯整数规划或全整数规划;如果仅一部分变量要求为整数,称为混合整数规划。
例1 求解下列整数规划问题211020max x x z += ⎪⎪⎩⎪⎪⎨⎧≥≤+≤+为整数21212121,0,13522445x x x x x x x x 如果不考虑整数约束,就是一个线性规划问题(称这样的问题为原问题相应的线性规划问题),很容易求得最优解为:96max ,0,8.421===z x x 。
50用图解法将结果表示于图中画“+”号的点都是可行的整数解,为满足要求,将等值线向原点方向移动,当第一次遇到“+”号点(1,421==x x )时得最优解为1,421==x x ,最优值为z=90。
由上例可看出,用枚举法是容易想到的,但常常得到最优解比较困难,尤其是遇到变量的取值更多时,就更困难了。
下面介绍几种常用解法。
§2 分枝定界法分枝定界法可用于解纯整数或混合的整数规划问题。
基本思路:设有最大化的整数规划问题A ,与之相应的线性规划问题B ,从解B 开始,若其最优解不符合A 的整数条件,那么B 的最优值必是A 的最优值*z的上界,记为z;而A 的任意可行解的目标函数值是*z的一个下界z,采取将B 的可行域分枝的方法,逐步减少z 和增大z ,最终求得*z 。
现举例说明: 例2 求解A219040max x x z +=⎪⎪⎩⎪⎪⎨⎧≥≤+≤+为整数21212121,0,702075679x x x x x x x x 解:先不考虑条件⑤,即解相应的线性规划B (①--④),得最优解=1x 4.81, =2x 1.82, =0z 356(见下图)。
运筹学5整数规划
运筹学5 整数规划* 用匈牙利法求解:最优解:即甲安排做第二项工作、乙做第三项、丙做第四项、丁做第三项。
总分为:Z=92+95+90+80=357 * 本章介绍了整数规划的数学模型的特征及其应用; 1.整数规划的最优解是先求相应的线性规划的最优解然后取整得到. 2.部分变量要求是整数的规划问题称为纯整数规划. 3.求最大值问题的目标函数值是各分枝函数值的上界. 4.求最小值问题的目标函数值是各分枝函数值的下界. 5.变量取0或1的规划是整数规划. 求解方法有:解一般整数规划用分枝定界法、割平面法;解0-1规划用隐枚举法;解指派问题用匈牙利法。
试一试,下例结论是否正确: * 6.整数规划的可行解集合是离散型集合. 7.将指派(分配)问题的效率矩阵每行分别加上一个数后最优解不变. 8.匈牙利法求解指派问题的条件是效率矩阵的元素非负. 9.匈牙利法可直接求解极大化的指派问题. 10.高莫雷(R..E.Gomory)约束是将可行域中一部分非整数解切割掉. 11.指派问题也是一个特殊的运输问题. 12.指派问题也可用运输问题求其最优解. 13.在用隐枚举求解具有n 个变量的0-1规划时需枚举2的n次幂个可能. The End of Chapter 5 下一章:图与网络 Exit 进入练习第*页 * 整数规划 Integer Programming 可分性假设?divisibility assumption 可加性假设 ?additivity assumption 比例性假设?proportionality assumption 0-1变量 binary variable BIP 0-1整数规划纯整数规划 pure Integer Programming 混合整数规划 mixed Integer Programming LP放宽 LP relaxation 分枝定界法 brabch and boundmethod 高莫雷 R.E.Gomory 过滤条件 filtering constraint 隐枚举法implicit enumeration 指派问题 assignment problem 边际收益递减decreasing marginal returns 第*页 * 作业:教材P135 T5.7 The End of Chapter 5 下一章:图与网络是非决策 yes-or-no decision 二选一约束either-or-constraints 互斥的选择 mutually exclusive alternative 相依决策 contingent decision * 分枝定界法的步骤: 1. 求整数规划的松弛问题最优解; 2. 若松弛问题的最优解满足整数要求,得到整数规划的最优解,否则转下一步; 3.任意选一个非整数解的变量xi,在松弛问题中加上约束xi≤[[]xi]及xi≥[[]xi]+1组成两个新的松弛问题,称为分枝。
第五章 整数规划(运筹学教程)
什么叫0-1规划
• 0-1型整数规划是整数规划中的特殊情况, 它的变量xi仅取0或1,这时xi称为0-1变量 或二进制变量(binary), • xi仅取0或1这个条件可由下述约束条件所 取代: xi≤1, xi ≥0, Xi整数。 • 但是,0-1变量还有许多其它作用。 • 下面举例说明。
4.1 引入0-1变量的实际问题
定界
0≤ Z≤349
定界 340≤ Z≤341
Z3=340
Z4=327
B5(x2≤1)最优解 X1=5,x2=1.57 Z2=308 B6(x2≥2) 无可行解
定界 340≤ Z≤340
§3 割平面法
• 1、分枝定界法本质上是一种对线性规划可行域的 分割方法,只是分割方式比较单一和规范。每次从 对应线性规划的最优解出发,选定某个取非整数值 的变量,挖掉其中的小数部分,将原可行域一分为 二。如此反复进行,直到发现最优整数解为止。 • 2、割平面法的思路也是采用求解对应线性规划的 方法去解整数规划的问题。通过增加适当的约束条 件,从原可行域中切割掉不含整数解的部分。但其 切割方式灵活多样,每次切割可以切一刀,也可以 同时切几刀。旨在造成一个具有整数坐标的顶点, 恰好对应着原问题的最优解
B5, B6
图5-4
B1(x1≤4)最优解
X1=4,x2=2.1 Z1=349 B3(x2≤2)最优解 X1=4,x2=2
B最优解
定界 0≤ Z≤356
X1=4.81,x2=1.82
Z0=356
B2(x1≥5)最优解
X1=5,x2=1.57 Z2=341 B4(x2≥3)最优解 X1=1.42,x2=3
最优解 X1=4,x2=2:整数可行解 Z3=340 最优解 X1=1.42,x2=3
