第五章整数规划
整数规划.
5.2 整数规划的解题思路
1. 当人们开始接触整数规划问题时,常常会 有如下两种初始想法: 想法一:因为可行方案的数目常常是有限 的,因此,从理论上讲,经过一一比较后, 总能求得最好方案。例如背包问题充其量有 2n-1种方式。但是这种穷尽法是行不通的。假 设一台计算机每秒比较一百万个方式,那么 要比较20!种方式,大约需要800年,要比较 260种方式,需要360多个世纪。
可行域=空集
max f = x1 + 4 x2 s.t. - 2 x1 + 3x2 ≤3 x1 + 2 x2 ≤8 x2 ≤2 x1 , x2 ≥0 解得 x1 = 4, x2 = 2
2. 分枝定界法的最优解步骤:
第一步:首先将整数规划问题当作一般的线性规划问 题处理,如果得到的解是整数解,则停止,否则转入第 二步; 第二步:增加整数约束,分枝,对分枝用线性规划求 解。如果得到的最优整数解的目标函数比其他分枝的最 优整数解的目标函数值都要好,则停止,否则转第三步; 第三步:(Ⅰ)若未获整数解的目标函数值比同层的 分枝要差,则暂停分枝。 (Ⅱ)如果其他枝的整数解目标函数值比这样要好,此 枝再也不用再分枝。 (Ⅲ)如果其他分枝的整数解目标函数比这枝要差,回 过头来继续对此枝分枝,希望找到一个使目标函数值有 所改善的整数解,转回第二步。
原始结点
图示:
上述说法可用图表示
max f = x1 + 4 x2 - 2 x1 + 3x2 ≤3
s.t.
x1 + 2 x2 ≤8
x1 , x2 ≥0 解 x1 = 2.5, x2 = 2.7
分枝 1 分枝 2
x2 ≥3
结点 1
x2 ≤2
原始结点
max f = x1 + 4 x2 s.t. x + 2 x ≤8 1 2 - 2 x1 + 3x2 ≤3 x2 ≥3 x1 , x2 ≥0
运筹学第五章 整数规划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章 整数规划
第五章 整数规划整数规划(integer programming )亦称整数线性规划,它实质上是在线性规划的基础上,给一些或全部决策变量附加取整约束得到的。
在许多情况下,我们都可以把规划问题的决策变量看成是连续的变量;但在某些情况下,规划问题的决策变量 却被要求一定是整数。
例如,完成某项工作所需要的人数或设备台数,进入市场销售的商品件数,以及某一机械设备维修的次数等。
为了满足整数解的要求,最容易想到的办法就是把求得的非整数解进行四舍五入处理来得到整数解,但这往往是行不通的。
舍入处理会出现两方面的问题:一是化整后的解根本不是可行解;二是化整后的解虽是可行解,但并非是最优解。
因此,有必要另行研究整数规划的求解问题。
在线性规划的基础上,要求所有变量都取整的规划问题称为纯整数规划问题(pure integer programming );如果仅仅是要求一部分变量取整,则称为混合整数规划问题(mixed integer programming )。
根据整数规划的定义,可将整数规划的数学模型表示为:0,;{min ≥==X b AX CX w 且(部分)为整数}。
显而易见,整数规划的可行域是其相应线性规划可行域的子集。
§1分枝定界法分枝定界法(branch and bound method )是求解整数规划常用的一种方法,它具有灵活且便于用计算机求解等优点。
它的一般思想是利用连续的(线性规划)模型来求解非连续的(整数规划)问题。
假定k x 是一个有取整约束的变量,而其最优连续值*k x 是非整数;那么在][*k x (表示*k x 的取整值)和1][*+k x 之间不可能包括任何可行整数解。
因此,k x 的可行整数值必然满足][*k k x x ≤或1][*+≥k k x x 之一。
把这两个条件分别加到原线性规划的解空间上,产生两个互斥的线性规划子问题。
实际上这一过程利用了整数约束条件,在“分割”时删除了不包含可行整数点的部分连续空间(1][][**+<<k k k x x x )。
运筹学 第五章 整数规划
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
分枝定界法步骤
一般求解对应的松驰问题,可能会出现 下面几种情况:
若所得的最优解的各分量恰好是整数, 则这个解也是原整数规划的最优解,计 算结束。
第五章-整数规划
在E点取得最优解。即
x2
x1=2, x2 =3, Z(211)=-17
找到整数解,问题已探明,此枝 3
停止计算。
求(LP212),如图所示。此时
F在点取得最优解。即x1=3, x2
=2.5,
1
Z(212)=-31/2≈-15.5 > Z(211)
如对LP212继续分解,其最小值
也不会低于-15.5 ,问题探明,
例5.2 现有资金总额为B。可供选择的投资项目有n个,项目j 所需投资额和预期收益分别为aj和cj(j=1,2,..,n),此外由 于种种原因,有三个附加条件:
若选择项目1,就必须同时选择项目2。反之不一定; 项目3和4中至少选择一个; 项目5,6,7中恰好选择2个。 应该怎样选择投资项目,才能使总预期收益最大。
现求整数解(最优解):如用舍
入取整法可得到4个点即(1,3),(2 x2
⑴
⑵
,3),(1,4),(2,4)。显然,它们 都不可能是整数规划的最优解。 3
(3/2,10/3)
按整数规划约束条件,其可行 解肯定在线性规划问题的可行域 内且为整数点。故整数规划问题 的可行解集是一个有限集,如右
图所示。其中(2,2),(3,1)点的目 标函数值最大,即为Z=4。
考虑纯整数规划问题:
设其中aij和bi皆为整数(若不为整数时,可乘上 一个倍数化为整数)。
割平面法(纯整数)
割平面法是R.E.Gomory于1958年提出的一种方法, 它主要用于求解纯ILP。
割平面法是用增加新的约束来切割可行域,增加的新 约束称为割平面方程或切割方程。其基本思路为:
若其松弛问题的最优解X*不满足整数约束,则从X*的 非整分量中选取一个,用以构造一个线性约束条件,将其加 入原松弛问题中,形成一个新的线性规划,然后求解之。若 新的最优解满足整数要求,则它就是整数规划的最优解;否 则重复上述步骤,直到获得整数最优解为止。
运筹学第五章 整数规划
第五章 整数规划主要内容: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(见下图)。
第五章整数规划【模板】
第五章整数规划§1整数规划的数学模型及特点要求一部分或全部决策变量必须取整数值得规划问题称为整数规划。
其模型为:Max(或min)z=s.t若要求决策变量只能取值0或1的整数规划称为0-1型整数线性规划。
§5 指派问题一.指派问题的标准形式及数学模型在现实生活中,有各种性质的指派问题。
例如,有若干项工作需要分配给若干人(或部门)来完成;有若干项合同需要选择若干个投标者来承包;有若干班级需要安排在各教室上课等等。
诸如此类的问题,它们的基本要求是在满足特定的指派要求条件下,使指派方案的总体效果最佳。
由于指派问题的多样性,有必要定义指派问题的标准形式。
指派问题的标准形式(以人和事为例)是:有n个人和n件事,已知第i个人作第j件事的费用为,要求确定人和事之间的一一对应的指派方案,是完成这n件事的总费用最少。
为了建立标准指派问题的数学模型,引入个0-1变量:这样,问题的数学模型可写成(5.1)s.t (5.3)其中,(5.1)表示每件事必优且只有一个人去做,(5.2)表示每个人必做且只做一件事。
注:○1指派问题是产量()、销量()相等,且==1,i,j=1,2,…n的运输问题。
○2有时也称为第i个人完成第j件工作所需的资源数,称之为效率系数(或价值系数)。
并称矩阵C= =(5.5)为效率矩阵(或价值系数矩阵)。
并称决策变量排成的n×n矩阵X== (5.6)为决策变量矩阵。
(5.6)的特征是它有n个1,其它都是0。
这n个1位于不同行、不同列。
每一种情况为指派问题的一个可行解。
共n!个解。
其总的费用 z =C⊙X这里的⊙表示两矩阵对应元素的积,然后相加。
问题是:把这n个1放到X的个位置的什么地方可使耗费的总资源最少?(解最优)例1已知效率矩阵C=则X(1)=,X(2)=都是指派问题的最优解例12/P-149:某商业公司计划开办五家新商店。
为了尽早建成营业,商业公司决定由5家建筑公司分别承建。
第五章 整数规划
1.整数规划的数学模型及解的特点 2.分支定界法、割平面法 3.0-1整数规划 4.指派问题
1.整数规划的数学模型及解的特点
整数规划数学模型的一般形式
一部分或全部决策变量取整数值的规划问题 ——整数规划 整数规划中不考虑整数条件是对应的规划问题 ——该整数规划的松弛问题 松弛问题为线性规划的整数规划问题 ——整数线性规划
(0,1,0,0,0)
Z8=2< Z5 ,不可 行,不可行子域, 停止分支。
Z7=9> Z5 ,停止分支。
(0,1,0,0,0)
4. 指派问题(assignment
problem)
4.1指派问题的标准 形式及其数学模型 4.2匈牙利解法 4.3一般的指派问题
指派问题的标准形式的提出?
在我们现实生活中,常有 各种性质的指派问题。例 如:应如何分配若干项工 作给若干个人(或部门) 来完成,以达到总体的最 佳效果等等。由于指派问 题的多样性,我们有必要 定义指派问题的标准形式 。
x2 2
x2 1.57 z 0 z 2 341 z 349
x2 3
z 340 z 341
B3 : x1 4.00 x2 2.00 z3 340
B4 : x1 1.42 x2 3.00 z 4 327
x2 1
*
x2 2
B5 : x1 5.44 B : 6 z z 340 x2 1.00 z5 308 无可行解
(4) 检验解是否可行。如可行,已得一个可行解,计算并
记下它的z值,并停止分枝,若子域都检验过,转步骤(7) ,否则转步骤(6)。因继续分枝,即使得到可行解,目标 函数值也比记下的z值大,不会是最优解;如不可行,进行 步骤(5)。
第五章整数规划
第五章 整数规划
本例问题B 及问题B 本例问题B1及问题B2的模型及求解结果如下 问题B 问题B 问题B1 问题B2
m z = 10x1 + 20x2 ax 5x1 + 8x2 ≤ 60 x ≤ 8 1 s.t .x2 ≤ 4 x ≤ 5 1 x1 , x2 ≥ 0
m z = 10x1 + 20x2 ax 5x1 + 8x2 ≤ 60 x ≤ 8 1 s.t.x2 ≤ 4 x ≥ 6 1 x1 , x2 ≥ 0
m z = 20x1 + 10x2 ax 5x1 + 4x2 ≤ 24 s.t. 2x1 + 5x2 ≤ 13 x , x ≥ 0, x , x 为整数 1 2 1 2 m z = 20x1 + 10x2 ax 5x1 + 4x2 ≤ 24 s.t.2x1 + 5x2 ≤ 13 x , x ≥ 0 1 2
第五章 整数规划
B5解为:X5*=(7,3)T,f5*=130;B6解为:X6*=(8,2.5)T, 解为: =130; 解为: f6*=130。因为此时B5的解为整数解,因此修改下界为130, =130。因为此时B 的解为整数解,因此修改下界为130, 而此时所有未被分支的问题( 而此时所有未被分支的问题(B4,B5,B6)的目标函数中的最小 值为f =130,故修改上界为Z=130。 值为f5*=f6*=130,故修改上界为Z=130。 6.结束准则 6.结束准则 当所有的分支均已查明(或为无可行解— 树枝” 当所有的分支均已查明(或为无可行解—“树枝”,或为 整数可行解— 树叶” 或其目标函数值不大于下界— 整数可行解—“树叶”,或其目标函数值不大于下界— 枯枝”),且此时 且此时Z=Z,则已求得了原问题的整数最优解, “枯枝”),且此时Z=Z,则已求得了原问题的整数最优解, 即目标函数下界Z的那个整数。 即目标函数下界Z的那个整数。 在本例中,当解完一对分支B5、B6后,得到Z=Z=130,又 在本例中,当解完一对分支B 得到Z=Z=130, B5是“树叶”,B6为“枯枝”,因此所有分支(B1,B4,B5,B6) 树叶” 枯枝” 因此所有分支(B 均已查明,故已求得问题A 的最优解: 均已查明,故已求得问题A0的最优解:
运筹学第五章 整数规划
2、0-1型变量常用来表示是否处于某个特定状态
例5.6
有三种资源被用于生产三种产品,资源量、产 品单件可变费用及售价、资源单耗量及组织三种产品 生产的固定费用见下表。要求制定一个生产计划,使 总收益最大。
0-1型变量常用来表示两个选项中非此即彼的选择
例5.7 用4台机床加工3件产品。各产品的机床加工顺序,以及产品在机 床上的加工工时见下表,且要求工件二的总工时不超过d。现要求确定 各件产品在机床上的加工方案,使在最短的时间内加工完全部产品.
A 甲 15 B 17 C 21 D 24
乙
丙 丁
19
26 19
23
17 21
22
16 23
18
19 17
解:令 xij=
1 若指派第i 人做第j 事 (i, j=1, …, n) 0 若不指派第i 人做第j 事
每个人只能完 成一项任务
满足约束条件的可行解 也可写成矩阵形式,称 为解矩阵。如例5.9的一 个可行解矩阵是:
每行减该行最小数
0 1 10 2
2 5 1 4
6 4 0 6
9 0 3 0
每列减该列最小数
0 1 10 2
1 4 0 3
6 4 0 6
产品1
产品2
产品3
a11 机床1 a21 机床1
a22 机床2 a32 机床2
a13 机床3
a33 机床3
a14 机床4 a24 机床4
xij表示第i种产品在第j台机床上加工的开始时间。 同一件产品在下一台机床上加工的开始时间不得早 1 同一 于在上一台机床上加工的结束时间 件产品 产品1:x11+a11x13 及 x13+a13x14 在不同 机床上 产品2:x21+a21x22 及 x22+a22x24 的加工 产品3:x32+a32x33 顺序
整数规划
√
√ × √
×
√ × ×
√
√ √ √
√
√ √ √ √ 8 8
(二)0-1 整数规划——隐枚举法
首先,找到一个可行解,并计算其目标函数值;然后,以其目标值作为
一个过滤条件,优于其值的再判断约束条件,直到找到最优解。
满足约束条件(是∨ x1 . x2. x3 ( 0. ( 0. 0. 0. 0 ) 1) √ √ (1) √ √ (2) √ √ (3) √ √ 否×) (4)
目标函数: Max z = 2x1 +3 x2 约束条件: 195 x1 + 273 x2 ≤1365 4 x1 + 40 x2 ≤140 x1 ≤4 x1≥3 x2≥3 x1,x2 ≥ 0
无可行解
(四)比较子问题的最优解,判断是否还要继续分枝 因为Z21=14大于Z1=13.90,所以x1=3,x2=2是原 问题的最优整数解
过滤 条件
0 5 -2 3 3
max Z 3 x1 2 x2 5 x3 x1 2 x2 x3 2 (1) x1 4 x2 x3 4 (2) 3 (3) x1 x2 4 x2 x3 6 (4) x1 , x2 , x3 0或1
第五章 整数规划
在整数规划中,如果所有的变量都为非负整数,则 称为纯整数规划问题;如果有一部分变量为负整数,则 称之为混合整数规划问题。在整数规划中,如果变量的 取值只限于0和1,这样的变量我们称之为0-1变量。在 纯整数规划和混合整数规划问题中,如果所有的变量都 为0-1变量,则称之为0-1规划。 求整数解的线性规划问题,不是用四舍五入法或去 尾法对线性规划的非整数解加以处理都能解决的,而要 用整数规划的方法加以解决。
第五章 整数规划
令 x3′=1-x3, x4′=1-x4, x5′=1-x5,得 Max z=2x2+4x3′+5x5′+7x4′+8x1-16 3x2- x3′- 3x5′- 2x4′+3x1≤-2 ① 3x2+2x3′- x5′+ x4′+5x1≤6 ② x2, x3′,x5′,x4′,x1 =0或1
z=8,不可行 x2 =x3′=x5′ = x4
若某行(列)已有0元素,那就不必再减了。例1的计算为:
2 15 10 4 ) 9 14 8 7 4 14 15 16 13 11 9 13
( c ij
-2 -4 -9 -7
0 6 0 0
13 0 0 1
11 10 7 4
2 11 4 2
R0: z0=356 x1=4.81 x2=1.82
x1 ≤4
x1≥5
R2:z2=341 x1=5.00 x2=1.57 x1 ≤1 x1≥2
R1:z1=349 问题R2为: x1=4.00 Max z=40x1+90x2 x2=2.10 9x1+7x2≤56 7x1+20x2 ≤ 70 x1 ≥ 5 x2 ≤2 x2≥3 x1,x2 ≥ 0
指派问题的数学模型可写成如下页形式:
min z
i1 j1
n
n
c ij x ij
第j项工作由 一个人做 第i人做 一项工作
i1
n
x ij 1 x ij 1
( j 1 , , n)
j1
n
( i 1 , , n ) (i 1, , n; j 1, , n)
第五章 整数规划(运筹学教程)
什么叫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
运筹学课件 第5章:整数规划
依照决策变量取整要求的不同,整数规划可分为纯 整数规划/全整数规划、混合整数规划、0-1整数规划
整数规划解的性质
求解整数规划问题
max Z 3 x1 2 x2 2 x1 x2 9 ( IP)2 x1 3 x2 14 x1 , x2 0且为整数
分析:考虑对应的线性规划问题(LP)
b
x1
2
2 3
x2
1
3 2
x3
1
0 0
x4
0
1 0
b
x1
1
0 0
x2
0
1 0
x3
3/4
-1/2
x4
-1/4 1/2
0
0
x3 9 x4 14
9/2
14/2
3
2
x1 13/4 x2 5/2
-5/4
-1/4
初始表
最终表
可见,最优解为x1=3.25 x2=2.5 z(0) =59/4=14.75
选 x2 进行分枝,即增加两个约束x2≤2 和x2 ≥3 ,则
max Z 3 x1 2 x2 2 x1 x2 9 2 x 3 x 14 2 ( IP1) 1 x2 2 x1 , x2 0且为整数
max Z 3 x1 2 x2 2 x1 x2 9 2 x 3 x 14 2 ( IP2) 1 x2 3 x1 , x2 0且为整数
b
7/2 2 1 3 -29/2 7/2 2 1 -1/2 -29/2
x1
1 0 0 1 0 1 0 0 0 0
x2
0 1 0 0 0 0 1 0 0 0
x3
1/2 0 -1 0 -3/2 1/2 0 -1 -1/2 -3/2
第五章 整数线性规划
整数线性规划问题的最优解
A
第1节 整数线性规划的数学模型及解的特点
例2:某宝石加工厂最近新到6粒大小、质量等级 相似的钻石毛料,管理层有两种选择,一是切 磨成一般的皇冠形,每粒可获利2.5千元;一 是切磨成虽然较难切磨但当前市场较流行的心 形,每粒可获利4千元。若切磨成皇冠形则每 粒需要5个工作日,若切磨成心形则每粒需要9 个工作日,由于工厂切工师傅较忙,最多只有 45个工作日来做这批工作。另外,由于毛料自 身形状的关系,其中只有4粒毛料可以切磨成 皇冠形,而6粒毛料中任何一粒都可以切磨成 心形。那么,管理层应如何决策才能使这批钻 石获利最大?
例5:某服务部门各时段(每2h为一时 段)需要的服务员人数见下表。按规 定,服务员连续工作8h(即四个时段 )为一班。现要求安排服务员的工作 时间,使服务部门服务员总数最少。
时段 1 2 3 4 5 6 7 8
服务员最少数目
10
8
9
11 13
8
5
3
第3节 0-1型整数线性规划
例5: 解:设在第j时段开始时上班的服务员人数为xj。
min z cij xij 1200 y 1500 1 y
i 1 j 1 4 4
x11 x21 x31 x41 350 x x x x 400 12 22 32 42 x13 x23 x33 x43 300 x14 x24 x34 x44 150 x x x x 400 11 12 13 14 x x x x 600 21 22 23 24 x31 x32 x33 x34 200 y x41 x42 x43 x44 200 1 y x 0,, (i j =1, 2, 3, 4) ij y 0或1
运筹学 第五章 整数规划
( Integer Programming )
本章主要内容:
整数规划的特点及应用 分支定界法 0-1 整数规划 指派问题
1 2022/1/24
在很多场合,我们建立最优化模型时,实际问题要求决 策变量只能取整数值而非连续取值。此时,这类最优化 模型就称为整数规划模型。
整数规划的求解往往比线性规划求解困难得多,而且, 一般来说不能简单地将相应的线性规划的解取整来获得。
现求整数解(最优解):如用舍
入取整法可得到4个点即(1,
x2
⑴
⑵
3),(2,3),(1,4),(2,4)。显然,
它们都不可能是整数规划的最优 3 解。
(3/2,10/3)
按整数规划约束条件,其可行 解肯定在线性规划问题的可行域 内且为整数点。故整数规划问题 的可行解集是一个有限集,如右
图所示。其中(2,2),(3,1)点的目 标函数值最大,即为Z=4。
x2
找到整数解,问题已探明,此
枝停止计算。
3
同理求LP2,如图所示。在C 点 取得最优解。即:
x1=2, x2 =10/3,
Z(2)=-56/3≈-18.7
1
∵Z(2)< Z(1)=-16
∴原问题有比-16更小的最优
解,但 x2 不是整数,故继续 分支20。22/1/24
⑵ ⑴
A(18/11,40/11)
5
x1
x1
6x2 30 4
LP
2022/1/24
x1 , x2 0
17
分支定界法
用图解法求松弛问题的最优解,如图所示。
x1=18/11, x2 =40/11 Z=-218/11≈(-19.8)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 整数规划主要内容:1、分枝定界法; 2、割平面法; 3、0-1型整数规划; 4、指派问题。
重点与难点:分枝定界法和割平面法的原理、求解方法,0-1型规划模型的建立及求解步骤,用匈牙利法求解指派问题的方法和技巧。
要 求:理解本章内容,熟练掌握求解整数规划的方法和步骤,能够运用这些方法解决实际问题。
§1 问题的提出要求变量取为整数的线性规划问题,称为整数规则问题(简称IP )。
如果所有的变量都要求为(非负)整数,称之为纯整数规划或全整数规划;如果仅一部分变量要求为整数,称为混合整数规划。
例1 求解下列整数规划问题211020m ax x x z +=⎪⎪⎩⎪⎪⎨⎧≥≤+≤+为整数21212121,0,13522445x x x x x x x x 如果不考虑整数约束,就是一个线性规划问题(称这样的问题为原问题相应的线性规划问题),很容易求得最优解为:96m ax ,0,8.421===z x x 。
用图解法将结果表示于图中画“+”号的点都是可行的整数解,为满足要求,将等值线向原点方向移动,当第一次遇到“+”号点(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 求解A219040m ax x x z +=⎪⎪⎩⎪⎪⎨⎧≥≤+≤+为整数21212121,0,702075679x x x x x x x x 解:先不考虑条件⑤,即解相应的线性规划B (①--④),得最优解=1x 4.81, =2x 1.82,①② ③ ④ ⑤=0z 356(见下图)。
显然,它不符合整数条件⑤。
这时,0z 为问题A 的最优值*z 的上界,记0z z =,而=1x 0, =2x 0显然是问题A 的一个整数可行解,这时z=0,是*z 的一个下界,记0=z ,即2560*≤≤z 。
分枝定界法的解法,首先注意其中一个非整数变量的解,如1x ,在B 中1x =4.81,于是对原问题增加两个约束条件:5411≥≤x x 、,可将原问题分解为两个子问题21B B 、(即两枝),给每枝增加一个约束条件,如图。
8不考虑整数条件解问题21B B 、得到最优解:显然未得到全部变量是整数解,21z z > ,∴将z改为349(z =349),3490*≤≤z 。
继续对问题21B B 、进行分解,21z z > ,∴先分解1B 为两枝,增加条件22≤x 的问题称为3B ;增加条件32≥x 的问题称为4B 。
在上图中再去掉22>x 与32<x 之间的可行域,再求解问题43B B 、,其结果列在下图中,可见问题3B 的解已都是整数,它的目标函数值3403=z ,取z=340,而它大于3274=z ,所以再分解4B 已无必要,而问题2B 的3412=z ,所以*z可能在341340*≤≤z 之间有整数解,于是再对2B 分解,得问题65,B B ,5B 为非整数解,且35308z z <=,问题6B 为无可行解,于是可断定:340*3===z z z ,2,421==x x 为最优整数解。
356=z349,0==z z由以上解题过程可得到分枝定界法的求解步骤:1. 给定原问题的初始上界z解与原问题A 相应的线性规划问题B ,可能出现以下情况之一:①B 没有可行解,这时A 也没有可行解,则停止;②B 有最优解,并符合A 的整数条件,B 的最优解即为A 的最优解,则停止; ③B 有最优解,但不符合A 的整数条件,记它的目标函数值0z 为z 。
2. 给定原问题的初始下界z用观察法找出问题A 的一整数可行解,一般取n j x j ,,2,1,0 ==。
求得其目标函数值,记作z 。
这样,就有z z z ≤≤*。
3. 分枝在B 的最优解中任选一个不符合整数条件的变量j x ,其值为j b ,以[j b ]表示小于j b 的最大整数,构造两个约束条件:][j j b x ≤和1][+≥j j b x并将其分别加入问题B ,求两个后继规划问题21B B 、,不考虑整数条件,解这两个后继问题。
4. 定界(修改上、下界)以每个后继问题为一分枝标明求解的结果,与其它问题的解的结果中,找出最优目标函数值最大者作为新的上界z ,从已符合整数条件的各分支中,找出目标函数值的最大者作为新的下界z 。
5. 比较与剪枝各分枝的最优目标函数值中若有小于z 者,则剪掉这枝,以后不再考虑了,若大于z ,且不符②③ ④ ⑤合整数条件,则继续分枝直到得到z z =*为止,求得最优整数解),,2,1(*n j x j =。
§3 割平面法这个方法的基础仍是用解线性规划的方法去解整数规划问题,首先不考虑变量j x 是整数这个条件,但增加线性约束条件(用几何术语,称为割平面)使得由原可行域中切割掉一部分,这部分只包含非整数解,但没有切割掉任何整数可行解。
这个方法就是指出怎样找到适当的割平面(不见得一次就找到),使切割后最终得到这样的可行域,它的一个有整数坐标的极点恰好是问题的最优解。
例3 求解21m ax x x z += ① ⎪⎪⎩⎪⎪⎨⎧≥≤+≤+-整数21212121,0,431x x x x x x x x 如不考虑条件⑤,求得相应的线性规划的最优解:就是图中可行域R 的极点A ,不符合整数条件。
432100m ax x x x x z +++=⎪⎪⎩⎪⎪⎨⎧==≥=++=++-4,,2,14,,2,10431421321 j x j x x x x x x x j j为整数 不考虑整数条件,用单纯形法求解相应线性规划的最优解。
410max ,47,4321===z x x25max ,47,4321===∴z x x 由最终表中得到变量间的关系式:474143434141432431=++=+-x x x x x x将系数和常数项都分解为整数和非负真分数之和,并移项变为⎪⎭⎫ ⎝⎛+-=-⎪⎭⎫ ⎝⎛+-=-43243314143431414343x x x x x x x现考虑整数条件,21,x x 为非负整数,那么43,x x 也是非负整数。
对上式,从等式左边看是整数,等式右边的()是正数,所以等式右边定一为负数,即041434343≤⎪⎭⎫⎝⎛+-x x 。
整理得:3343-≤--x x ------切割方程将新的约束方程,引入松驰变量,得到33543-=+--x x x ,将其列入最终表∴最优解TX )0,0,1,1,1(*=,最优值z=2一、割平面法的解题步骤:1. 若i ij b a ,中有分数,先全部整数化,而后引入松驰变量,暂不考虑整数约束条件,用单纯形法求出相应线性规划的最优解。
2. 求切割方程①令i x 是相应线性规划最优解中为分数值的一个基变量,由最终单纯形表得到i kk ik i b x a x =+∑ (1)其中:Q i ∈(Q 指构成基变量下标的集合)K k ∈(K 指构成非基变量下标的集合)②将i b 和ik a 都分解成整数部分N 与真分数f 之和,即i i i f N b +=,其中10<<i f (2) ik ik ik f N a +=,其中10<≤ik f而N 表示不超过b 的最大整数,如:若 b=2.35,则N=2 f=0.35b=–0.45,则N=–1 f=0.55将(2)代入(1)得∑∑-=-+kk ik i i kk ik i x f f N x N x③现在提出变量为整数的条件,上式由左边看必是整数,由右边看,因为10<<i f 所以不能为正,即0≤-∑kk ik i x f f -------- 割线方程3. 把切割方程作为新的约束条件,并入单纯形最优表。
继续换算,取得最优解。
二.割平面法的性质1. 割平面法割去了整数规划原问题相应的线性规划问题的最优解。
2. 割平面未割去整数规划原问题的任一可行解,即未割去其相应的线性规划问题的任一整数可行解。
§4 0–1规划一、0-1变量及其应用0-1型整数规划是整数规划的特殊情形,它的变量i x 仅取值0或1,这时i x 称为0-1变量,或称二进制变量。
0-1变量作为逻辑变量(logical variable ),常用来表示系统是否处于某个特定状态,或者决策时是否取某个特定方案。
例如⎩⎨⎧=时)时(即取当决策不取方案时当决策取方案P P P x 01当问题含有多项要素,而每项要素皆有两种选择时,可用一组0-1变量来描述。
一般地,设问题有有限项要素n E E E ,,,21 ,每项i E 有两种选择i A 和),,2,1(n i A i =,则可令),,2,1(01n i A E A E x ii i i i =⎪⎩⎪⎨⎧=选择若选择若那么,向量T n x x x ),,,(21 就描述了问题的特定状态或方案,即⎪⎪⎪⎩⎪⎪⎪⎨⎧=----T n n T T n n T T n n T Tn n T T n A A A A A A A A A A A A A A A A x x x ),,,,(,)0,0,,0,0(),,,,(,)0,0,,0,1(),,,,(,)0,1,,1,1(),,,,(,)1,1,,1,1(),,,(12112112112121 若选择若选择若选择若选择1、选址问题----相互排斥的计划例4 某公司拟在市东、西、南三区建立门市部,拟议中有7个位置A i )7,,2,1( =i 可供选择,规定在东区,由321,,A A A 三个点中至多选两个; 在西区,由54,A A 两个点中至少选一个; 在西区,由76,A A 二个点中至少选一个。
如选用i A 点,设备投资估计为i b 元,每年可获利润估计为i C 元,但投资总额不能超过B 元,问应选择哪几个点可使利润为最大? 解:先引入0–1变量i x )7,,2,1( =i令 ⎩⎨⎧=点未被选用当点被选用当i i i A A x ,0,1 )7,,2,1( =i于是问题可列成: ∑==71max i i i x c z⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧=≥+≥+≤++≤∑=10112765432171或i i i i x x x x x x x x B x b 2、相互排斥的约束条件例5. 某厂决定生产两种产品,有两种加工方法可供选用,已知设备供应情况:问选用哪种加工方法收益最大。