第五章-整数规划-第5节
运筹学课件第五章整数规划
第五章整数规划、学习目的与要求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 (即四个时段为一班)。
现在求安排服务员的工作时间,使服务部门服务员总数最少?解:设在第时段开始上班的服务员的人数为。
问题的数学模式略。
运筹学课件第五章 整数规划
第一节 整数规划的数学模型
解的特点: 整数规划
松弛问题
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)
运筹学第五章 整数规划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
第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整数规划的数学模型及特点要求一部分或全部决策变量必须取整数值得规划问题称为整数规划。
其模型为: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家建筑公司分别承建。
第五章整数规划
第五章 整数规划
本例问题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规划。 求整数解的线性规划问题,不是用四舍五入法或去 尾法对线性规划的非整数解加以处理都能解决的,而要 用整数规划的方法加以解决。
运筹学 第三版 清华大学出版社 第5章整数规划
依照决策变量取整要求的不同,整数规划可分为纯整数规 依照决策变量取整要求的不同,整数规划可分为纯整数规 全整数规划、混合整数规划、 整数规划。 划、全整数规划、混合整数规划、0-1整数规划。
8
纯整数规划:所有决策变量要求取非负整数( 纯整数规划:所有决策变量要求取非负整数(这时引 进的松弛变量和剩余变量可以不要求取整数)。 进的松弛变量和剩余变量可以不要求取整数)。
举例说明。 举例说明。
10
例:设整数规划问题如下
max z = x 1 + x 2 14 x 1 + 9 x 2 ≤ 51 − 6 x1 + 3 x 2 ≤ 1 x , x ≥ 0 且为整数 1 2
首先不考虑整数约束,得到线性规划问题(一般称为松弛问 首先不考虑整数约束,得到线性规划问题(一般称为松弛问 伴随问题)。 题或伴随问题)。 max z = x + x
x2 3
⑴ ⑵ (3/2,10/3)
3
x1
按整数规划约束条件, 按整数规划约束条件,其可行解肯定在线性规划问题的可 行域内且为整数点。故整数规划问题的可行解集是一个有限集, 行域内且为整数点。故整数规划问题的可行解集是一个有限集, 如图所示。 如图所示。
12
因此, 因此,可将集合内 的整数点一一找出, 的整数点一一找出, 其最大目标函数的值 为最优解, 为最优解,此法为完 全枚举法。 全枚举法。 如上例:其中( , 如上例:其中(2, 2)( ,1)点为最大 )(3, ) )( z 。 值, =4。
3
个地点建厂, 例2、(建厂问题)某公司计划在 个地点建厂,可供选择的 、 建厂问题)某公司计划在m个地点建厂 地点有A1,A2…Am ,他们的生产能力分别是a1,a2,…am(假设 地点有 他们的生产能力分别是 生产同一产品)。第 个工厂的建设费用为f 生产同一产品)。第i个工厂的建设费用为 i (i=1.2…m),又有 )。 又有 n个地点 1,B2, … Bn 需要销售这种产品,其销量分别为 个地点B 需要销售这种产品, 个地点 b1.b2…bn 。从工厂运往销地的单位运费为 ij。试决定应在哪 从工厂运往销地的单位运费为C 些地方建厂,即满足各地需要, 些地方建厂,即满足各地需要,又使总建设费用和总运输费 用最省? 用最省?单
第五章 整数规划(运筹学教程)
什么叫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
第05章 整数规划 《运筹学》PPT课件
︰︰ ︰
︰
xm+1 λ1 a1m+1 ︰
… … …[j0aim1xλa,1m2mjfm],++i+jjmj njf
…
im j
…1 …m
xn λn a1n
︰
︰
解
zb-1zb00i0 fi0
︰0 fi0 1
xi 0 … 1 … 0 aim+1
… aim+j
… ain
bi0
︰︰ ︰
︰︰
︰
︰
︰
非基
符号[*]表示不超过“*”的最大整数,f(*)表 示“*”的非负真分数。
对整数规划问题 IP:max z CX
s.t
AX b X 0
x j为整数
其松弛问题 L0 max z CX
s.t
AX X
b 0
设L0的最优解
X
不是整数解
0
不妨设
X 0 b10 ,bi0 ,bm0 ,0,0 其中bi0是分数
即x1,xi ,xm是基变量,xm1,, xn是非基变量
设L0的最优解 X 0 b10 ,bi0 ,bm0 ,0,0 ,bi0是分数
L0的最优单纯形表:
x1 … xi … xm xm+1 … xm+j … xn
解
检 0 … 0 … 0 λ1
… λm+j … λn
z-z0
x1 1 … 0 … 0 a1m+1 … a1m+j … a1n
个旅行包里。
物 品
1
2
3
4
5
6
7
8
9 10
体 积 200 350 500 430 320 120 700 420 250 100
运筹学 第五章 整数规划
( 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)
第五节线性整数规划
决策变量x ,L, x 分别表示地址A ,L, A 的选择变量,
1 7 1 7
1 选中A 即x = 0 不选A
i i
则A 的利润为c x , 需投资为b x
i i i i
i
i
东区在A1,A2, A3中至多选2个 怎样表示?
1 选中A 解:设x = 0 不选x ≤2
第五节 线性整数规划
整数规划——变量只能取整数的规划问题。 当变量只能取0或1两个值, 称0-1规划。 整数规划分类: 纯整数规划——全部变量为整数。 混合整数规划——部分变量为整数。 本节主要介绍0-1规划的模型建立。
例1.12 投资场所选址问题
计划在东、西、南三个区开设若干商业网点,拟在 A1,…,A7 7个地点中选择。规定:东区在A1,A2,A3中 至多选2个,西区在A4,A5中至少选1个,南区在A6,A7中 至少选1个。已知在Ai建点需投资bi,可获利ci,现共有资 金为B。问应如何布局可使总利润最大? 分析:
1 2 3
Maxz = ∑ c x
7 i =1 i 7 i =1 i i
i
∑ b x ≤ B x + x + x ≤ 2 x + x ≥ 1 x + x ≥ 1 x ,L, x 是0 − 1变量
1 2 3 4 5 6 7 1 7
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4 0 2 3 5 1 0 7 4 0 4 1 0 4 3 0
5 4 ◎ ◎ 1 4 Ø 2 ◎ 4 3 Ø 3 7 1
找到 3 个独立零元素 但 m =3 <n=4
先列后行
Ø 0 6 0 ◎ Ø 0
13 ◎ 0 5 1
7 6 3 ◎ 0
◎ 0
9 2 Ø 0
0 0 1 0
பைடு நூலகம்
0 1 0 0
0 0 0 1
1 0 0 0
2 15 10 4 9 14 7 8
13 14 16 11
4 15 13 9
此题情况:位于不同行不同列的零元素正好有四个。
这个问题的约束条件如下: (1)一家公司只承建一个商店:
x11 x12 x13 x14 x15 1 x x x x x 1 21 22 23 24 25 x31 x32 x33 x34 x35 1 x 41 x 42 x 43 x 44 x 45 1 x51 x52 x53 x54 x55 1
2 4 9 7
0 13 11 2 6 0 10 11 0 5 7 4 0 1 4 2 4 2
0 13 7 0 6 0 6 9 0 5 3 2 0 1 0 0
第二步:试求最优解 在新矩阵中找尽可能多的独立 0元素,若能找出 n个独立 0 元素,就以这n个独立0元素对应解矩阵(xij)中的元素为1,其余 为0,这就得到最优解。找独立0元素,常用的步骤为: 第一步:从只有一个 0 元素的行 (列 )开始,给这个 0元素加圈, 记作◎。然后划去◎所在列(行)的其它0元素,记作Ø;这表示 这列所代表的任务已指派完,不必再考虑别人了; 第二步:给只有一个 0元素的列 (行 )中的 0元素加圈,记作◎; 然后划去◎所在行的0元素,记作Ø; 第三步:反复进行 (1), (2)两步,直到尽可能多的 0元素都被 圈出和划掉为止;
j 1 n i 2 j 1 n n
c1 j x1 j k x1 j cij xij
j 1 n j 1 i 2 j 1
n
n
n
cij xij k z k
i 1 j 1
n
例 1 、有一份中文说明书,需译成英、日、德、俄四 种文字。现有甲、乙、丙、丁四人,他们将中文说明 书翻译成不同语种的说明书所需时间如表所示。问应 指派何人去完成何种工作所需总时间最少?
◎ 1 Ø 4 独立零元素的个数 2 ◎ 4 3 m 等于最少直线数 √ l,即 3 7 1 Ø l=m=3<n=4 √
第四步:变换矩阵(bij)以增加0元素
在没有被直线覆盖的所有元素中找出最小元素,然后打 √ 各行都减去这最小元素;打 √ 各列都加上这最小元素 (以保证系数矩阵中不出现负元素)。新系数矩阵的最 优解和原问题仍相同。转回第二步。
任务
人员
A
6 4 3 5
B
7 5 1 9
C
11 9 10 8
D
2 8 4 2
甲 乙 丙 丁
求解过程如下:
第一步,变换系数矩阵: 6 7 11 2 2 4 4 5 9 8 4 0 (cij ) 3 1 10 4 1 2 5 9 8 2 2 3 第二步,试指派: 4
此时得问题的最优解为:
minZ=4+4+9+11=28(小时)
变换过程中的三种可能情况:
①恰好的零:重复系数矩阵的每行都有一个加圈◎的零元素, 即加圈◎元素个数 =n,且位于不同行不同列,只要令对应加 圈◎零元素的xij=1,就找到了问题的最优解。(如前例)
变换过程中的三种可能情况:
②较多的零:加圈◎的零元素个数小于n,但未被划去的零元素之间存在闭合 回路,此时沿着闭合回路的走向,对每个间隔的零元素加圈◎ ,使得加圈◎ 元素个数=n,然后对所有加圈◎零元素所在列画一条直线。 min (0) 0 0 2 (0) 0 3 3 5 3 3 (3) a -行min 1 (0) 0 3 0 3 (2) 2 5 2 2 ij 0 4 0 5 1 5 1 6 1 (1) 0 0 2 (0) 6 4 4 6 10 4 (4) min 0 0 0 0 0 aij-列min 1 (0) 0 0 (0) 0 2 0 0 3 (0) 0 4 0 5 0 2 (0) 6
◎
5 4 Ø
3 ◎ 2 2 3 ◎ 2 2
4 3 1 Ø ◎ 4 6 0
◎
5 4 Ø
3 0 2 2
3 0 0 5 0 4 4 0 6 0 4 1
0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0
15
4 3 1 Ø ◎ 4 6 ◎
◎
5 4 Ø
得到4个独立 零元素, 所以最优解 矩阵为:
其他情况:
(1)若m项任务分配给n个人完成
m > n,加上(m-n)个行向量,这些行元素均为 0,构成一个m阶方阵,再求解;
m < n,加上(n-m)个列向量,这些列元素均为 0,构成一个n阶方阵,再求解
变换过程中的三种可能情况:
③较少的零:矩阵中所有零元素元素或被划去,或加圈◎号, 但加圈◎的零元素个数≤n; 例、有一份中文说明书,需译成英、日、德、俄四种文字, 分别记作A、B、C、D。现有甲、乙、丙、丁四人,他们将 中文说明书译成不同语种的说明书所需时间如下表所示, 问如何分派任务,可使总时间最少?
变换矩阵(bij)以增加0元素:没有被直线覆盖的所有元素中的最 小元素为1,然后打√各行都减去1;打√各列都加上1,得如下 矩阵,并转第二步进行试指派:
4 ◎ 2 3
5 4 ◎ √ 1 Ø 4 ◎ 4 3 √ Ø 7 1 √
3 ◎ 2 2
4 3 1 Ø ◎ 4 6 0
1 i=1,2,3,4,5) 简写为: xij (
j 1
5
(2)一个商店只能由一家公司承建,即
x11 x 21 x31 x 41 x51 1 x x x x x 1 12 22 32 42 52 x13 x 23 x33 x 43 x53 1 x14 x 24 x34 x 44 x54 1 x15 x 25 x35 x 45 x55 1
新商店 建筑公司 A1 A2
B1
4 7
B2
8 9
B3
7 17
B4
15 14
B5
12 10
A3
A4 A5
6
6 6
9
7 9
12
14 12
8
6 10
7
10 6
解 引入0-1变量xij (i, j=1,2,3,4,5),令:
1,当Ai 承建B j时, xij 0,当Ai 不承建B j时。
每一项工作只能分配给一个人; 每一个人只能并且必须接受一项工作
例 某商业公司计划开办五家新商店。为了尽早建成营业 ,商 业公司决定由 5 家建筑公司分别承建。已知建筑公司 Ai 对新商 店Bj的建造费用的报价(万元)为Cij,见下表。商业公司应当对 5家建筑公司怎样分配建造任务,才能使总的建造费用最少?
任务
人员
A 2
10 9 7
B 15
4 14 8
C 13
14 16 11
D 4
15 13 9
甲
乙 丙 丁
第一步:变换成本矩阵,使每行每列中至少出现一 个0元素
(1) 令(cij)的每行元素都减去该行的最小元素;
(2) 再从所得新系数矩阵的每列元素中减去该列的 最小元素。
2 10 9 7 15 4 14 8 13 14 16 11 4 15 13 9
(2)目标函数求极大
作一个新矩阵B=(bij),使bij=M-cij(通常取 M=max(cij))
练习:
费 工作
用
A
人员
B
C
D
E
甲
乙 丙
二、匈牙利法
库恩(W.W.Kuhn)于1955年提出了指派问题的解法,他引用了匈牙利数学 家康尼格(D.Konig)的关于矩阵中独立零元素的定理:系数矩阵中独立0元素 的最多个数等于能覆盖所有零元素的最小直线数,习惯上称之为匈牙利解法。
分配问题最优解的以下性质:若从成本矩阵(cij )的某行(或某列)各元素 分别减去该行(列)的最小元素,得到新矩阵(cij‘)。那么以(cij')为系数矩阵 求得的最优解和利用原系数矩阵求得的最优解相同。
成本矩阵:(cij )->设成本矩阵第一行各元素均减去同一个数k,得到的新矩阵 记为(c'ij )
j c1 j k ( j 1,2,, n); cij cij (i 2,3,, n; j 1,2,, n) c1
n n i 1 j 1 n
xij z cij (c1 j k ) x1 j cij xij
0
相反
( i , j =1.2. …n )
min z cij xij
i 1 j 1 n n
其数学模型为:
n xij 1(i 1,2, , n) j 1 n xij 1( j 1,2, , n) i 1 xij 0或1(i, j 1,2, , n)
时间表
任务 人员 甲 乙 丙 丁 E 2 10 9 7 J 15 4 14 8 G 13 14 16 11 R 4 15 13 9
分配表
任务 人员 甲 乙 丙 丁
合计
E 0 0 1 0 1