第五节指派问题
第5章 整数-指派问题

(if i ≠ k ); cij , bij = ckj + a, (if i = k ).
则以b 则以 ij为系数的新指派问题的目标函数为 n n z = ∑i =1 ∑ j =1 bij xij
= ∑i ≠ k ∑ j =1 cij xij + ∑ j =1 (ckj + a ) xkj
n n
= ∑i =1 ∑ j =1 cij xij + a ∑ j =1 xkj = z + a
n n n
利用性质1, 利用性质 ,可使原系数矩阵变换为含 有很多0元素的新系数矩阵 元素的新系数矩阵, 有很多 元素的新系数矩阵,而最优解保 持不变,在系数矩阵(b 中 持不变,在系数矩阵 ij)中,我们关心位 于不同行不同列的0元素 元素, 于不同行不同列的 元素,以下简称为独 立的0元素. 立的 元素. 元素 利用性质2,若能在系数矩阵(b 中找 利用性质 , 若能在系数矩阵 ij)中找 个独立的0元素 出n个独立的 元素;则令解矩阵 ij)中对 个独立的 元素;则令解矩阵(x 中对 应这n个独立的 元素的元素取值为1, 个独立的0元素的元素取值为 应这 个独立的 元素的元素取值为 ,其 他元素取值为0. 他元素取值为 .将其代入目标函数中得 到zb=0,它一定是最小. ,它一定是最小. 这就是以 ij)为系数矩阵的指派问题的 这就是以(b 为系数矩阵的指派问题的 最优解.也就得到了原问题的最优解. 最优解.也就得到了原问题的最优解.
解 按上述第一步,将这系数矩阵进行变换.
min 12 7 9 7 9 7 5 0 2 0 8 9 6 6 6 6 2 3 0 0 7 17 12 14 9 7 → 0 10 5 7 15 14 6 6 10 6 9 8 0 0 4 10 7 10 9 4 0 6 3 6 2 0 2 4 5
运筹学课件ch5指派问题[全文]
![运筹学课件ch5指派问题[全文]](https://img.taocdn.com/s3/m/76c0dd89b9f3f90f77c61b19.png)
运筹学课件ch5指派问题[全文] 指派问题assignment problem 运筹学课件一种特殊的线性规划问题,我们也经常遇到指派人员做某项工作的情况。
指派问题的许多应用都用来帮助管理人员解决如何为一项将要开展进行的工作指派人员的问题。
其他的一些应用如为一项任务指派机器、设备或者是工厂。
指派问题运筹学课件指派问题的形式表述:给定了一系列所要完成的任务(tasks)以及一系列完成任务的被指派者(assignees),所需要解决的问题就是要确定出哪一个人被指派进行哪一项任务。
指派问题模型运筹学课件指派问题的假设:被指派者的数量和任务的数量是相同的每一个被指派者只完成一项任务每一项任务只能由一个被指派者来完成每个被指派者和每项任务的组合有一个相关成本目标是要确定怎样进行指派才能使得总成本最小指派问题模型运筹学课件指派问题assignment problem 【例51></a>.14】人事部门欲安排四人到四个不同的岗位工作,每个岗位一个人(经考核四人在不同岗位的成绩(百分制)如表5-34所示,如何安排他们的工作使总成绩最好。
88809086丁90798382丙95788795乙90739285甲DCBA工作人员表5-34【解】设1 数学模型运筹学课件数学模型为:甲乙丙丁ABCD图5. 3指派问题assignment problem运筹学课件假设m个人恰好做m项工作,第i个人做第j项工作的效率为cij?0,效率矩阵为[cij](如表5-34),如何分配工作使效率最佳(min或max)的数学模型为指派问题assignment problem运筹学课件2 解指派问题的匈牙利算法匈牙利法的条件是:问题求最小值、人数与工作数相等及效率非负【定理5.1】如果从分配问题效率矩阵[cij]的每一行元素中分别减去(或加上)一个常数ui(被称为该行的位势),从每一列分别减去(或加上)一个常数vj(称为该列的位势),得到一个新的效率矩阵[bij],其中bij=cij,ui,vj,则[bij]的最优解等价于[cij]的最优解,这里cij、bij均非负(指派问题assignment problem【证】运筹学课件【定理5.2】若矩阵A的元素可分成“0”与非“0”两部分,则覆盖“0”元素的最少直线数等于位于不同行不同列的“0”元素(称为独立元素)的最大个数( 如果最少直线数等于m,则存在m个独立的“0”元素,令这些零元素对应的xij等于1,其余变量等于0,这时目标函数值等于零,得到最优解(两个目标函数相差一个常数 u+v,约束条件不变,因此最优解不变。
项目管理运筹学第5章资料

X2 ≤ 1
B21 X1=5.44,X2=1.00 Z=308
340 ≤ z ≤ 341
X2 ≥2
B22 无可行解
第三节 割平面法
割平面法的基本思想 这里仅介绍求解纯整数规划的割平面法 基本步骤:
设整数规划问题(IP),对应的松弛问题为(P) ①用单纯形法求解问题(P),设得到(P)的最优解。 ②若(P)的最优解符合取整约束,则停止;否则,必有一个基 变量Xi取值为分数。 ③任取一个基变量取值为分数的约束,构造切割平面(新约束)。 ④将新约束加入到原约束中,求解新的松弛问题(P)。用灵敏 度分析的方法求解问题(P),转② 。
?
Ma x化
?
?
第五节 指派问题
问题的扩展
人员数=任务数
Min
化
基本问题
人员数≠任务数
人员数>任务数:虚设任务 人员数<任务数:虚设人员 系数矩阵中对应元素为0。 使人员数=任务数 。
Ma 找出系数矩阵中的最大元
x化
素,记做W,用W减去系 数矩阵中的每个元素,得
到新矩阵。转化为Min化问
题。
第五节 指派问题
第三节 割平面法
例:求解 Max z=x1+x2 -x1+x2≤1 3x1+x2≤4 x1、x2≥0,且取整
注意:要求每个bi,以及aij必须取整。否则,可以对相应的约束乘上 一个数,使其变为整数。 Max z=x1+x2 -x1+x2 +x3 =1 3x1+x2 + x4 = 4 x1,x2,···, x4≥0,且取整
第四节 0-1规划及隐枚举法
求解纯0-1规划问题的隐枚举法 基本思想: 穷举法的不足; 隐枚举法: “最优解=目标值最优的可行解” 只要目标值不是最优,不用检查是 否为可行解,必定不是最优解。 一个例子
5.5 指派问题

cij 为第 i 个人为完成第 j 项任务时的工时消
3. 指派问题数学模型—标准形式 如果一个指派模型满足以下三个条件:
1)目标要求为min
2)效率矩阵(cij)为m阶方阵
3)效率矩阵中所有元素cij≥0,且为常数
则称上面的数学模型为指派问题的标准形.
4. 指派模型的标准形的特点: 含有m×m个决策变量,均为0-1变量 m+m=2m个约束方程 给定一个指派问题时,必须给出效率矩阵(系数矩阵) C=(cij)mxm,且cij0,因此必有最优解 。
0 1 0 0
0 0 0 1
指派问题的解矩阵应具有如下特点: (1)解矩阵(xij)中各行各列的元素之和都是1; (2)可行解(最优解)中恰含有4个非零元,即4个1; (3)可行解(最优解)矩阵中的1恰取于不同行不同列。
人 工作 译成英文 译成日文 译成德文 译成俄文 任务
甲 2 15 13 4 1
定理1 如果从指派问题效率矩阵[cij]的每一行元素中分别 减去(或加上)一个常数ui(被称为该行的位势), 从每一列分别减去(或加上)一个常数vj(称为该列的位势) 得到一个新的效率矩阵[bij], 若其中bij=cij-ui-vj, 则[bij]的最优解的结构等价于[cij]的最优解的结构.
证明:将从[bij]中得到的解 代入分配问题模型的目标函数式,有
从只有一个0元素的行(或列)开始,
给这个0元素加圈,记, 这表示对这行所 代表的人,只有一种任务可指派。 然后划去所在的列(或行)的其他0元素,记作Ø。 这表示这列所代表的任务已指派完,不必再考虑别人
0
6
13
7 6 3 0
0 9 2 0
5 1
0
给只有一个0元素的列(或行)中的0元素加圈, 记, 然后划去所在的行(或列)的其他0元素,记作Ø。 这表示这行所代表的人已指派完, 不必再考虑他做别的任务了。 反复进行上述两步,直到所有的0元素都被圈出和 划掉为止。
指派问题(含非标准指派问题)

第五章 整数规划§1 整数规划的数学模型及特点要求一部分或全部决策变量必须取整数值得规划问题称为整数规划。
其模型为:Max(或min)z=∑=nj j jx c1s.t ⎪⎪⎩⎪⎪⎨⎧=≥=≥=≤∑=nj nj i ij ij xx x nj x m i b x a ,,,2,10,2,1),(211若要求决策变量只能取值0或1的整数规划称为0-1型整数线性规划。
§5 指 派 问 题 一. 指派问题的标准形式及数学模型在现实生活中,有各种性质的指派问题。
例如,有若干项工作需要分配给若干人(或部门)来完成;有若干项合同需要选择若干个投标者来承包;有若干班级需要安排在各教室上课等等。
诸如此类的问题,它们的基本要求是在满足特定的指派要求条件下,使指派方案的总体效果最佳。
由于指派问题的多样性,有必要定义指派问题的标准形式。
指派问题的标准形式(以人和事为例)是:有n 个人和n 件事,已知第i 个人作第j 件事的费用为),2,1,(n j i c ij =,要求确定人和事之间的一一对应的指派方案,是完成这n 件事的总费用最少。
为了建立标准指派问题的数学模型,引入2n 个0-1变量:⎩⎨⎧=10ij x这样,问题的数学模型可写成 ∑∑===ni nj ij ijx cz 11min (5.1)s.t ⎪⎪⎪⎩⎪⎪⎪⎨⎧======∑∑==n j i x n i x n j x ij n j ij n i ij ,2,1,1,0,2,11,2,1111 (5.3)其中,(5.1)表示每件事必优且只有一个人去做,(5.2)表示每个人必做且只做一件事。
注:○1 指派问题是产量(i a )、销量(j b )相等,且i a =j b =1,i ,j=1,2,…n 的运输中部分或全部取整数 若指派第i 人作第j 件事若不指派第i 人作第j 事i ,j=1,2,…n(5.2) (5.4)问题。
○2 有时也称ijc 为第i 个人完成第j 件工作所需的资源数,称之为效率系数(或价值系数)。
运筹学指派问题课件

c
i 1 j 1
n
n
ij
xij
n xij 1 i 1 n st . xij 1 (i , j 1, 2, ..., n) j 1 x 1or 0 ij
运筹学教程
例1:某商业公司计划开5家新商店,商业公司决定由5家建筑 公司分别承建。已知建筑公司Ai(i=1,2…5)对新商店Bj(j=1…5) 的建筑费用报价Cij.问题:商业公司对5家建筑公司如何分配任 务,才能使总的建筑费用最少? Cij Ai Bj
运筹学教程
指派问题解法:匈牙利解法 解法思想:
若从系数矩阵C的任何一行(列)各元素中分别减去 一个常数K(K可正可负)得到新矩阵C’,则以C’为系 数矩阵的指派问题与原问题有相同的解,但最优值 比原问题最优值小K。
匈牙利法条件: MIN、i=j 、Cij≥0
运筹学教程
匈牙利法的主要步骤: 步骤1:变换系数矩阵,使在各行各列都出现零元素。 (1)从矩阵C的每行元素减去该行的最小元素;
0 11 8 7 7 3 3 2 1 C ' 5 0 4 3 4 0
第二步 圈0 寻找不同行不同列的0元素,圈之。 所在行和列其它0元素划掉
0 0 0 0 0 3 0 11 8 第三步 打 无的行打,打行上0列打 , 1 7 7 3 打列上行打,打行上0列打 ' 2 3 2 1 C 0 5 0 4 0 3 0 11 8 0 1 7 7 3 2 3 4 0 C ' 0 2 3 2 1 第四步 确定方案划线 0 0 5 0 4 没有打行上画一条横线; 0 2 3 4 0 有打列上画一条竖线;
15 120 15 12 0 14 100 14 100 8 7 0 0 8 7
第五讲分配问题指派问题与匈牙利法

i1 j 1
相关定理
使每行每列 都出现零元素
定理:若将分配问题系数矩阵的每一行及每一列分别 减去各行及各列的最小元素,则新分配问题与原分配 问题有相同的最优解,只有最优值差一常数。
时 工作
时 工作
间
A
B
间C
A
B
C
人员
人员
甲
7 8
甲9
0 10
2
乙
9
12
乙4 5
87
0
丙
8
5
丙4 4
10 0
步骤1:变换系数矩阵,使其每行每列都出现0元素
cn1
cn1
...
cnn
x11 x12 ... x1n
X
x21
x22
...
x2
n
... ... ... ...
xn1
xn1
...
xnn
系数矩阵
(效率矩阵)
n个人 n件事
解矩阵
(决策变量矩 阵)
定义:在系数矩阵C中,处在不同行不同列的一
组零元素,称为独立零元素组,其中每个元素
称为独立零元素。
圈0个数等于n=55 0 2 0 9
2 3 0 0 8
0 10 5 7 5 9 8 0 0 4
0 6 3 6 0
0 1 0 0 0
0 0 1 0 0
1 0 0 0 0 0 0 0 1多重0最优解
0 0 0 0 1
5 0 2 0 9
2 3 0 0 8
0 10 5 7 5 9 8 0 0 4
0 6 3 6 0
一纵线,即得到覆盖当前0元素的最少直线集。
0 3 0 11 8
0 1 7 7 3
第5章 运输问题与指派问题

2
P 4 6 5 6
3
P 1 5 4 5
4
A B C D
c
ij
OR课件
装卸组 待卸车
TP & AP
P 4 2 4 3
1
P 3 3 3 2
2
P 4 6 5 6
3
P 1 5 4 5
4
§5 指 派 问 题
A B C D
bj
ai 1 1
1
1
1
1
1
1
解:引入0-1变量xij, 并令:
Z
min
cij xij
3
产 量 9 5 7 4
A 虚 销 量
OR课件
TP & AP
问题的提出
§5 指 派 问 题
设有n个人,需要分派他们去做n件 工作。要求一个人做一件事,一件事只
能由一个人完成;由于每人的专长不同,
各人做任一种工作的效率可能不同,因
而创造的价值也不同。问如何安排,才
能使创造的总价值最大?
OR课件
TP & AP
Z
min
TP & AP
cij xij
i 1 j 1 n ij
n
n
x
j 1 n
1 , i 1, 2, , n 1, j 1, 2, , n
x
i 1
ij
x
ij
0 或1
特殊的运输问题
OR课件
TP & AP
算法原理
OR课件
TP & AP
§2 表 上 作 业 法
算法的提出:观测模型的特征 【简例】已知有关资料如下表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四步:对上述矩阵进行变换,目的是增加独立0元素的个数。方法是 在未被直线覆盖的元素中找出一个最小元素,然后在打“”行各元素 中都减去这一元素,而在打“”列的各元素都加上这一最小元素,以 保持原来0元素不变(消除负元素)。得到新的系数矩阵。(它的最优 解和原问题相同,为什么?)
7 4 0 11 0
解:第一步:系数矩阵的变换(目的是得到某行或列均有0元素)
第二步:确定独立0元素, 即加圈
4 7 6 6 6
8 7 15 9 17 14 9 12 7 14 8 6
9 12 10 0 3 0 0 1 7 0 2 3 0 0 5 0 2 3
12 10 7 10 6
上面的系数矩阵有6行5列,为了使“人”和“事”的数目相同,引入一 件虚拟的事B6,使之成为标准指派问题的系数矩阵:
B1 B 2 B3 B 4 B5 B 6 4 4 7 7 6 6 8 8 9 9 9 9 7 7 17 17 12 12 15 12 0 A1 A1' 15 12 0 14 10 0 A2 14 10 0 A2 ' 8 7 0 A3 8 7 0 A3'
3 0 11 8 0 6 6 2 1 2 1 0 0 5 0 4 2 3 4 0
此矩阵中已有5个独立的0元素,故可得指派问题的最优指派方案为:
0 0 1 0 0
0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1
12 7 8 9 7 17 15 14 4 10
9 6
7 6
12 14 6 6 7 10
9 6 9 10 9
解:第一步:系数矩阵的变换(目的是得到某行或列均有0元素)
第二步:确定独立0元素
12 7 8 9 7 17 15 14 4 10 5 2 0 9 0
9 6
7 6
12 14 6 6 7 10 0 10
9 6 9 10 9 2 0 2 4 5
5 2 0 9 0
0 10
2 0 5 7
3 0 0 8 0 0 6 3 6
2 0 2 4 5
2 0 5 7
min Z
数学模型为:
cij xij
i 1 j 1
n
n
s.t
n xij 1 i 1 n xij 1 j 1 x 0 or 1, i, j 1,2,, n ij
其中矩阵C称为是效率矩阵或系数矩阵。 其解的形式可用0-1矩阵的形式来描述,即 (xij)nn。 标准的指派问题是一类特殊的整数规划问题,又是特殊的0-1 规划问题和特殊的运输问题。1955年W. W. Kuhn利用匈牙利数学家 D. Konig关于矩阵中独立零元素的定理, 提出了解指派问题的一种 算法, 习惯上称之为匈牙利解法。 2. 匈牙利解法
然后,用匈牙利解法求解。可得费用最省为4+7+9+8+7=35(百万元)
•如遇到行或列中0元素都不只一个(存在0元素的闭回路),可任选其 中一个0元素加圈,同时划去同行和同列中的其它0元素。被划圈的0元 素即是独立的0元素。
步3:作最少数目的直线,覆盖所有0元素(目的是确定系数矩阵的 下一个变换),可按下述方法进行
1) 对没有的行打“”号; 2) 在已打“”号的行中,对 所在列打“” 3)在已打“”号的列中,对所在的行打“”号; 4)重复2)3),直到再也找不到可以打“”号的行或列为止; 5)对没有打“”的行划一横线,对打“”的列划一纵线,这样就得 到覆盖所有0元素的最少直线数。
对于指派问题,由于系数矩阵均非负,故若能在在系数矩阵 中找到n个位于不同行和不同列的零元素(独立的0元素),则对 应的指派方案总费用为零,从而一定是最优的。
匈牙利法的步骤如下: 步1:变换系数矩阵。对系数矩阵中的每行元素分别减去该行的最 小元素;再对系数矩阵中的每列元素分别减去该列中的最小元素。若 某行或某列已有0元素,就不必要在减了(不能出现负元素)。 步2:在变换后的系数矩阵中确定独立0元素(试指派)。若独立0 元素已有n个,则已得出最优解;若独立0元素的个数少于n个,转步3。
确定独立0元素的方法:当n较小时,可用观察法、或试探法;当n 较大时,可按下列顺序进行 • 从只有一个0元素的行(列)开始,给这个0元素加圈,记作,然后 划去所在的列(行)的其它0元素,记作。 •给只有一个0元素的列(行)的0加圈,记作,然后划去所在行的0 元素,记作。
•反复进行,直到系数矩阵中的所有0元素都被圈去或划去为止。
若某事一定不能由某个人做,则可将相应的费用系数取做足够大的数
M。
例3:对于例2的指派问题,为了保证工程质量,经研究决定,舍 弃建筑公司A4和A5,而让技术力量较强的建设公司A1,A2,A3参加 招标承建,根据实际情况,可允许每家建设公司承建一项或二项工程。 求使总费用最少的指派方案。
工程 公司
B1 4 7 6
若人少事多,则添上一些虚拟的“人”。这些虚拟的人作各事的费用 系数可取0,理解为这些费用实际上不会发生。若人多事少,则添上一些虚 拟的“事”。这些虚拟的事被各人做的费用系数同样也取0。
• 一个人可做几件事的指派问题 若某个人可做几件事,则可将该人看做相同的几个人来接受指派。这 几个人作同一件事的费用系数当然都一样。 • 某事一定不能由某人作的指派问题
0 3 0 0 1 7 0 2 3 0 0 5 0 2 3
11 8 7 3 2 1 0 4 4 0
第四步:对上述矩阵进行变换,目的是增加独立0元素个数。方法是在 未被直线覆盖的元素中找出一个最小元素,然后在打“”行各元素中 都减去这一元素,而在打“”列的各元素都加上这一最小元素,以保 持原来0元素不变(消除负元素)。得到新的系数矩阵。(它的最优解 和原问题相同,为什么?因为仅在目标函数系数中进行操作)
B2 8 9 9
B3 7 17 12
B4 15 14 8
B5 12 10 7
A1 A2 A3
解:由于每家建筑公司最多可以承建两项,因此可把每家建筑公司看 成两家建筑公司,其系数矩阵为
B1 B 2 B3 B 4 B5 4 4 7 7 6 6 8 8 9 9 9 9 7 7 17 17 12 12 15 12 A1 A1' 15 12 14 10 A2 14 10 A2 ' 8 7 A3 8 7 A3'
0
Hale Waihona Puke 20 0 03 0 8 0
8 3 5 4 1 4
2 0 0 4 3
0 0 0 0 1
1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0
由解矩阵可得指派方案和最优值为32。
例2 某大型工程有五个工程项目,决定向社会公开招标,有五家 建筑能力相当的建筑公司分别获得中标承建。已知建筑公司Ai(I=1, 2,3,4,5)的报价cij(百万元)见表,问该部门应该怎样分配建造 任务,才能使总的建造费用最小?
3 0 0 8 0 0 6 3 6
元素的个数m=4,而n=5,进 行第三步。
第三步:作最少的直线覆盖所有的0元素,目的是确定系数矩阵 的下一个变换。
5 2 0 9 0
0 10
2 0 5 7
3 0 0 8 0 0 6 3 6
2 0 2 4 5
第五节 指派问题(Assignment Problem)
1. 标准指派问题的提法及模型 指派问题的标准形式是:有n个人和n件事,已知第i个人做第j件 事的费用为cij(i,j=1,2,…,n),要求确定人和事之间的一一对 应的指派方案,使完成这n件事的总费用最小。 设n2个0-1变量
1 若指派第i个人做第j件事 xij (i,j=1,2,…, n) 0 若不指派第i个人做第j件事
步4:继续变换系数矩阵,目的是增加独立0元素的个数。方 法是在未被直线覆盖的元素中找出一个最小元素,然后在打“” 行各元素中都减去这一元素,而在打“”列的各元素都加上这 一最小元素,以保持原来0元素不变(为了消除负元素)。得到新 的系数矩阵,返回步2。 以例说明匈牙利法的应用。
例1:求解效率矩阵为如下的指派问题的最优指派方案。
也就是说,最优指派方案为:让A1承建B3, A2承建B2,A3承建B1, A4承建B4,A5承建B5。这样安排建造费用为最小,即
7+9+6+6+6=34(百万元)
3. 一般的指派问题
在实际应用中,常会遇到各种非标准形式的指派问题。通常的处理方 法是先将它们转化为标准形式,然后用匈牙利解法求解。
• 最大化指派问题 设最大化指派问题系数矩阵C中最大元素为m。令矩阵B=(bij)=(m-cij), 则以B为系数矩阵的最小化指派问题和以C为系数矩阵的原最大化指派问题 有相同的最优解。 • 人数和事数不等的指派问题
0 3 1 0 1 1 0 0 0 2 1 0 0 1 1
0 11 8 6 6 2 2 1 0 5 0 4 3 4 0
1 0 0 1 1
3 0 11 8 0 6 6 2 1 2 1 0 0 5 0 4 2 3 4 0
0 3 0 0 1 7 0 2 3 0 0 5 0 2 3
11 8 7 3 2 1 0 4 4 0
11 8 7 3 2 1 0 4 4 0
元素的个数m=4,而n=5,进 行第三步。
第三步:作最少的直线覆盖所有的0元素,目的是确定系数矩阵 的下一个变换。
匈牙利解法的关键是指派问题最优解的以下性质:若从指派 问题的系数矩阵C=(cij)的某行(或某列)各元素分别减去一个 常数k,得到一个新的矩阵C’=(c’ij),则以C和C’为系数矩阵的两 个指派问题有相同的最优解。(这种变化不影响约束方程组,而 只是使目标函数值减少了常数k,所以,最优解并不改变。) 作变换,其不变性是最优解