运筹学课件第五章整数规划
运筹学课件第五章整数规划

第五章整数规划、学习目的与要求1、熟悉分支定界法和割平面法的原理及其应用;2、掌握求解0―― 1规划问题的隐枚举法;3、掌握求解指派问题的匈牙利法。
二、课时9学时第一节整数规划的数学模型及解的特点整数规划IP (integer programming):在许多规划问题中,如果要求一部分或全部决策变量必须取整数。
例如,所求的解是机器的台数、人数、车辆船只数等,这样的规划问题称为整数规划,简记IP。
松弛问题(slack problem):不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整数规划问题的松弛问题。
若松弛问题是一个线性规化问题,则该整数规划为整数线性规划(integer linear programming)。
一、整数线性规划数学模型的一般形式nmax(或min) z 八c j x jj a"nZ a ij X j <(或=,或X)b i (i =1,2,…,m)j =1s.t.」X j X0( j =1,2,…,n)X-X2,…,x n中部分或全部取整数I整数线性规划问题可以分为以下几种类型1、纯整数线性规划(pure integer linear programming):指全部决策变量都必须取整数值的整数线性规划。
有时,也称为全整数规划。
2、混合整数线性规划(mixed integer liner programming):指决策变量中有一部分必须取整数值,另一部分可以不取整数值的整数线性规划。
3、0—1型整数线性规划(zero—one integer liner programming):指决策变量只能取值0或1的整数线性规划。
二、整数规划的例子例1某服务部门各时段(每2h为一时段)需要服务员的人数见下表。
按规定,服务员连续工作8h (即四个时段为一班)。
现在求安排服务员的工作时间,使服务部门服务员总数最少?解:设在第时段开始上班的服务员的人数为。
问题的数学模式略。
《运筹学整数规划》课件

应用案例
生产调度问题的整数规划 模型
交通流优化问题的整数规 划模型
使用整数规划解决生产调度问题, 提高生产效率和资源利用率。
应用整数规划优化交通流,实现 道路拥堵疏导和交通效率提升。
建模思路与求解过程的演示
分享一个实际问题的建模思路和 整数规划的求解过程。
总结
整数规划的意义和局限性
总结整数规划在实际问题中的意义和局限性,并思考其未来发展方向。
求解方法与难点
介绍整数规划的求解方法,以及其中的挑战和难点。
模型建立与求解
1
模型的建立
讲解整数规划模型的建立过程,包括约枚举法和割平面法 Nhomakorabea2
束条件和目标函数的设定。
简要介绍传统的枚举法和割平面法,并
讨论这些方法的优缺点。
3
分支定界法和分支限界法
详细解释分支定界法和分支限界法,并
分支定价法和混合整数线性规划
整数规划的发展趋势
展望整数规划领域未来的发展趋势和可能的研究方向。
《运筹学整数规划》PPT 课件
这是一份关于《运筹学整数规划》的PPT课件,旨在为大家介绍整数规划的定 义、背景和实际应用中的重要性。通过本课件,我们将深入探讨整数规划的 求解方法、工具以及一些实际应用案例。
引言
定义和背景
整数规划的概念和历史背景,为后续内容提供基础。
重要性
探讨整数规划在实际问题中的重要性和应用范围。
4
分享一些实际案例。
介绍分支定价法和混合整数线性规划方 法,以及它们的应用领域。
求解工具
Gurobi的介绍
详细介绍Gurobi求解器,包 括其功能、优势和适用范围。
Gurobi求解整数规划的 步骤
运筹学课件第五章 整数规划

第一节 整数规划的数学模型
解的特点: 整数规划
松弛问题
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)
西北农林科技大学运筹学课件第五章 整数规划

