整数规划及分支定界法
整数规划算法

⑵
先求(LP3),如图所示。 此时D 在点取得最优解。
x2
A 3 B C
⑴
(18/11,40/11)
D ⑶
即 x1=12/5≈2.4, x2 =3,
Z(3)=-87/5≈-17.4<Z≈-19.8
但x1=12/5不是整数,可继 续分枝。即 3≤x1≤2。
(三)、整数规划与线性规划的关系
从数学模型上看整数规划似乎是线 性规划的一种特殊形式,求解只需在线 性规划的基础上,通过舍入取整,寻求 满足整数要求的解即可。但实际上两者 却有很大的不同,通过舍入得到的解 (整数)也不一定就是最优解,有时甚 至不能保证所得倒的解是整数可行解。 举例说明。
例:设整数规划问题如下
用 图 解法求出最优解 x1=3/2, x2 = 10/3 且有Z = 29/6
x2
3
⑴
⑵
(3/2,10/3)
现求整数解(最优解): 如用“舍入取整法”可得 到4个点即(1,3) (2, 3)(1,4)(2,4)。显然, 它们都不可能是整数规划 的最优解。
3
x1
按整数规划约束条件,其可行解肯定在线性规划问题 的可行域内且为整数点。故整数规划问题的可行解集 是一个有限集,如图所示。
各分枝的目标函数值中,若有小于Z 者,则剪掉此 枝,表明此子问题已经探清,不必再分枝了;否则继续 分枝。
如此反复进行,直到得到Z=Z*=Z 为止,即得最优解 X* 。
(二)、例题 例一:用分枝定界法求解整数规划问题(用图解法计算) min Z x1 5 x2 x1 x2 2 5 x 6 x 30 记为(IP) 1 2 x 4 1 x1 , x2 0且全为整数 解:首先去掉整数约束,变成一般线性规划问题 min Z x1 5 x2 x1 x2 2 5 x 6 x 30 记为(LP) 1 2 x 4 1 x1 , x2 0
整数规划

