运筹学课件第五章整数规划

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

第五章整数规划
、学习目的与要求
1、熟悉分支定界法和割平面法的原理及其应用;
2、掌握求解0―― 1规划问题的隐枚举法;
3、掌握求解指派问题的匈牙利法。

二、课时9学时
第一节整数规划的数学模型及解的特点
整数规划IP (integer programming):在许多规划问题中,如果要求一部分或全部决策变量必须取整数。

例如,所求的解是机器的台数、人数、车辆船只数等,这样的规划问题称为整数规划,简记IP。

松弛问题(slack problem):不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整
数规划问题的松弛问题。

若松弛问题是一个线性规化问题,则该整数规划为整数线性规划(integer linear programming)。

一、整数线性规划数学模型的一般形式
n
max(或min) z 八c j x j
j a
"n
Z a ij X j <(或=,或X)b i (i =1,2,…,m)
j =1
s.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 (即四个时段为一班)。

现在求安排服务员的工作时间,使服务部门服务员总数最少?
解:设在第时段开始上班的服务员的人数为。

问题的数学模式略。

例2现有资金总额为B。

可选择投资项目有n个,项目j所需投资额和预期收益分别为a j和C j( j=1,2,,,
n )。

此外由于种种原因,有三个附加条件:若选择项目 1就必须选择项目2。

反这则不一定;第二,项
目3和项目4中至少选择一个;第三,项目 5、项目6和项目7恰好选择两个。

应当怎样选择投资项目,才能 使预期收益最大?
解:每一个投资项目都有被选择和不被选择两种可能,为此令
这样,问题可表示为
n
max z 八 c j X j
j 2
严n
Z a j X j = B
j

X 2 兰 X i
S.t.<X 3 +X 4 K i
X5 + X 6 + X 7 = 2 X j =0或 1( j =1,2,…,n)
例3 工厂A i 和A 2生产某种物资。

由于该种物资供不应求,故需要再建一家工厂。

相应的建厂方案有 A 3和A 4两个。

这种物资的需求地有
B i ,B 2, B 3,B 4四个。

各工厂年生产能力、各地所需求量、各厂至各
需求地的单位物资运费
C ij ( i,j=i,2, , ,4)见下表。

工厂A 3或A 4开工后,每年的生产费用估计分别为 1200万元或1500万元。

现要决定应该建设工厂
还是A 4,才能使今后每年的总费用(即全部物资运费和新工厂生产费用之和)最少?
解:这是全个物资运输问题,其特点是事先不能确定应该建 A 3或A 4中哪一个,因而不知道新厂投产
后的实际生产费用。

引入
0— 1变量
1 若建工厂A 3 y = <
若建工厂 A 4
再设C ij 为由Ai 运往Bj 的物资数量(i,j=1,2, , ,4),单位是千吨,z 表示总费用。