6 2 1 x x 7 3 7 5 7 6 2 1 x x x 6 7 3 7 5 7
二、解纯整数规划的割平面法
Cj 3 -1 0 0 0 0
第五章
CB
3 -1 0
XB
x1 x2 x4
b
13/7 9/7 31/7
x1
1 0 0
x2
0 1 0
x3
1/7
x4
0
x5
2/7 3/7 22/7
三、 分枝定界法
求解步骤:
第五章
1)设有最大整数规划问题A ,相应的松弛问题为B 。以Zb 表示问题A的目标函数的初始界。(下界) 2)解 B a) B没有可行解,则A也没有可行解. b) B有最优解且为整数解,则A的最优解即得。 c) B有最优解但非整数解,B的最优值 Za为z*的上界
3)分枝 : 在B的最优解中取xi(=bi) bi不为整数。
原问题的最优解z * :
x1 4 x1 5
0 z * 356
1 ) x1非整数,在原约束问题中分别添加两个子约束:
三、 分枝定界法
得到两个子问题:B1 ; B2
第五章
同样不考虑整数条件其最优解为: B1 B2 z1 349 x1 4.00 x2 2.10 z 341 x1 5.00 x2 1.57
-1/2 1/4 -1/4
x5 0 0
0 1 0
x6 1 -5/4
-11/2 -3/4 -17/4
x5 7/4 σj=cj-zj
增加约束条件:
3 1 1 x x 4 4 4 6 4
3 1 1 x x x 7 4 4 4 6 4
二、解纯整数规划的割平面法
运筹学第五章 整数规划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
运筹学 第四版 第五章 整数规划