比如下面的例子:
例1.某厂拟用集装箱托运甲乙两种货物,每箱 的体积、重量、可获利润以及托运所受限制如 下表:
货物 体积(每 箱M3) 5 甲 4 乙 托运限制 24 重量(每箱 50kg) 2 5 13 利润(每 箱百元) 20 10
问两种货物各托运多少箱,可使利润最大?
为了满足整数解得要求,初看,似乎只要把已得到的分 数或小数, “舍入化整”就可以了。但是,这常常是不行的, 因为化整后,不一定是可行解,或者虽是可行解,但不一定 是最优解。
整数规划
§1 整数规划及其解法 §2 0-1型整数规划 §3 指派问题
整数规划
1、理解整数规划、0-1规划和指派问题的数学 模型 2、理解整数规划模型的类型 3、理解整数规划的求解方法:分支定界法和割 平面法、0-1规划的隐枚举法和指派问题的 匈牙利法的思想和步骤
求解方法
1、分支定界法 2、割平面法
a x
i 1 ij
n
j
bi yi M (i 1,, m)
y1 + y2 + „ + ym = m –1, yi = 0 或 1 (i=1,„,m)
3、关于固定费用问题
• 在讨论线性规划时,有些问题是要求使 成本最少的方案,那时总设固定成本为 常数,并在线性规划的模型中不必明显 列出。但有些固定成本的问题不能用一 般线性规划来描述,但可改为混合整数 规划来解决。
aj
值最大?
解:设 x j 为决策变量,且 x j 满足如下限制
xj {
1,携带第j件物品 0,不携带第j件物品
,j 1,2, n
则问题的数学模型为
x c j x j max
j 1
n
分枝定界法

4
x1
x2 x1
16.5 4
x1 0, x2 0
结论1 :(IP)的最优解一定在某个子问题中
2 :子问题的可行域 父问题的可行域 子问题的最优解 ≤ 父问题的最优值
3 :子问题中的整数解都是(IP)的可行解
二: 定界,以每个后继问题为一分枝标明求解结 果,在解的结果中,找出最优目标函数值最大者作 为新的上界.从已符合整数条件的各分支中,找出 目标函数值为最大者作为新的下界,若无,则下界 为0.
x1 x2 x3 x4 x5 解
检 0 0 -20/3 0 -50/3 Z-440/3
x2 0
x1 1 x4 0
1 1/3 0
00
0
0 -1/3 1
-2/3 17/6 13 -10/3 5/3
L1最优解:x1 3,x2 17 6 , x3 0
x4
5 3
,
x5
0,
最优值:z1
440 3
求解子问题L3 :
x1 x2 x3
检 0 0 -20/3
x2 0 1 1/3 x1 1 0 0 x4 0 0 -1/3
x6 0 1 0
x4 x5
x6
0 -50/3 0
00 1
解 Z-440/3 17/6 3 5/3
2
最优解:
xx14
35,/ 2x,2 x52, x03,
11 4,x2 0,x4
3, 52,
z3 130 得下界
x5 14 , x6 0
z4
285 2
z3
L5
:x1 x3
2,x2 0,x4
分支定界

所谓“分支”就是在处理整数规划问题时,逐步加入 对各变量的整数要求限制。先求解整数规划相应的松弛问 题(记为 P0),若(P0)的最优解不符合整数条件,假设 xi b i 不符合整数条件,于是增加新的约束条件: xi bi 和
xi bi 1, 分别将其加入到松弛问题(P0)中, 从而形成两
5 x1 7 x2 35 s.t . 4 x1 9 x2 36 x , x 0, 全部为整数 1 2
解 :step1
确定与整数规划问题(记为问题 A)对应的松
弛线性规划问题 (记为问题 B):
max z 2 x1 3 x2
5 x1 7 x2 35 s.t . 4 x1 9 x2 36 x , x 0 1 2
个分支,称为两个后继子问题。后继子问题的可行域包含 整数规划所有的可行解。根据需要,后继子问题可以产生 类似的分支,从而把原整数规划问题通过分支迭代求出最 优解。
所谓“定界”就是在分支过程中,若某个后继子问题最优 解恰好是整数规划的可行解,则该后继子问题最优目标函 数值成为整数规划的目标函数值的一个“界限” ,从而对 那些最优目标函数值比上述“界限”还差的后继子问题可 以剔除不加考虑。 同时在分支过程中出现更好的 “界限” , 则用它来取代原来的界限,以提高定界的效率。
则总生产成本的目标函数为:
min z C ( x j ) c j x j k j y j
j 1 j 1
n
n
这里 M 是一个充分大的正数。 所以该产品计划问题可以表 述成如下规划问题:
min z c j x j k j y j
j 1
n
0 x j My j , j 1,2,, n s.t. y j 0 or 1, j 1,2,, n
整数规划-分支定界习题

• 第四步,定界过程
LP3的解满足整数约束,不必再分枝,它的目标函数值是29, 大于原有下界0,则新的下界为29; 现有上界为未分枝子问题中目标函数最大值,即为226/7。 LP2的解仍不满足整数约束的要求,它的目标函数值226/7大于 现有下界,则应继续分枝。
• 第五步,分枝过程
将不满足整数约束的变量x2 进行分枝,构造两个新的约束条件: x2≤ [20/7]=2, x2 ≥ [20/7] +1=3
5 4 3
x1=3 x1=4
• • • •
1
• • •
2
2
1
• •
3
•
4
5x1 +7 x2 =35
2x1 + x2 =9
x1
• 求解相应的线性规划的最优解
问题2相应的线性规划的最优解:x1=3,x2 =20/7,Z2=226/7 问题3相应的线性规划的最优解:x1=4,x2 =1,Z3=29
问题4:maxZ= 6x1 +5 x2 2x1 + x2 ≤9 5x1 +7 x2 ≤35 x1≤3 x2≤2 x1, x2 ≥0 x1, x2取整数
x2
5
问题5: maxZ= 6x1 +5 x2 2x1 + x2 ≤9 5x1 +7 x2 ≤35 x1 ≤ 3 x2 ≥3 x1, x2 ≥0 x1, x2取整数 x1=3 x1=4
R12: z12=327 x1=1.42 x2=3.00
R21: z21=308 x1=5.44 x2=1.00
R22: 无可 行解
例 maxZ= 6x1 +5 x2
2x1 + x2 ≤9 5x1 +7 x2 ≤35 x1, x2 ≥0 x1, x2取整数
整数规划 割平面法 分枝定界法

用图解法求得可行域D及最优解点A,见下图:
x2
A(3/4,7/4) 由标准化的约束方程组可得
-x1+x2=1
1
D B(1,1)
x3 =1+x1-x2 x4=4 -3x1-x2 代入切割方程 得
-1 0
3x1+x2=4
3(1+x1-x2)+(4-3x1-x2)≥3
下面以实例来说明算法的步骤。
例2 求解下面整数规划
x2
maxZ=40x1+90x2
⑴8
9x1+ 7x2≤56 7x1+20x2≤70 xx11,,xx22≥0整数
⑵
⑶ ⑷
4
⑸
解:先不考虑条件⑸,求解相 0
应的线性规划问题L,得最优解
x1=4.81,x2=1.82,Z0=356(见图) 该解不是整数解。选择其中一个
整个分枝定界过程如下图所示:
问题L
Z0=356 x1=4.81x2=1.82
Z 0,Z 356
x1≤4
问题L1 Z1=349 x1=4.00,x2=2.10
x2≤2 问题L3 Z3=340 x1=4.00 x2=2.00
Z※=340
x2≥3
问题L4 Z4=327 x1=1.42 x2=3.00
×
x1≥5
运筹学
整数线性规划
§1 整数规划问题
在前面的线性规划问题中,它的解都假设为可以取连续数值。 但是在许多实际问题中,决策变量仅仅取整数值时才有意义,比如 变量表示的是工人的人数、机器的台数、货物的箱数、装货的车皮 数等等。为了满足整数解的要求,比较自然的简便方法似乎就是把 用线性规划方法所求得的非整数解进行“四舍五入”取整或“舍尾 取整”处理。当然,这样做有时确实也是有效的,可以取得与整数 最优解相近的可行整数解,因此它是实际工作中经常采用的方法。 但是实际问题中并不都是如此,有时这样处理得到的解可能不是原 问题的可行解,有的虽是原问题的可行解,但却不是整数最优解。 (详见后面例1)。因而有必要专门研究只取整数解的线性规划的 解法问题。
运筹学课件第三节分支定界法

约束条件组
n aij xj b i My i j1 st. p (i 1 ,2,...,p) yi pq i1
在约束条件中保证了在P个0-1 变量中有p-q个1,q个0;凡取值 =0的yi对应的约束条件为原约束 条件,凡取值=1的yi对应的约束 条件将自然满足,因而为多余.
,先加工某种产品 0 yj ( j 1 ,2 ,3 ,4 ) 1 ,先加工另外产品 机床1:x11+a11≤x21+My1 ; x21+a21≤x11+M(1-y1) 机床2:x22+a22≤x32+My2 ; x32+a32≤x22+M(1-y2) 机床3:x13+a13≤x33 +My3 ; x33+a33≤x13+M(1-y3) 机床4:x14+a14≤x24 +My4 ; x24+a24≤x14+M(1-y4) 当y1=0,表示机床1先加工产品1,后加工产品2;当y1=1,表示机床1先 加工产品2,后加工产品1.
不同的搜索策略会导致不同的搜索树,一般 情况下,同一层的两个子问题,先搜索目标 函数比较大的较有利(如果是极小问题,则 应先搜索目标函数值小的较为有利)。这样 可能得到数值比较大的下界,下界越大被剪 去的分支越多。 分支定界算法对于混合整数规划特别有效, 对没有整数要求的变量就不必分支,这将大 大减少分支的数量。
Max Z = X1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 X1 ≥2 X2 ≤ 2 X1 , X2 ≥ 0 Max Z = X1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 X1 ≥3 X2 ≤ 2 X1 , X2 ≥ 0 Max Z = X1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 2≤ X1 ≤2 X2 ≤ 2 X1 , X2 ≥ 0
求解整数规划问题的分支定界法

求解整数规划问题的分支定界法整数规划问题是运筹学和数学中非常重要的一个分支,它本身又有着非常广泛的应用,例如资源分配、制造流程规划等等。
但是,由于整数规划问题的复杂性,导致绝大部分问题都是NP困难问题,即使运用最先进的算法,也很难找到一个高效的解决方案。
然而,分支定界法就是其中一种能够求解整数规划问题的有效方法。
一、什么是整数规划整数规划是指在线性规划(LP)问题的基础上,需要将变量的取值限制为整数类型(不是实数类型),其数学描述如下所示:$$\begin{aligned} \max \ \ & c^Tx \\s.t. \ \ & Ax \leq b\\& x_i\in\mathbb{Z} \ \ (i=1,2,...,n)\end{aligned}$$其中$c,x, b$以及 $A$分别是问题中的参数,表示目标函数的系数、变量向量、约束条件以及约束矩阵。
二、什么是分支定界法分支定界法,又被称为分支剪枝法,是求解整数规划问题的一个常用方法。
它的核心思想在于,将整数规划问题分解为多个子问题,并通过将问题空间不断地分割,不断缩小问题的范围,从而找到最优解。
分支定界法大致分为以下几个步骤:(1)确定目标函数与约束条件,即整数规划问题的数学模型;(2)运用松弛法将整数规划问题转化为线性规划问题,从而求解该线性规划问题及其最优解;(3)根据最优解的情况,判断该最优解是否为整数解,如果不是,则选择其中一个变量进行分支(通常是将其约束为下取整和上取整);(4)根据变量的分支,得到两个新的整数规划问题,需要分别对其进行求解;(5)执行步骤(3)和(4),直到分支出的所有问题均已求解完毕,即得到原问题的最优解。
三、分支定界法的优缺点分支定界法虽然是一种有效的求解整数规划问题的方法,但是也有其优点和缺点。
优点:(1)能够精确求解整数规划问题。
(2)适用于各种规模的整数规划问题,虽然时间复杂度大,但是运作效率相对较高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
整理ppt
20
分枝定界法步骤
一般求解对应的松驰问题,可能 会出现下面几种情况:
➢若所得的最优解的各分量恰好是 整数,则这个解也是原整数规划 的最优解,计算结束。
➢若松驰问题无可行解,则原整数 规划问题也无可行解,计算结束。
整理ppt
21
➢若松驰问题有最优解,但其各分量不全 是整数,则这个解不是原整数规划的最 优解,转下一步。
➢剪枝:把那些子问题的最优值与界值比 较,凡不优或不能更优的分枝全剪掉, 直到每个分枝都查清为止。
整理ppt
23
例54x1+3x2 s.t. 3x1+4x2 12
4x1+2x2 9
x1,x2 0 且为整数
用单纯形法可解得相应的松驰问题的最 优解(6/5,21/10),Z=111/10为各 分枝的上界。
以上描述了目前解整数规划问题的 两种基本途径。
整理ppt
18
分枝定界解法
(Branch and Bound Method)
原问题的松驰问题:任何整数规划 (IP),凡放弃某些约束条件(如整数 要求)后,所得到的问题(P) 都称为 (IP)的松驰问题。
整理ppt
19
最通常的松驰问题是放弃变量 的整数性要求后,(P)为线性规 划问题。
➢从不满足整数条件的基变量中任选 一 个xl进行分枝,它必须满足xl [xl ] 或xl
[xl ] +1中的一个,把这两个约束条件加
进原问题中,形成两个互不相容的子问 题(两分法)。
整理ppt
22
➢定界:把满足整数条件各分枝的最优目 标函数值作为上(max)(下(min))界, 用它来判断分枝是保留还是剪枝。
Max Z= 20x1+15x2 +18x3 +14x4
+8x5 +4x6 +10x7
s.t. 5x1 + 5x2 +2x3 +6x4 +12x5 +2x6 +4x7 25
xi=1或xi=0 整理ipp=t 1,2,….7
6
例3-2 背包问题( Knapsack Problem)
一个旅行者,为了准备旅行的必须用品,要 在背包内装一些最有用的东西,但有个数限 制,最多只能装b公斤的物品,而每件物品只 能整个携带,这样旅行者给每件物品规定了 一个“价值”以表示其有用的程度,如果共 有n件物品,第j件物品aj公斤,其价值为cj.问 题变成:在携带的物品总重量不超过b公斤 条件下,携带哪些物品,可使总价值最大?
xj 0且部分或全部是整数
整理ppt
9
解法概述
当人们开始接触整数规划问题时, 常会有如下两种初始想法:
➢因为可行方案数目有限,因此经过 一一比较后,总能求出最好方案, 例如,背包问题充其量有2n-1种方式; 连线问题充其量有n!种方式;实际 上这种方法是不可行。
整理ppt
10
设想计算机每秒能比较
整理ppt
7
解:如果令xj=1表示携带物品j, xj=0表示不携带物品j,则问题表 示成0-1规划:
Max Z = Σcjxj s.t. Σajxj b
xj=0 或1
整理ppt
8
数学模型 整数规划(IP)的一般数学模型: Max (min) Z = Σcjxj s.t. Σaijxj bi(i=1,2,…m)
I
H
B(9.2,2.4)
G
F
整理ppt
O 1 2 3 4 5 6 E 7 A8 9 10
15 x1
❖假如把可行域分解成五个互不相交的子问题P1 P2 P3 P4 P5之和, P3 P5的定义域都是空集,而放弃 整数要求后P1最优解I(2,4),Z1=58 P2最优解 (6,3),Z2=57 P4最优解(98/11,2),Z4=52(8/11)
第三章 整数规划
整理ppt
1
3-1 整数规划问题
整数规划是一类要求变量取整数值 的数学规划,可分成线性和非线性 两类。
根据变量的取值性质,又可以分 为全整数规划,混合整数规划,01整数规划等。
整理ppt
2
整数规划是数学规划中一 个较弱的分支,目前只能解 中等规模的线性整数规划问 题,而非线性整数规划问题, 还没有好的办法。
x2
D
I(2,4)
54321
B(9.2,2.4) P1
P2
P4
整理ppt
O 1 2 3 4 5 6 7 A8 9 10
16 x1
X1 2
P1
X2 3
X1 6
P2
P
X1 3
P3
X2 4
X2 2
P4
X1 7
P5
X2 3
整理ppt
17
❖假如放弃整数要求后,用单纯形法 求得最优解,恰好满足整数性要求, 则此解也是原整数规划的最优解。
整理ppt
12
例3-3 求下列问题: Max Z=3x1+13x2 s.t.2x1+9x2 40
11x1-8x2 82 x1,x2 0,且取整数值
整理ppt
13
可行域OABD内整数点,放弃整数要求后,最 优解B(9.2,2.4) Z0=58.8,而原整数规划最 优解I(2,4) Z0=58,实际上B附近四个整点 (9,2)(10,2)(9,3)(10,3)都不是原规划最优解。
x2
D
I(2,4)
B(9.2,2.4)
54321
整理ppt
O 1 2 3 4 5 6 7 A8 9 10
14 x1
❖假如能求出可行域的“整点凸包”(包 含所有整点的最小多边形OEFGHIJ),则 可在此凸包上求线性规划的解,即为原问 题的解。但求“整点凸包”十分困难。
x2
54321
D
I(2,4)
J
整理ppt
3
例3-1:一登山队员做登山准备, 他需要携带的物品有:食品,氧 气,冰镐,绳索,帐篷,照相机 和通讯设备,每种物品的重要性 系数和重量如下:假定登山队员 可携带最大重量为25公斤。
整理ppt
4
整理ppt
5
解:如果令xi=1表示登山队员携 带物品i,xi=0表示登山队员不携 带物品i,则问题表示成0-1规划:
整理ppt
24
分枝:X1 1,x1 2
x2
43 2 1
P1
P2
1000000个方式,那么要比 较完20!(大于2*1018)种 方式,大约需要800年。比 较完260种方式,大约需要 360世纪。
整理ppt
11
➢先放弃变量的整数性要求,解一 个线性规划问题,然后用“四舍五 入”法取整数解,这种方法,只有 在变量的取值很大时,才有成功的 可能性,而当变量的取值较小时, 特别是0-1规划时,往往不能成功。