运筹学 指派问题

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

min z bij xij
i 1 j 1
n
n
定理1 设 B (bij ) nn 是效率矩阵,若可行解x*的n个1(在解矩 阵的不同行不同列上)对应的n个bij都为0, 则x*是最优解. (显然z(x*)=0) 1 0 0 0 0* 14 9 3 0 0 1 0 则xij是最 如效率矩阵为 9 20 0* 23 令 ( xij ) 优解 0 1 0 0 23 0* 3 8 , 0 12 14 0* 0 0 0 1 因此需对效率矩阵作变换,使变换后效率矩阵 (bij ) nn 含有n个不同行不同列个0.由此求得最优解矩阵的n个1是 对应于效率矩阵的这n个0.
第二步: 做能覆盖所有零元素的最少数目的直线集合。 此时,若直线数等于 n ,则已可得出最优解。否则, 转第三步 。 第三步: 变换效率矩阵,使未被直线覆盖的元素中出 现零元素。回到第二步。
在未被直线覆盖的元素中总有一个最小元素。对未 被直线覆盖的元素所在的行(或行)中各元素都减 去这一最小元素,这样,在未被直线覆盖的元素中 势必会出现零元素,但同时却又使已被直线覆盖的 元素中出现负元素。为了消除负元素,只要对它们 所在的列(或行)中各元素都加上这一最小元素 (可以看作减去这一最小元素的相反数)即可。
指派问题的最优解有这样性质,若从效率矩 阵(cij)的一行(列)各元素中分别减去该行(列)的 最小元素,得到新矩阵(bij),那么以(bij)为效率 矩阵求得的最优解和用原效率矩阵求得的最优解 相同 。即 定理2 设给定了以C = (cij)为效率矩阵指派问题G, 现将C的元素cij 改变为 bij cij i j , i 与 j 为常数 则以B= ( bij )为效率矩阵指派问题G’与G有相同的最 优解。
5 0* 2 0 2 2 3 0* 0 0 0* 10 5 7 2 9 8 0 0* 4 0 6 3 6 5
覆盖”0”元素的最少直线为4 条, 位于不同行不同列的”0”元素 的最大个数也为4.

再如 例1
0 13 7 0 6 0 6 9 直线数 (bij ) 位于不同行不同列的”0” 0 5 3 2 =4 元素的最大个数也为4. 0 1 0 0
则问题的数学模型为 min z 4 x11 8 x12 10x54 6 x55
5 xij 1 j 1,2,3,4,5 (一个商店只能由一个公司承建) i51 s.t. x 1 i 1,2,3,4,5 (一个公司只能建造一个商店) j 1 ij xij 0或1
例1 有一份中文说明书,需译成英、日、德、 俄四种文字。分别记作E、J、G、R。现有甲、乙、 丙、丁四人。他们将中文说明书翻译成不同语种 的说明书所需时间如表1所示。问应指派何人去 完成何工作,使所需总时间最少?
表1
任务 E 人员 耗时 甲 2 乙 10 丙 9 丁 7 J 15 4 14 8 G 13 14 16 11 R 4 15 13 9
(1)从只有一个0元素的行(列)开始,给这个0 元素加圈,记作◎。这表示对这行所代表的 人只有一种任务可指派。然后划去◎所在列 (行)的其他0元素,记作Φ 。这表示这列所 代表的任务已指派完,不必再考虑别人了。 如此反复进行,直到所有0元素都被圈出和 划掉为止。 (2)若遇到同行(列)的0元素至少有两个(表示 可以从两项任务中指派其一),可以任选一 行(列)中某一个0元素,再划去同行(列)的 其他0元素。
i j i j j i
z i j
i j
即z和 z’只相差一个常数,故它们有相同的最优解.
• 利用这个性质,可使原效率矩阵变换为含有很
多0元素的新效率矩阵,而最优解保持不变,在
效率矩阵(bij)中,我们关心位于不同行不同列
的0元素,以下简称为独立的0元素。
• 若能在效率矩阵(bij)中找出n个独立的0元素;
这表示:指定甲译出俄文, 乙译出日文,丙译出英文, 丁译出德文。所需总时间 最少. 2 15 13 4 10 4 14 15 (cij ) 9 14 16 13 7 8 11 9
min z cij xij c31 c22 c43 c14 28 (小时)
i j
例2 某商业公司设计开办五家新闻商店 B1, B2 , B3 , B4 , B5 。为 了尽早建成营业,商业公司通知了 A1 , A2 , A3 , A4 , A5 五个建筑 公司,以便让每家新商店由一个建筑公司承建。建筑公司 对新商店 B j 的建造费用的投标为cij 均见表。商业公司应当 对五家建筑公司 Ai 怎样分配建造任务,才能使总建造费用 最少?
证: 首先效率矩阵的这种变化只是目标值在变换,并
不影响约束方程组,其次用z和 z`分别记问题G
与G`的目标函数值,则
z ' bij xij (cij i j ) xij
i j i j
cij xij i xij j xij
行 min 2 15 13 4 2 10 4 14 15 4 例如(cij ) 9 14 16 13 9 7 8 11 9 7 0 13 11 2 0 6 0 10 11 6 0 5 7 4 0* 0 1 4 2 0 4 2列 min 13 0* 5 1
第四节 指 派 问 题
assignment problem
在生活中经常遇到这样的问题,某 单位需完成n项任务,恰好有n个人可承 担这些任务。由于每人的专长不同,各 人完成任务不同(或所费时间),效率也 不同。于是产生应指派哪个人去完成哪 项任务,使完成n项任务的总效率最高 (或所需总时间最小)。这类问题称为指 派问题或分派问题。
类似有:有n项加工任务,怎样指派到n 台机床上分别完成的问题;有n条航线,怎样 指定n艘船去航行问题……。对应每个指派问 题,需有类似表1那样的数表,称为效率矩阵 或,其元素cij≥0(i,j=1,2,…,n)表示指派 第i人去完成第j项任务时的效率(或时间、成 本等)。解题时需引入变量xij;其取值只能 是1或0。并令
行列都有 零元素
7 6 3 0*
0 * 9 (b ) ij 2 0
0 0 最优解为 ( xij ) 1 0
0 1 0 0
0 0 0 1
1 0 0 0
定理3 若矩阵C可分成”0”与非”0”两部分,则覆 盖”0”元素的最少直线等于位于不同行不同列的”0” 元素的最大个数.
现在,我们来解例2的指派问题的效率矩阵为
4 7 C 6 6 6 8 7 15 12 9 17 14 10 9 12 8 7 7 14 6 10 9 12 10 6
对各行元素分别减去本行的最小元素,对各列也如此,得
-1 -3 4 8 7 15 12 -4 0 4 3 11 8 0 3 0 11 8 7 9 17 14 10 -7 0 2 10 7 3 0 1 7 7 3 6 9 12 8 7 -6 0 3 6 2 1 0 2 3 2 1 -6 6 7 14 6 10 0 1 8 0 4 0 0 5 0 4 6 9 12 10 6 -6 0 3 6 4 0 2 3 4 0 0 容易看出,可用四条直线覆盖所有零元素,这是最少数直线 集合,由于C的阶数 n=5,故需对效率矩阵C继续变换。
1, 当指派第 i 人去完成第 j 项任务 xij 0, 当不指派第 i 人去完成第 j 项任务
当问题要求极小化时数学模型是:
目标函数 min z cij xij
i 1 j 1 n n