货物/箱 甲 乙
托运限制/集 装箱
体积/米3 5 4
24
重量/百斤 2 5
13
利润/百元 20 10
表 3.1
货物/箱 甲 乙
托运限制/集 装箱
体积/米3 5 4
24
重量/百斤 2 5
13
利润/百元 20 10
解 设 x1,分x2 别为甲、乙两种货物的托运箱数.则这是一个
纯整数规划问题 .其数学模型为:
(pzreorgor-aomnme iinngte)ger linear
若不考虑整数条件,由余下的目标函数和约束条件构成
的规划问题称为该整数规划问题的松弛问题(slack
problem)
n
max Z (或 min Z ) c j x j j 1
整数线性规划数学
n
st. j1 aij x j
max Z 20 x1 10 x2
5x1 4x2 24 s.t 2x1 5x2 13
x1, x2 0, 整数
(1)
若暂且不考虑 x1, x取2 整数这一条件.则(1)就变为下列 线性规划 :
max Z 20 x1 10 x2
s.t
52xx11
4x2 5x2
24 13
x1, x2 0
目前,常用的求解整数规划的方法有: 分支定界法和割平面法; 对于特别的0-1规划问题采用隐枚举法和匈牙利法。
§2 解纯整数规划的割平面法
考虑纯整数规划问题
n
max Z cjxj j 1
n
aijxj bis.tj 1xj0
xj取整数
i 1, 2....m
j 1, 2...n j 1, 2,..n
n
max Z (或 min Z ) c j x j j 1
运筹学 第五章 整数规划PPT课件
x 32
x 42
400
x 13
x 23
x 33
x 43
300
x 14 x 24 x 34 x 44 1 5 0
s
.t
x 11 x 21
x 12 x 22
x 13 x 23
x 14 x 24
400 600
x
31
x 32
x 33
x 34
200 y3
x 41 x 42 x 43 x 44 2 0 0 y 4
max Z 85x11 92x12 73x13 90x14 95x21 87 x22 78x23 95x24 82x31 83x32 79x33 90x34 86x41 90x42 80x43 88x44
要求每人做一项工作,约束条件为:
x11 x12 x13 x14 1
例5.3 设整数规划问题如下
max Z x1 x2
14 x1 9 x2 51
6 x1
3x2
1
x
1
,
x2
0且 为 整 数
首先不考虑整数约束,得到线性规划问题(一般称为松弛问题)
max Z x 1 x 2
14
x1 6x
1
9x2 3x
2
51 1
ቤተ መጻሕፍቲ ባይዱ
x
1
,
x2
0
用图解法求出最优解为:x1=3/2, x2 = 10/3,且有Z = 29/6
在很多场合,我们建立最优化模型时,实际问题要求决 策变量只能取整数值而非连续取值。此时,这类最优化 模型就称为整数规划(离散最优化)模型。
整数规划的求解往往比线性规划求解困难得多,而且, 一般来说不能简单地将相应的线性规划的解取整来获得。
《运筹学》第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)式,然后运用对偶单纯形法求出最优解。
运筹学课件:第5章 整数线性规划-第3节
• 整数线性规划问题的可行域是整数点集,割 平面解法的思路是:首先不考虑变量是整数 这一条件,仍然是用解线性规划的方法去解 整数线性规划问题,若得到非整数的最优解 ,然后增加能割去非整数解的线性约束条件( 或称为割平面)使得由原可行域中切割掉一部 分,这部分只包含非整数解,但没有切割掉 任何整数可行解。
• 直观地表示在图5-7中。但从解题过程来看, 这一步是不必要的。
图5-7
现把求一个切割方程的步骤归纳为:
(1) 令xi是相应线性规划最优解中为分数值的 一个基变量,由单纯形表的最终表得到
xi aik xk bi
k
(5 4)
其中i∈Q(Q指构成基变量号码的集合) k∈K(K指构成非基变量号码的集合)
⑥
• 3x1+x2 +x4=4
⑦
不考虑条件⑤,用单纯形表解题,见表5-2。
初始计算表 最终计算表
表5-2
cj
CB
XB
0
x3
0
x4
cj-zj
1
x1
1
x2
cj-zj
11 0
0
b
x1 x2
x3
x4
1 -1 1 1
ห้องสมุดไป่ตู้
0
4
31
0
1
0
11
0
0
3/4 1 0 -1/4 1/4
7/4 0 1 3/4 1/4
-5/2 0 0 -1/2 -1/2
从表5-2的最终计算表中,得到非整数的最优解: x1=3/4,x2=7/4,x3=x4=0,max z=5/2
不能满足整数最优解的要求。为此考虑将带 有分数的最优解的可行域中分数部分割去, 再求最优解。就可以得到整数的最优解。
运筹学 第五章 整数规划
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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 整数规划一、学习目的与要求1、熟悉分支定界法和割平面法的原理及其应用;2、掌握求解0——1规划问题的隐枚举法;3、掌握求解指派问题的匈牙利法。
二、课时 9学时第一节整数规划的数学模型及解的特点整数规划IP (integer programming):在许多规划问题中,如果要求一部分或全部决策变量必须取整数。
例如,所求的解是机器的台数、人数、车辆船只数等,这样的规划问题称为整数规划,简记IP 。
松弛问题(slack problem):不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整数规划问题的松弛问题。
若松弛问题是一个线性规化问题,则该整数规划为整数线性规划(integer linear programming)。
一、整数线性规划数学模型的一般形式⎪⎪⎪⎩⎪⎪⎪⎨⎧=≥=≥=≤=∑∑==中部分或全部取整数或或或n j i nj j ij nj jjx x x n j x m i b x a t s x cz ,,,),,2,1(0),,2,1(),(..min)max(2111整数线性规划问题可以分为以下几种类型1、纯整数线性规划(pure integer linear programming):指全部决策变量都必须取整数值的整数线性规划。
有时,也称为全整数规划。
2、混合整数线性规划(mixed integer liner programming):指决策变量中有一部分必须取整数值,另一部分可以不取整数值的整数线性规划。
3、0—1型整数线性规划(zero —one integer liner programming):指决策变量只能取值0或1的整数线性规划。
二、整数规划的例子例1 某服务部门各时段(每2h 为一时段)需要服务员的人数见下表。
按规定,服务员连续工作8h (即四个时段为一班)。
现在求安排服务员的工作时间,使服务部门服务员总数最少?j例2 现有资金总额为B 。
可选择投资项目有n 个,项目j 所需投资额和预期收益分别为a j 和c j (j=1,2,…,n )。
此外由于种种原因,有三个附加条件:若选择项目1,就必须选择项目2。
反这则不一定;第二,项目3和项目4中至少选择一个;第三,项目5、项目6和项目7恰好选择两个。
应当怎样选择投资项目,才能使预期收益最大?解:每一个投资项目都有被选择和不被选择两种可能,为此令),,2,1(01n j j j x j =⎩⎨⎧=不投资项目投资项目这样,问题可表示为∑==nj j jx cz 1max⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧===++≥+≥=∑=),,2,1(1021..76543121n j x x x x x x x x B x a t s j nj j j 或例3 工厂A 1和A 2生产某种物资。
由于该种物资供不应求,故需要再建一家工厂。
相应的建厂方案有A 3和A 4两个。
这种物资的需求地有B 1,B 2,B 3,B 4四个。
各工厂年生产能力、各地所需求量、各厂至各需求地的单位物资运费c(i,j=1,2, …,4)见下表。
工厂A 3或A 4A 3还是A 4,才能使今后每年的总费用(即全部物资运费和新工厂生产费用之和)最少?解:这是全个物资运输问题,其特点是事先不能确定应该建A 3或A 4中哪一个,因而不知道新厂投产后的实际生产费用。
引入0—1变量⎩⎨⎧=4301A A y 若建工厂若建工厂再设c ij 为由Ai 运往Bj 的物资数量(i,j=1,2, …,4),单位是千吨,z 表示总费用。
问题数学模型为1400)1(1200min 4141y y x cz j i ij ij-++=∑∑==⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧==≥-========∑∑∑∑∑∑∑∑========10),4,3,2,1,(0)1(200200600400150300400350..414413412411414413412411或y j i x y x y x x x x x x x t s ij i j i j i j i j i i i i i i i i三、整数规划的解的特点相对于松弛问题而言,二者之间既有联系,又有本质的区别 (1)整数规划问题的可行域是其松弛问题的一个子集 (2)整数规划问题的可行解一定是其松弛问题的可行解(3)一般情况下,松弛问题的最优解不会刚好满足变量的整数约束条件,因而不是整数规划的可行解,更不是最优解(4)对松弛问题的最优解中非整数变量简单的取整,所得到的解不一定是整数规划问题的最优解,甚至也不一定是整数规划问题的可行解(5)求解还是要先求松弛问题的最优解,然后用分支定界法或割平面法。
例4 考虑下面的整数规划问题:⎪⎩⎪⎨⎧≥≤+≤+-+=且取整数0,82332..4max 21212121x x x x x x t s x x zx 1x 2 9 12第二节 解纯整数规划的割平面法考虑纯整数规划问题⎪⎪⎪⎩⎪⎪⎪⎨⎧=≥===∑∑==取整数n j i nj j ij nj jjx x x n j x m i b x a t s x cz ,,,),,2,1(0),,2,1(..max 2111设其中a ij (i=1,2,…,m,j=1,2, …,n )和b j (j=1,2, …,n )皆为整数。
纯整数规划的松驰问题是一个线性规划问题,可以用单纯形法求解。
在松驰问题的最优单纯形表中,记Q 为m 个基变量的下标的集合,K 为n-m 个非基变量的下标的集合,则m 个约束方程可表示为Q i b x ax iKj j iji ∈=+∑∈ (1)而对应的最优解T n x x x X *),*,*,(*21 =,其中⎪⎩⎪⎨⎧∈∈=Kj Q j b x jj 0*若j b 皆为整数,则此解就是纯整数规划的最优解。
否则不是原整数规划最优解。
割平面法基本思路:通过增加新的约束来切割可原问题伴随规划的可行域,使它在不断缩小的过程中,将原问题的整数最优解逐渐暴露且趋于可行域极点的位置,这样就有可能用单纯形法求出。
每次增加的新的约束条件应当具备两个基本性质:一是已获得的不符合整数要求的线性规划最优解不满足线性约束条件,从而不可能在以后的解中再出现;二是凡整数可行解均满足线性约束条件,因而整数最优解始终被保留在每次形成的线性规划可行域中。
为此若)(00Q i b i ∈不是整数,在(1)式中的约束方程为000,i Kj j ji i b x ax =+∑∈ (2)其中)(,0K j x x j i ∈应为整数,按)(00Q i b i ∈不是整数,j i a ,0可能是整数也可能不是整数。
分解00,i j i b a 和成两个部分。
一部分是不超过该数的最大整数,另一部分是余下的小数。
即)(10,,,,,,,,000000K j fa N fN a ji j i j i ji j i j i ∈<≤≤+=且为整数10,,000000<<<+=i i i i i i f b N f N b 且为整数(2)式变为∑∑∈∈-=-+Kj j ji i i Kj j ji i x ff N x Nx ,,00000因此有∑∈≤-Kj j ji i x ff 0,00,即0,i Kj j ji fx f-≤-∑∈ (3)上式满足上面要求的两个性质(证明见书P128)。
实际解题时,经验表明若从最优单纯表中选择具有最大(小)数部分的非整分量所在行构造割平面约束条件,往往可以提高切割效果,减少切割次数。
例5 用割平面法解整数规划问题⎪⎪⎪⎩⎪⎪⎪⎨⎧≥≤+≥+≤--=且为整数0,5210453233max 2121212121x x x x x x x x x x z解:将原整数规划问题称为原问题A 0,不考虑整数条件的松驰问题为问题B 0,求解过程如下: 1. 用单纯形法求解B 0,得最优单纯形表2在最终表上任选一个含有不满足整数条件基变量的约束方程。
若选x 1,则含x 1的约束方程为:76573371-≤--x x上式加入松驰变量x 6得766573371-=+--x x x 3737641441-=+--x x x 再解新线性规划得割平面法解整数规划问题的基本步骤第一步:用单纯形法解松弛问题,得到最优单纯形表。
第二步:求一个割平面方程,加到最优单纯形表中,用对偶单纯形法继续求解。
第三步:若没有得到整数最优解,则继续作割平面方程,转第二步。
第三节 分支定界法分枝定界法是一种隐枚举法或部分枚举法,它不是一种有效算法,是枚举法基础的改进。
分枝定界法的关键是分支和定界。
分支定界法的主要思路是首先求解整数规划的伴随规划,如果求得的最优解不符合整数条件,则增加新约束——缩小可行域;将原整数规划问题分支——分为两个子规划,再解子规划的伴随规划……,最后得到原整数规划的伴随规划。
这就是所谓的“分支”。
所谓“定界”,是在分支过程中,若某个后继问题恰巧获得整数规划问题的一个可行解,那么,它的目标函数值就是一个“界限”,可以作为衡量处理其它分支的一个依据。
“分支”为整数规划最优解的出现创造了条件,而“定界”则可以提高搜索的效率。
例 用分支定界法求解整数规划问题⎪⎪⎩⎪⎪⎨⎧≥≤+-≤++=且为整数0,3121451149max 21212121x x x x x x x x z解:记整数规划为(IP ),它的松驰问题为(LP )。
(1)首先解该整数规划的松驰问题为(L P ),如图所示,用图解法其最优解为X *=(3/2,10/3)’,图中点A ,Z*=29/6。
不符合整数要求,可任选一个变量,如x 1=3/2进行分支。
由于最接近3/2的整数是1和2,因而可以构造两个约束条件x 1≥2 和x 1≤1,分别并入原来的约束条件,形成两个分支S 1、S 1,松驰问题分别记为(LP 1)、(LP 2)。
(LP 1)其最优解为X*=(2,23/9)’,图中点B ,Z*=41/9;(LP 2)其最优解为X*=(1,7/3)’,图中点C ,Z*=10/3;都不整数解,因41/9>7/3,优先S 1分枝。
因x 2=23/9,进行分支。
由于最接近23/9的整数是2和3,因而可以构造两个约束条件x 2≥3 和x 2≤2,分别并入原来的约束条件,形成两个分支S 11、S 12,松驰问题分别记为(LP 11)、(LP 12)。
(LP 11)其最优解为为空;(LP 12)其最优解为X*=(33/14,2)’,图中点D ,Z*=61/14;不是整数解。
x 1x 2x 1x 2 x 2E(3,1)因x1=33/14,进行分支。
由于最接近33/14的整数是2和3,因而可以构造两个约束条件x1≥3 和x1≤2,分别并入原来的约束条件,形成两个分支S121、S122,松驰问题分别记为(LP121)、(LP122)。