问题数学模型为
4
4
min z - 、q 刍 y1200
(1 - y )1400
j i
项目j 投资 项目j 不投资
(j =1,2, ,n)
A 3
送\ =350
i 1
4
Z £ =400
i丄
4
送金=300
i亠
4
瓦仏=150
i丄4
s.t.X[ j =400
i丄
工X2j =600
4
送X3j =200 y
4
X X4j =200 (1 —y)
i丄
X jj K0(i, j =1,2,3,4), y =0或1
三、整数规划的解的特点
相对于松弛问题而言,二者之间既有联系,又有本质的区别
(1) 整数规划问题的可行域是其松弛问题的一个子集
(2) 整数规划问题的可行解一定是其松弛问题的可行解
(3) 一般情况下,松弛问题的最优解不会刚好满足变量的整数约束条件,因而不是整数规划的可行解,是最优解
(4) 对松弛问题的最优解中非整数变量简单的取整,所得到的解不一定是整数规划问题的最优解,
甚至也不一定是 :整数规划问题的可行解
(5) 求解还是要先求松弛问题的最优解,然后用分支定界法或割平面法。

例4考虑下面的整数规划问题:
max = X14X2
n
max z 八 c j X j
j =i
< n
Z a ij X j 旳(i =1,2,…,m)
j

s.t.« X j 3 0( j = 1,2,…,n)
X i ,X 2,…,X n 取整数
I
设其中 a ij (i=1,2,, ,m,j=1,2, , ,n ) 和 b (j=1,2, , ,n )皆为整数。

纯整数规划的松驰问题是一个线性规划问题,可以用单纯形法求解。

在松驰问题的最优单纯形表中,
K 为n-m 个非基变量的下标的集合,则 m 个约束方程可表示为
b j
j
E
Q
Xj * = «
j 乏K
若b j 皆为整数,则此解就是纯整数规划的最优解。

否则不是原整数规划最优解。

割平面法基本思路:通过增加新的约束来切割可原问题伴随规划的可行域,
使它在不断缩小的过程中,
将原问题的整数最优解逐渐暴露且趋于可行域极点的位置,这样就有可能用单纯形法求出。

每次增加的新的约束条件应当具备两个基本性质:一是已获得的不符合整数要求的线性规划最优解不
满足线性约束条件,从而不可能在以后的解中再出现;二是凡整数可行解均满足线性约束条件,因而整数 最优解始终被保留在每次
形成的线性规划可行域中。

为此若b i 0
(i 。

• Q)不是整数,在(1)式中的约束方程为
X i 。

• a -j X j
(2)
j &
其中x i 0
,X j (j € K)应为整数,按b i 0
(i ° E Q)不是整数,a i 0
,j 可能是整数也可能不是整数。

分解a i 0
,j 和b i 0
成两个部分。

一部分是不超过该数的最大整数,另一部分是余下的小数。


a.,j =N i o
,j-f i o
,j ,N i o
,j<a i o
,j 且为整数,0 乞 f 严 1 (j K )
b i 。

=N i
°
f i o
, N i
o < b^
且为整数,0 ::: f i o -1
(2)式变为
X i 0
' N i 0,j
X j -N i 0二 f i 0-' f
i °,j X j
j :K
j IK
因此有f i 一送f i i X j <0,即
j -K
考虑纯整数规划问题 第二节解纯整数规划的割平面法
记Q 为m 个基变量的下标的集合,
而对应的最优解
X * =(/*, X 2*
T
,X n *) ,其中
-7 f
i o ,j X j < - f i o
( 3)
j W K
上式满足上面要求的两个性质(证明见书
P128)。

实际解题时,经验表明若从最优单纯表中选择具有最大(小)数部分的非整分量所在行构造割平面约
束条件,往往可以提高切割效果,减少切割次数。

例5
用割平面法解整数规划问题
max z = 3 X i -X 2
3 X 1 -2X 2 <3 5 X 1
+ 4 x 2
>10 < 2X i + X 2 <5
X i , X 2
I
> 0且为整数
解:将原整数规划问题称为原问题 A o ,不考虑整数条件的松驰问题为问题 B o ,求解过程如下:
1.用单纯形法求解B o ,得最优单纯形表
2.求一个割平面方程
在最终表上任选一个含有不满足整数条件基变量的约束方程。

若选X !,则含X !的约束方程为:
1
3
..6
_7x 3
_7X 5
上式加入松驰变量 X 6得
1 3 7 X 3
_ "F X 5
X
6
6 7
3、将上述约束方程重新组合。

用对偶单纯形法解新线性规划
类似的得新割平面约束条件
1 1 3
—4 X 4 ~ 4X6 X7 —— ~再解新线性规划得
割平面法解整数规划问题的基本步骤
第一步:用单纯形法解松弛问题,得到最优单纯形表。

第二步:求一个割平面方程,加到最优单纯形表中,用对偶单纯形法继续求解。

第三步:若没有得到整数最优解,则继续作割平面方程,转第二步。

第三节分支定界法
分枝定界法是一种隐枚举法或部分枚举法,它不是一种有效算法,是枚举法基础的改进。

分枝定界法的关键是分支和定界。

分支定界法的主要思路是首先求解整数规划的伴随规划,如果求得的最优解不符合整数条件,则增加
新约束一一缩小可行域;将原整数规划问题分支一一分为两个子规划,再解子规划的伴随规划……,最后
得到原整数规划的伴随规划。

这就是所谓的分支”
所谓定界”是在分支过程中,若某个后继问题恰巧获得整数规划问题的一个可行解,那么,它的目标函数值就是一个界限”,可以作为衡量处理其它分支的一个依据。

分支”为整数规划最优解的出现创造了条件,而定界”则可以提高搜索的效率。

例用分支定界法求解整数规划问题
max z =石+ X2
95i
X i+——X2< —
i4i4
J i
-2X1+ X2<-
3
x1,x^0且为整数
解:记整数规划为(IP),它的松驰问题为(LP )。

(1) 首先解该整数规划的松驰问题为(LP),如图所示,用图解法
不符合整数要求,可任选一个变量,如X i=3/2进行分支。

由于最接近3/2的整数是1和2,因而可以构造
两个约束条件X i > 2和X i < 1,分别并入原来的约束条件,形成两个分支S i、S i,松驰问题分别记为(LP i)、
(LP2)。

( LP i)其最优解为X*=(2,23/9 )'图中点B, Z*=4i/9 ; ( LP2)其最优解为X*=(i,7/3);图中点C, Z*=i0/3 ;都不整数解,因4i/9>7/3,优先S i分枝。

因X2=23/9,进行分支。

由于最接近23/9的整数是2和3,因而可以构造两个约束条件X2 >3和
2,分别并入原来的约束条件,形成两个分支S ii、S i2,松驰问题分别记为(LP ii )、( LP i2)。

( LP ii)其最
优解为为空;(LP i2)其最优解为X*=(33/i4,2 )'图中点D, Z*=6i/i4 ;不是整数解。

因x i=33/14,进行分支。

由于最接近33/14的整数是2和3,因而可以构造两个约束条件x i > 3和X i < 2,分别并入原来的约束条件,形成两个分支S i21、S i22,松驰问题分别记为(LP i21 )、(LP122)。

(LP121)其最优解为X*=(3,1 )'图中点E,Z*=4 ;(LP122)其最优解为X*=(2,2)'图中点F,Z*=4。

因此有两个最优解,分别是(2,2)、(3,1),最大值为4。

分支定界法的计算步骤
第一步:计算原问题目标函数值的初始上界
第二步:计算原问题目标函数值的初始下界
第三步:增加约束条件将原问题分支
第四步:分别求解一对分支
第五步:修改上、下界
第六步:比较上、下界大小,如有上界=下界,停止计算,找到最优解,否则转3
第四节o—1型整数规划
0—1型整数规划中0—1变量作为逻辑变量(logical variable),常被用来表示系统是否处于某一特定状态,
或者决策时是否取某个方案。

1 当决策取方案P时
X = <
10 当决策不取方案P时
X.
当问题含有多项要素,而个要素的两种选择时,可用一组0—1变量来描述。

‘1若E j选择A j
='0若E j不选择A j(j =1,2,…,心
Xj
一、0 —1型整数规划的典型应用问题
例1:背包问题:一个登山队员,他需要携带的物品有:食品、氧气、冰镐、绳索、帐篷、照相器材、
通信器材等。

每种物品的重量合重要性系数如表所示。

设登山队员可携带的最大重量为25kg,试选择该队员所应携带的物品。

解:引入0—1变量x, X i=1表示应携带物品i, ,X i=0表示不应携带物品I
max z =20x t 亠15x2亠18x3亠14x4亠8x5亠4x§亠10 x7
5人+5x2 +2x3 +6X4 +12x5 +2x6 +4x7兰25 x i =0 或1,i =1,2,...,7
上述问题就是一个标准的整数规划问题,解法。

比较每种物品的重要性系数和重量的比值,比值大的物品首先选取,直到达到重量限制
解得:X*=(1,1,1,1,0,1,1) ' Z*=81
例2 :集合覆盖和布点问题
某市消防队布点问题。

该市共有6个区,每个区都可以建消防站,市政府希望设置的消防站最少,但
必须满足在城市任何地区发生火警时,消防车要在15min内赶到现场。

据实地测定,各区之间消防车行驶
的时间见表,请制定一个布点最少的计划。

解:弓I入0—1变量x, x i=1表示在该区设消防站,,x=0表示不设
min X Z = X t
+ x2
+ x2+ x3+x 4 +X5 * X6
>1
X1+ x2+ X6>1
X3 + X4>1
*X3 + X4+ X5>1
X4+ X5 + X6>1
X2+ X5 + X6>1
x i= 1 或0
解得:X*=(0,1,0,1,0,0) ' Z*=2
二、特殊约束的处理
1•含有相互排斥约束条件的问题:建模时,有时会遇到相互矛盾的约束,而模型只能两者取一,例如下面两个约束
f (x) 一3 - 0 (1)
f (x) < 0 (2)
这时引入一个0—1变量y,及一个很大的正数M,原式可化为:
-f (x) 3 - My (3)
f (x) - M (1 -y) (4)
y=0时,(1)与⑶相同,(4)自然满足,实际上不起作用
y=1时,⑷与⑵相同,(3)自然满足,实际上不起作用
对于形似f (x) Za(a》0),可以用以下一对约束代替
f (x) _ a
f(x) _ -a
引入0—1变量后,约束可改为
—f(x) a _ My
f (x) • a _ M (1 - y)
2.从p个约束条件中恰好选择q个的问题
模型希望在下列p个约束中,恰在此时好有q个约束有效:
n
、a i j X j < b i (i =1,2,..., p)
j吐
引入p个0—1整数变量y i, i=1,2,…p
'1若选择第i 个约束条件
y
i
=」
0若不选择第
i 个约束条件
n
a i j X j 込
b i My i
j

-p
(i 二 1,2,…,p)
y i 二 p - q
i

三、隐枚举法求解小规模 0- 1规划问题
例1 隐枚举法求解小规模0 - 1规划问题
ma x
z = 3x<, -2X 2 + 5 x 3
乂 + 2X 2 - X 3 < 2 & + 4x 2 + X 3 < 4 < X t +
X 2 < 3
4x 2 +
X 3 <
6
i x 1
_3
=0或1
解:(1)先用试探的方法找出一个初始可行解,如
X 1 = 1,X 2=X 3=0
则 X o =(1,O,O) '
Z o =3
(2) 对原有约束增加一个过滤条件,加到原约束条件中
3X 1 -2X 2 5X 3 _ 3
(3) 再求解上述问题
按照枚举法得思路,
依次检查各种变量得组合。

每找到一个可行解,
求出它的目标函数 乙,Z 1>Z o ,则
将过滤条件换成Z 1。

求解过程见下表,表中(1),(2),(3),(4)为原问题得约束条件,(5)为增加的过滤条件,"X”代表不满足约
则上式可改写为:
(i = 1,2,…,p)
注:一般常重新排列X i的顺序使目标函数中X i的系数是递增(不减)的,在上例中,改写
z = 3x1- 2 x25x3 - -2X2 3x15x3
因为—2, 3, 5是递增的,变量(x2,x1,x3)也按下述顺序取值:(0,0,0),(0,0,1),•这样,最优解容易比较早的发现,再结合过滤条件的改进,更可使计算简化。

例隐枚举法求解小规模0—1规划问题
min z = 3x_,亠7 x2—x3亠x4
2x^ - 2x2十x3—x43 1
x^ - x2+ 6x3+ 4x4K 8
< 5X t 十3x2十x43 5
X t」=0或1
解:采用上例的方法解此例共需36次运算,为了进一步减少运算量,按目标函数中各变量系数的大小顺
序重新排列各变量,以使最优解有可能较早出现。

对于最大化问题,可按由小到大的顺序排列,最小化问题则相反。

本例可写为:
min z = 7 x2亠3x t亠x4—x3
-X2 +
2 X1 —X4 + 2 1
_X2 +X1 +4x4+ 6 x3启8
3x2+5X! +X4> 5
=0或1
此例的最优解'
第五节指派问题
在现实生活中,有各种性质的指派问题(assig nment problem)。

指派问题也是整数规划的一类重要问
题。

例如:有若干项工作需要分配给若干个人(或部门)来完成;有若干项合同需要选择若干个投标者来承
包;有若干个班级需要安排在各教室上课等。

诸如此类问题,它们的基本要求是在满足特定的指派要求条件下,使指派方案的总体效果最佳。

一、指派问题的标准形式与数学模型
指派问题的标准形式是:有n个人和n件事,已知第i人做第j件事的费用为q (i, j=1,2,, ,n),要
确定人和事之间的一一对应的指派方案,使完成这n件事的费用最少。

一般称矩阵C=(C ij)n x n为指派问题的系数矩阵。

在实际中根据的具体意义,矩阵C有不同的含义,如
费用、成本、时间等。

引入0—1变量x ij ,
彳表示指派第i个人完成第j项工作
X j = *
0 表示不指派第i个人完成第j项工作
因此指派问题的数学模型为
n n
min z 八'、• C j x^
i £ j £
「n
工X ij =1
j ±
n
“ Z x ij =1
i ±
X j =0 或1
I
例某商业公司计划开办5家新商店。

为尽早建成营业,商业公司决定由5家建筑公司分别承建。


知建筑公司A i(i=1,23,4,5)对新商店B j(j=1,23,4,5)的建造费用报价为C ij(i, j=1,23,4,5),见下表。

商业公司应当对5家建筑公司如何分配建造任务,才能使总的建造费用最少?
”1当A:承建B j时
解:设X jj =丿
J0 当A不承建B j时
J
则数学模型为
min z = 4x 11 - 8乂仁亠•亠 10x 54 - 6x 55
二、匈牙利法的基本原理
因此,指派问题是线性规划问题,同时也是一类特殊的运输问题。

定理1 :设指派问题的系数矩阵为 C,若将该矩阵的某一行(或列)的各个元素都减去同一常数 k (k 可正可负), 得到新的矩阵C'则以C'为系数矩阵的新指派问题与原指派问题的最优解相同,但其最优值减少
k 。

推论1:若指派问题系数矩阵每一行及每一列分别减去各行及各列的最小元素,则得到的新指派问题 与原指派问题有相同的最优解。

定义1:在系数矩阵C 中,有一组处在不同行不同列的零元素,称为独立零元素组,此时其中每个零元 素称为独立零元素。

2 0
3 0 0 5 6 7 8
0 0
则i 12,c 24,c 31 ,c 43 [是一个独立零元素组,
Cc 12 ,c 23,c 31 ,c 44 [也是一个独立零元素组。

再将n x n 个决策变量X j 也排成一个n X n 矩阵X 二区)n n ,称为决策变量矩阵,即
Xm
解,如上例
-
0 1 0 0 1
■0 1 0
01 X(1)=
0 0 0 1 和 X (2)=
0 0 1 0
都疋最优解。

1 0 0 0
1 0 0 0
-
0 0 1
_
0 0 0
1
_
但在有的问题中发现效率矩阵中独立零元素得个数不到 n 个,这样就无法求到最优指派方案,需要作进
步的分析,首先给出下述定理。

定理2 :系数矩阵C 中独立零元素的最多个数等于能覆盖所有零元素的最小直线数。

例 已知系数矩阵C 1,C 2,C 3如下
Z X ij =1
i

5
S.t.匹 X ij =1
X jj = 0 或 1
(i =1,2,3,4,5)
(j =1,2,3,4,5) (i, j =1,2,3,4,5)
例:已知C 二
■5 X
21
X
22
X =
_X n1 X n2 X 2n
X nn
根据以上分析,对 C 中出现独立零元素的位置,再 X 中令X ij =1,其余取0值,就是指派问题的一个最优
分别用最少的直线去覆盖各自矩阵中的零元素
可见C i 至少需要4根,C 2至少需要4根,C 3最少需要5根,因此它们的独立零元素个数分别为 4, 4, 5。

三、匈牙利法求解步骤
例1 已知指派问题的效率矩阵如下,求解指派问题
1
2 15 1
3 4
10 4
14 15
c

9 14 16 13
7
8
11
9
解:第一步:变换效率矩阵,使指派问题的系数矩阵经过变换,
第二步:用圈0法求出矩阵C 1中的独立零元素。

经第一步变换后,系数矩阵中每行每列都已有了独立零元素;但需要找出 就以这些独立0元素对应的决策变量矩阵中的元素为 1,其余为0,就得到了最优解。

当n 较小时,可用观察法、试探法去找出 n 个独立0元素;若n 较大时,就必须按照一定的步骤去找,常
用的步骤为:
(1)
从只有一个0元素的行(或列)开始,给这个0元素加圈,记作©。

这表示对这行所代表的人,
只有一种 任务可指派,然后划去◎所在列(行)的其他元素,记作e,这表示这列所代表的任务已指派完, 不必再
考虑别人了。

⑵ 给只有一个o 元素列(行的)o 元素加圈,记作◎。

然后划去◎所在行
(列)的其他元素,记作e 。

(3)反复进行(1),(2)两步,直到每一列都没有未被标记的
0元素或至少有两个未被标记的
0元素时止。

这时可能出现3种情形:
(1)每一行均有圈零出现,圈 0的个数m=n 。

⑵ 存在未标记过的0元素,但它们所在的行和列中,未标记过的
0元素均至少有两个。

5
0 2 01
1
2 3 0 0 0
4 3 0 0 0
2
3 0 0
C 2 = 0 5 5 7 2
C3 = 0 3 3 5 0
5 6 7
4 8 0 0 4
6 8 0 0 4
8 0 0
i
0 6 3 6 5
i
0 4 1 4 3
0 2 0 0 2 0
2
C i
在各行各列中都出现 0元素。

具体作法是:
0元素,再从所得系数矩阵中减去该列的最小非
0元素。

-
2 15 1
3
4 1
-
0 13 11 C =
10 4 14 15
行变换
6 0 10 9 14 16 13
0 5 7
7
8
11
9
0 1 4
13 0 5
01
9 =C 1
2 0
n 个独立的0元素。

若能找出,
先将效率矩阵的各行减去该行的最小非
2] -0
11 6
列变换
4
这样得到的新矩阵中,每行每列都必然出现零元素。

(3)不存在未被标记过的0元素,但圈0的个数m v n。

-
0 13 7 0〕
■0 13 7 0

■0 13 7
6 0 6 9
6 0 6 9
6 0 6 9
C1 =
5
3
2 T 0
5 3
2
T 0
5 3
2
=C
0 1
0 0 1
1 0
1
0 0 1 1
1
0 0
第三步:进行试指派
若情况(1)出现,则可进行指派:令圈 0位置的决策变量取值为 1,其它决策变量的取值均为 0,得到一
个最优指派方案,停止计算。

本例中得到C2后,出现了情况 ⑴,可令X 14=X 22=X 31=X 43=1,其余X j =0。

即为最佳指派方案。

若情况 ⑵出现,则再对每行,每列中有两个未被标记过的 0元素任选一个,加上标记,即圈上该 0元素。

若出现(3),则要转入下一步。

解:对C 进行行、列变换,减去各行各列最小元素
0元素的个数,需要对矩阵 C2进行进一步的变换,变换步骤如下:
(1) 对C 2中所有不含圈0元素的行打",如第 5行 (2) 对打"的行中,所有 0元素所在列打",如第 1列 (3) 对所有打"列中圈0元素所在行打",如第
3行
⑷重复上述(2),(3)步,直到不能进一步打"为止
"12 7 9 7 9〕 8
9
6
6
6 7
17 12 14
9 15 14
6
6 10
一4
10 7 10
9
一 C = 然后给同行、同列的其他未被标记的
0元素加标记“X” 。

然后再进行行、
列检验,可能出现 (1)或⑶。

第四步:作最少直线覆盖当前所有的 0元素(以例题说明)
例2 某5X 5指派问题效率矩阵如下,
求解该指派问题。

12 ■5
2〔 0
■5
21 0
17 12 14
15 14
10
10
10
10
进行行列检验,
得到
_
5
10
C 2
可见C2中没有未被标记过的
0元素,但圈0 的个数 m v n ,
出现情况 现在独立
=C ,用圈0法对C1
0元素的个数少于n ,
不能进行指派,为了增加独立
行变换
10 9
列变换
本题对C4再用行列检验后为:
0 2 0 2 3 0 0 0 8 3 5 0 =C s 8 0 0 4 4
14
3
令决策变量矩阵中
X 12=X 24=X 35=X 43=X 51=1,其余X ij =0
四、非标准形式的指派问题
1•最大化指派问题
设最大化指派问题系数矩阵
C =(C j )n x n 中最大元素为m ,令矩阵B=(b j )n x n,b j =m-C j ,则以B 为系数矩
阵的最小化指派问题和以 C 为系数矩阵的原最大化问题有相同最优解。

2. 人数和事数不等的指派问题
若人多事少,则添上一些虚拟的 人”,费用系数取0,理解为这些费用实际上不会发生。

反之,添上一
些虚拟的事”,费用系数同样取0。

3. 一个人可做几件事的指派问题
将该人化作相同的几个人”来指派。

这几个人作同一件事的费用系数都一样。

⑸ 对未打"的每一行划一直线,如
1 , 2, 4行,对已打“的列划一纵线,
如第1列,即得到覆盖当前
"5 0 2 0 2 "
(
5 0 2 0 2 _ 2
3
0 0
2
3
0 0 10 5 7 2 T C 3 =
0 10 5 7 2
9 8 0
0 4
9
8 0
0 4
0 6
3 6 5
I i
0 6
3 6
5
第5步:对矩阵C 3作进一步变换,增加
在未被直线覆盖过的元素中找出最小元素,将打"行的各元素减去这个最小元素,将打"列的各元素加上 这个最小元素(以避免打"行中出现负元素 ),这样就增加了 0元素的个数。

对C3进行变换,最小元素为 2,对打"的第 3, 5行各元素都减去 2,对打"的第1列各元素都加上 2,
得到矩阵C4
■7 4
2〔 0
C 4
11
第6步:对已增加了 0元素的矩阵,再用圈 0法找出独立 0元素组。

即回到第2步,对C 4进行检验及列检验,直到圈
的个数 m=n 时止。

■7 4 C 4 t 0 11
0元素
C 2
0元素的最少直线数。

见 C 3
4. 某事一定不能由某人做的指派问题
此时将相应的费用系数取作足够大的数M。

例有4种机械要分别装在4个工地,它们在4个工地的工作效率不同,问应如何指派安排,才能使
由表知:maxc j = c42=43
b
ij =43-C ij
1318311 11015081飞1508 1
B =118137
行变换
4160
列变换
0160 839165061310613
150115
-
150115
-11011
5飞15 0 8 1
圈0
0 16 0
打勾
1 0 6 13
覆盖
-110115
增0,打"行减1,打"列加1
令X13=X24 =X31=X42=1,其余取0,得到最佳指派方案。

4台机。

相关文档
最新文档