n xij 1, j 1, 2, , n ② i 1 (表示一项工作只能由一个人完成) n 约束条件 xij 1, i 1, 2, , n ③ (表示每人仅做一件事情) j 1 x 1或 0 ④ ij
+2
7 0* 2 0 2 4 3 0* 0 0 0 8 3 5 0* 11 8 0 0* 4 0* 4 1 4 3
第四步:进行指派,寻求最优解。
需找出n个独立的0元素。若能找出,就以这些独 立0元素对应解矩阵(xij)中的元素为1,其余为0, 这就得到最优解。当n较小时,可用观察法去找 出n个独立0元素。若n较大时,就必须按一定的 步骤去找,常用的步骤为:
13 7 6 6 9 5 3 2 1
所以得最优解为
E J G R
0 0 ( xij ) 1 0
i
0 1 0 0
jFra Baidu bibliotek
0 0 0 1
1 0 0 0
甲 乙
丙 丁
min z ' bij xij 0
(xij)是n×n矩阵,对应于效率矩阵(cij).
工作
x11 人 x i1 xn1
x1n xij xin xnj xnn x1 j
可行解矩阵
x
i 1
n
ij
1,
j 1, 2, , n ②
则令解矩阵(xij)中对应这n个独立的0元素的元
素取值为1,其他元素取值为0。将其代入目标
函数中得到 z ' bij xij 0 ,它一定是最小。
i j
这就是以(bij)为效率矩阵的指派问题的最优解。
也就得到了原问题的最优解。
以下用例1来说明指派问题的解法。
第一步:使指派问题的效率矩阵经变换,在各 行各列中都出现0元素。 (1) 从效率矩阵的每行元素减去该行的最小元 素; (2) 再从所得效率矩阵的每列元素中减去该列 的最小元素。 若某行(列)已有0元素,那就不必再减了。 例1的计算为
现用例1的(bij)矩阵,按上述步骤进行运算。先 给b22加圈,然后给b31加圈,划掉b11,b41;给b43 加圈,划掉b44,最后给b14加圈,得到
0 13 7 0 6 0 6 9 (bij ) 0 5 3 2 0 1 0 0
0 6 0* 0 13 0* 5 1 7 6 3 0* 0 * 9 2 0

5 0* 2 0 2 2 3 0* 0 0 0* 10 5 7 2 -2 9 8 0 0* 4 0 6 3 6 5 -2 5 0* 2 0 2 2 3 0* 0 0 2 8 3 5 0 9 8 0 0* 4 2 4 1 4 3
Ai
cij B j
A1
A2
A3
B1
4 7 6 6 6
B2
8 9 9 7 9
B3
7 17 12 14 12
B4
15 14 8 6 10
B5
12 10 7 10 6
A4
A5
解:这是一个标准的指派问题。若设0-1变量
1, 当Ai 承建B j时 xij 0, 当Ai 不承建B j时 (i, j 1,2,3,4,5)
表明各列之和为1 。
x
j 1
n
ij
1, i 1, 2, , n

表明各行之和为1 。
满足约束条件②~④的可行解xij构成的可行解矩阵, 矩阵中有n个为1,其余都为0,而且这n个1必位于矩阵的不
同行不同列上。对应于可行解xij的目标值是这n个cij之和.
指派问题是0-1规划的特例,当然可 用整数线性规划、0-1规划的解法去求解, 但可以利用指派问题的特点设计更简便 的解法,下面介绍匈牙利法。
相关文档
最新文档