运筹学课件 第三节 分支定界法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运筹学教程
不同的搜索策略会导致不同的搜索树,一般 情况下,同一层的两个子问题,先搜索目标 函数比较大的较有利(如果是极小问题,则 应先搜索目标函数值小的较为有利)。这样 可能得到数值比较大的下界,下界越大被剪 去的分支越多。 分支定界算法对于混合整数规划特别有效, 对没有整数要求的变量就不必分支,这将大 大减少分支的数量。
7
运筹学教程
B12
(3/2 ,10/3) Z1 = 29/6
B1:解 (2,23/9 ) Z11 = 41/9 B12:解 (33/14,2 ) Z12 = 61/14 B121:解 (3,1 ) Z121 = 4
B121
B2:解 (1,7/3 ) Z21 = 10/3
B122
B122:解 (2,2 ) Z122 = 4
分枝
D C
B
Sub1
Sub2 Ir Xr Ir+1 A
X1
运筹学教程
Sub1
max Z CX AX b st . x r I r X 0
Sub2
max Z CX AX b st . x r I r 1 X 0
由于这两个子问题的可行域都是原线性规划问题可行域的 子集,这两个子问题的最优解的目标函数值都不会比原线 性规划问题的最优解的目标函数值更大。如果这两个问题 的最优解仍不是整数解,则继续选择一个非整数的变量, 继续将这个子问题分解为两个更下一级的子问题。这个过 程称为“分支(Branch)”。
B2:解 (1,7/3 ) Z21 = 10/3
B2
Max
1
2
6
运筹学教程
B1
Max
(3/2 ,10/3) Z1 = 29/6
B2:解 (1,7/3 ) Z21 = 17/3
B1:解 (2,23/9 ) Z11 = 41/9
B11
B12:解 (33/14,2 ) Z12 = 61/14
B12
Z = X 1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 X1 ≥2 X1 , X2 ≥ 0 Max Z = X 1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 X1 ≥2 X2 ≥ 3 X1 , X2 ≥ 0 Max Z = X1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 X1 ≥2 X2 ≤ 2 X1 , X2 ≥ 0
2
分析:如果生产第j种产品, xj>0. 约束条件xj ≤ Mjyj,yj=1; 如果不生产第j种产品, xj=0. 约束条件xj≤Mjyj, yj=1或0。当yj=1不利于目 标函数的最大化,因此在最 优解必然是yj=0。
件, M 1 100 ,
50 , M
3
34
运筹学教程
例 含有相互排斥的约束条件的问题 设工序B的每周工时约束条件为0.3x1+0.5x2≤150,式(1) 现有一新的加工方式,相应的每周工时约束条件为0.2x1+0.4x2≤120 ,式(2) 如果工序B只能选择一种,那么(1)和(2)变成相互排斥的约束条件.
产品2:x21+a21≤x22 ; x23+a23≤x24 产品3:x32+a32≤x33 ; 2.每一台机床对不同产品的加工顺序约束 一台机床在工作中,如果已经开始加工还没有结束,则不能开始加工另一件产 品.对于机床1,先加工1不能加工2.
为了容纳两种相互排斥的约束条件,对于每台机床,分别引入0-1变量:
8
运筹学教程
说明: 1、在B121,B122 的可行域中不可能存在比以上所求解 的2个最优解更好的解。 2、目标函数值maxZ=4作为IP规划的最优解的目标 函数的一个界限(MAX,下界;MIN,上界);
求极小问题时,LP问题的解是IP问题的下界。每次分支后的子 问题最优解的目标函数值都大于或等于分支前的最优值。如分 支中得到整数解,则最小的整数解为上界。如分支的目标函数 值大于上界,则停止分支。
y1 0 , B 采用原加工方式 1, B 不采用原加工方式 多余的约束 0 , B 采用新加工方式 1, B 不采用新加工方式
y2
0 . 3 x 1 0 . 5 x 2 150 My st . 0 . 2 x 1 0 . 4 x 2 120 My y1 y 2 1
5
运筹学教程
(3/2 ,10/3) Z1 = 29/6 B1:解 (2,23/9 ) Z11 = 41/9
松弛问题 Max Z = X1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 X1 , X2 ≥ 0 B1 Max Z = X 1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 X1 ≥2 X1 , X2 ≥ 0 Z = X 1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 X1 ≤1 X1 , X2 ≥ 0
有限要素 E 1, E 2 ,... E n , 每项 E j 有两种选择 1, E j 选择 A j xj 0 , E j 选择 A j
T (1,1,..., 1) T , 选择( A1,... A n) T ( x1 ,... x n ) : T (1,1,..., 0 ) T , 选择( A1,... A ) n
运筹学教程
例:固定费用问题 有三种资源被用于生产三种产品,资源量、产品单件费用、 资源消耗量以及生产产品的固定费用。要求制定一个生产计 划,总收益最大。
消耗 资源 产品
一、0—1规划数学模型
产品1
产品2
产品3
资源量
A
B C
2
2 1
4
3 2 5 150 10
8
4 3 6 200 12
500
300 100
运筹学教程
它的可行域为图中OABCDE (示意图),并设最优解位于 C。如果这个最优解中所有的 变量都是整数,则已经得到整 数规划的最优解。如果其中某 X2 一个变量Xr不是整数,则在可 行域中除去一块包含这个最优 E 解但不包含任何整数解的区域 Ir<Xr<Ir+1(其中Ir是变量Xr 的整数部分),线性规划的可 行域被划分成不相交的两部分, 分别以这两部分区域作为可行 域,用原来的目标函数,构造 两个子问题Sub1和Sub2: O
运筹学教程
第四节
0—1型整数规划
一、0-1变量及其应用 某些特殊问题,只做是非选择,故变量设置简化为0或1, 1代表选择,0代表不选择。
选取某个特定方案 1, 当决策选取方案 x 0 , 当决策不选取方案 问题含有较多的要素, 每项要素有 2 种选择,用 Aj, A j 0 1变量描述。
运筹学教程
0 , 先加工某种产品 yj 1,先加工另外产品
( j 1, 2 , 3 , 4)
机床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. 3.产品2的加工总时间约束
当y1=1,y2=0;采用 新工艺,(2)式成立;
1 2
运筹学教程
ห้องสมุดไป่ตู้
p 个约束条件
a
j 1
p
ij
x j b i ( i 1, 2 ,..., p ) p 个 0 1变量
选择 q 个约束条件,引入
0 , 选择第 i 个约束条件 ( i 1, 2 ,..., p ) yi 1, 不选择第 i 个约束条件 ( i 1, 2 ,..., p )
运筹学教程
例 工件排序问题
使用4台机床加工3件产品.各个产品的机床加工顺序以及产品i在机床j 上的加工时间 aij见表.由于某种原因,产品2的加工总工时不得超过d.现 在要求各件产品在机床上的加工方案,使在最段时间内加工完全部产品.
产品1 a11 机床1 产品2 a21 机床1 a23 机床2 a13 机床3 a14 机床4 a24 机床4
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
运筹学教程
每一次分支得到的子问题最优解的目标函数值,都小于 或等于分支前问题的最优解的目标函数值。非整数解的 最大值作为新的上界。 如果某一个子问题的最优解是整数解,就作为整数规划 最优目标函数值的下界。多个时取最大值。最后的下界 为整数规划的最优解。 如果某一个子问题的解还不是整数解,但这个非整数解 的目标函数值已经小于这个下界,那么这个子问题就不 必再进行分支。不然需重复进行分支。
确定整数解目标函数值上下界并不断更新 ,“剪除”目 标函数值小于下界的分支的过程,称为定界(Bound)。
运筹学教程
整数规划问题的求解方法 分支定界法图解整数规划
松弛问题 Max Z = X1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 X1 , X2 ≥ 0
该整数规划松弛问题的解为: (X1 ,X2 )= (3/2 ,10/3) Z1 = 29/6
约束条件组
n a ij x j b i My i j 1 st . ( i 1, 2 ,..., p ) p yi p q i 1
在约束条件中保证了在P个0-1 变量中有p-q个1,q个0;凡取值 =0的yi对应的约束条件为原约束 条件,凡取值=1的yi对应的约束 条件将自然满足,因而为多余.
运筹学教程
第三节 分支定界法
(Branch and Bound, 简称B&B)
基本思想如下:
首先不考虑变量的整数约束,求解相应的线性规 划问题,得到线性规划的最优解。 设线性规划问题: max Z CX
AX b st . X 0
最优解为Z。则Z为IP问题解Z*的上界,Z*≤Z。
单件费用 4 固定费用 100 单件售价 8
运筹学教程
解:xj是生产第j种产品的产量。 总收益等于销售减去所生产的产品的总费用。建立数学模型时,无法确 定某种产品是否生产,不能确定相应的固定费用是否发生,用0-1变量解 决此问题。
1, 生产第 j 种产品( x j 0) yj 0 , 不生产第 j 种产品( x j 0) max Z 4 x1 5 x 2 6 x 3 100 y 1 150 y 2 200 y 3 2 x1 4 x 2 8 x 3 500 2 x 3 x 2 4 x 3 300 1 x1 2 x 2 3 x 3 100 x1 M 1 y 1 st . x2 M 2 y2 x3 M 3 y3 x j 0 且为整数 y j 1或 0 M j 为 x j的上界 , 例如根据第三个约束条 M
运筹学教程
A X1=3/2,X2=10/3 Z=29/6
x1 ≤1 x1 ≥ 2
C X1=1,X2=7/3 Z=10/3
x2 ≤2
B X1=2,X2=23/9 Z=41/9
x2 ≥ 3
D X1=33/14,X2=2 Z=61/14
x1 ≤2 x1 ≥ 3
无可行解
E X1=3,X2=1 Z=4
F X1=2,X2=2 Z=4
产品3
a32
机床2
a33
机床3
运筹学教程
解 设xij表示产品i在机床j 上开始加工的时间(i=1,2,3;j=1,2,3,4) 1.同一件产品在不同机床上的加工顺序约束 同一件产品在下一台机床上的加工的开始时间不早于在上一台机床上加工 的结束时间,故应有
产品1:x11+a11≤x12 ; x13+a13≤x14