运筹学基础-整数规划(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

情况 1 无可行解 情况 2, 4, 5 找到最优解 情况 3 在缩减的域上继续分枝定界法 情况 6 问题 1 的整数解作为界被保留,用于以后与问题 2 的后 11 续分枝所得到的整数解进行比较,结论如情况 4
整数规划
第一步,先不考虑原问题的整数限制,求解相应的松弛问题, 若求得最优解,检查它是否符合整数约束条件;如符合整数约束条 件,即转下一步。 第二步,定界。在各分枝问题中,找出目标函数值最大者Z* 作为整数规划最优值 的上界,从已符合整数条件的分枝中,找出 目标函数值最大者作为下界,即
+ + 3 4
C(4.8,0)
5
6
7
4
x1
整数规划
二、整数规划的求解方法
1、分枝定解法 2、割平面法 3、利用EXCEL求解
5
整数规划
1、整数规划之分枝定解法
写出整数规划问题A的伴随线性规划问题为B 问题A: maxZ= 20x1 +10x2 问题B: maxZ= 20x1 +10x2 5x1 +4x2 ≤24 5x1 +4x2 ≤24 2x1 +5 x2 ≤13 2x1 +5 x2 ≤13 x1 ≥0, x2 ≥0 x1 ≥0, x2 ≥0 x1, x2 整数 从问题B开始,若其最优解不符合A的整数条件,那么B的最优 目标函数必是A的最优目标函数Z*的上界,记作 z ,(如果是求最 小值,即为下界) 而A的任意可行解的目标函数值将是Z*的一个下界,记作 , (如果是求最小值,即为上界) z z≤ Z* ≤ z
Cj CB 1 1 检验数j XB x1 1 1 x2 0 1 0 0 x3 5/6 -2/3 -1/6 0 x4 -1/6 1/3 -1/6 x1 1 0 0 比 值
max z x1 x 2 ;
b
5/3 8/3 -13/3
最优解为
x1=5/3,x2=8/3
不是整数解
16
x2
整数规划 此时,也可以选择x2-x3-2≤0,只 是因为先分析出方程右端≤0
x2 ≥3
问题B12 x1=1.42 x2=3.00 Z=327
x2 ≤1
问题B21 x1=5.44 x2=1.00 Z=308
x2 ≥2
问题B22 无可行解
z= 340≤ Z* ≤349= z
Z* =340
10
整数规划
分枝为问题1、2后解可能出现如下几种情况
序号 问题 1 问题 2 说 明
1
2 3 4
第二步:分枝与定界
利用单纯形法求得最优解为: x1=4.8,x2=0,Z=96 z= 0≤ Z* ≤96= z
+ + 3 4
5
6
7
x1
问题B2: maxZ= 20x1 +10x2 问题B1: maxZ= 20x1 +10x2 5x1 +4x2 ≤24 5x1 +4x2 ≤24 无解; 2x1 +5 x2 ≤13 2x1 +5 x2 ≤13 x1 ≥5 x1 ≤4 x1 ≥0, x2 ≥0 x1 ≥0, x2 ≥0 利用单纯形法求得最优解为:最后得最优解为:x1=4,x2=1,Z=90 7 x1=4,x2=1,Z=90
是可行解,但不是最优解,因 x1=4,x2=1,Z=90也是可行解
maxZ= 20x1 +10x2 5x1 +4x2 ≤24 2x1 +5 x2 ≤13 x1 ≥0, x2 ≥0
x1=4.8,x2=0,maxZ=96 非整数解 2+ + B(4,1)
3 1+ + + +
x2
+
0+ + + 2 1
第四章 整数规划与分配问题
整数规划
§4.1 整数规划
一、整数规划问题的提出
在前面讨论的线性规划问题中,有些最优解可能是分数
或小数,但对于某些具体的问题,常有要求解答必须是整数
的情形(称为整数解),解决这样的问题即为整数规划。 注意:
解决整数规划问题不能仅仅是在线性规划求解中,将解
“四舍五入”就行了,因为化整后的解不见得是可行解;即 便是可行解,也不一定是优解。
Cj CB
1 1
1
1
0
0
XB x1 x2
b
5/3 8/3 -13/3
x1
1 0 0
x2
0 1 0
x3
x4
Leabharlann Baidu
比 值
5/6 -1/6 -2/3 1/3 -1/6 -1/6
检验数j
显然, x1=5/3,x2=8/3为非整数解。为求得整数解,想办法在 原约束条件的基础下引入一个新的约束条件,以保证一个或几个变 量取值为整数。为此,选择分数部分较大的非整数变量,如x2 , 写出如下表达式:
整数规划
分枝定界法的EXCEL演示
13
整数规划
2、割平面解法
割平面法也是求解整数规划问题常用方法之一。 【基本思路】
先不考虑整数约束条件,求松弛问题的最优解,如果获得整数 最优解,即为所求,运算停止。 如果所得到最优解不满足整数约束条件,则在此非整数解的基 础上增加新的约束条件重新求解。这个新增加的约束条件的作用就 是去切割相应松弛问题的可行域,即割去松弛问题的部分非整数解 (包括原已得到的非整数最优解)。而把所有的整数解都保留下来, 故称新增加的约束条件为割平面。 当经过多次切割后,就会使被切割后保留下来的可行域上有一 个坐标均为整数的顶点,它恰好就是所求问题的整数最优解。即切 割后所对应的松弛问题,与原整数规划问题具有相同的最优解。
整数规划 第一步:寻找替代问题并求解
问题A: maxZ= 40x1 +90x2 9x1 +7x2 ≤56 7x1 +20x2 ≤70 x1 ≥0, x2 ≥0 x1, x2 整数
【例2】
问题B: maxZ= 40x1 +90x2
9x1 +7x2 ≤56 7x1 +20x2 ≤70 x1 ≥0, x2 ≥0
3. 增加为割平面的新约束条件,用前面介绍的灵敏分析的方法继续求 解,返回1。
15
整数规划
【例1】求解下列整数规划问题
max z x1 x 2 ; 2 x1 x 2 6 ; 2 x1 x 2 x3 =6 ; (2) (1) 4 x1 5 x 2 20; 4 x1 5 x 2 x 4 =20 ; x , x 0, 且为整数 1 2 x1 , x 2 , x 3 , x 4 0, 解:引入松弛变量,写成标准形式 对上述模型不考虑整数条件,用单纯形法求解相应松弛问题的最 终单纯形表为
利用单纯形法求解问题B得最优解为: x1=4.81,x2=1.82,Z=356 第二步:分枝与定界 z= 0≤ Z* ≤356= z 问题B1: maxZ= 40x1 +90x2 问题B2: maxZ= 40x1 +90x2 9x1 +7x2 ≤56 9x1 +7x2 ≤56 7x1 +20x2 ≤70 7x1 +20x2 ≤70 x1 ≥5 x1 ≤4 x1 ≥0, x2 ≥0 x ≥0, x ≥0 利用单纯形法求得最优解为: 利用单纯形法求得最优解为: x1=5,x2=1.57,Z=341 8 x1=4,x2=2.1,Z=349 z= 0≤ Z* ≤349= z
利用单纯形法求得最优解为: x1=4.8,x2=0,maxZ=96
3
整数规划
讨论:如何调整满足整数解
体积 每箱(米3) 甲 5 乙 4 托运限制 24 货物 重量 每箱(百斤) 2 5 13 利润 每箱(百元) 20 10
(1)四舍五入: x1=5,x2=0,Z=100 但破坏了体积限制条件,因而不是可行解 x (2)舍小数: 1=4,x2=0,Z=80
2
整数规划
【例1】
某厂拟用集装箱托运甲乙两种货物,每箱的体积、重量、 可获利润以及托运所受限制如表:问两种货物各托运多少箱, 可使利润为最大?
体积 每箱(米3 ) 甲 5 乙 4 托运限制 24 货物 重量 每箱(百斤) 2 5 13 利润 每箱(百元) 20 10
建立线性规划模型为:
maxZ= 20x1 +10x2 5x1 +4x2 ≤24 2x1 +5 x2 ≤13 x1 ≥0, x2 ≥0
分枝定界法就是将B的可行域分成子区域的方法,逐步减小 z 和增大 z ,最终逼近Z* 。
6
整数规划
第一步:寻找替代问题并求解
问题B: maxZ= 20x1 +10x2
x2
3
5x1 +4x2 ≤24 2+ + 2x1 +5 x2 ≤13 1+ + + + + x1 ≥0, x2 ≥0
0+ + + 2 1
整数规划
max z x1 x 2 ; 2 x1 x 2 x 3 =6 ; 4 x1 5 x 2 x 4 =20 ; x1 , x 2 , x 3 , x 4 0, 且为整数
分枝定界法的一般步骤如下
Z Z* Z
x j b 'j , xj
' j
第三步,分枝。根据对变量重要性的了解,在最优解中选择一个 不符合整数条件的xj ,令 xj=b’j ,(b’j不为整数)则用下列两个约束条件:
b 1
第四步,应用对目标函数估界的方法,或对某一分枝重要性的了解, 确定出首先要解的某一分枝的后继问题,并解此问题。若所获得的最优解 符合整数条件,则就是原问题的解,若不符合整数条件,再回到第二步, 12 并参照第四步终止后继问题。
将上式的所有变量的系数及右端常数均改写成一个整数 与一个非负真分数之和的形式。上式可以改写成
x2 2 / 3x3 1 / 3x4 8 / 3,
(3)
(1 0) x2 (1 1/ 3) x3 (0 1/ 3) x4 2 2 / 3 , 若将带有整数系数的变量留在方程的左边,其余移到方 程的右边,则有 (4) x2 x3 2 2 / 3 1/ 3x3 1/ 3x4 ≤0 由于要求变量取值为正整数,方程的左边必为整数。当然, 17 方程的右边也应为整数。又x3≥0,x4≥0于是,必有x3≥1,x4≥1
1 2
整数规划
分枝定解法求解(续)
问题B12: maxZ= 40x1 +90x2 问题B11: maxZ= 40x1 +90x2 9x1 +7x2 ≤56 9x1 +7x2 ≤56 x1=4 7x1 +20x2 ≤70 7x1 +20x2 ≤70 x1 ≤4 x2=2.1 x1 ≤4 x2 ≥3 Z=349 x2 ≤2 x1 ≥0, x2 ≥0 x1 ≥0, x2 ≥0 利用单纯形法求得最优解为: 利用单纯形法求得最优解为: x1=1.52,x2=3,Z=327 x1=4,x2=2,Z=340 z= 340≤ Z* ≤349= z 问题B21: maxZ= 40x1 +90x2 问题B21: maxZ= 40x1 +90x2 9x1 +7x2 ≤56 9x1 +7x2 ≤56 x1=5 7x1 +20x2 ≤70 7x1 +20x2 ≤70 x2=1.57 x1 ≥5 x1 ≥5 Z=341 x2 ≤1 x2 ≥2 x1 ≥0, x2 ≥0 x1 ≥0, x2 ≥0 无可行解 9 x1=5.44,x2=1,Z=308
14
整数规划
割平面法的具体求解步骤如下:
1. 对于所求的整数规划问题,先不考虑整数约束条件,求解相应的 n 松弛问题 max z c j x j ; j 1 n aij x j bi (i 1 , 2 ,, m) ; j 1 x 0 ( j 1, 2 ,, m). j 2. 如果该问题无可行解或已取得整数最优解,则运算停止;前者表示 原问题也无可行解,后者表示已求得整数最优解。如果有一个或更多 个变量取值不满足整数条件,则选择某个变量建立割平面。
整数规划
分枝定解法求解框图
问题B x1=4.81 x2=1.82 Z=356
z= 0≤ Z* ≤356= z
x1 ≥5
问题B x1=5.00 x2=1.57 Z=341
x1 ≤4
问题B1 x1=4.00 x2=2.1 Z=349
z= 0≤ Z* ≤349= z
x2 ≤2
问题B11 x1=4.00 x2=2.00 Z=340
无可行解
无可行解 无可行解 整数解
无可行解
整数解 非整数解 整数解
整数规划无可行解
此整数解即最优解 对问题 2 继续分枝 较优的一个为最优解
5
6
整数解,目标函 2 数优于问题
整数解
非整数解
非整数解,目标 函数优于问 题
问题 1 的解即最优解
问题 1 停止分枝 (剪
1 枝 ) ,其整数解为界, 对问题 2 继续分枝
相关文档
最新文档