运筹学 指派问题(精选)
三类指派问题
三类指派问题1. 简介三类指派问题是运筹学中的一类经典问题,它的目标是找到一种最优分配方案,将若干个任务分配给若干个执行者,使得总体成本或效益达到最小或最大。
这类问题通常可以用线性规划模型来描述和求解。
三类指派问题包括: - 任务分配问题:将若干个任务分配给若干个执行者,使得总体成本最小或效益最大。
- 作业调度问题:将若干个作业安排在若干台机器上进行处理,使得总体完成时间最短或机器利用率最高。
- 设备调度问题:将若干个任务安排在若干台设备上进行处理,使得总体完成时间最短或设备利用率最高。
2. 任务分配问题2.1 模型描述假设有n个任务和n个执行者,每个任务只能由一个执行者完成,并且每个执行者只能处理一个任务。
每个任务与每个执行者之间都有一个成本或效益值。
我们的目标是找到一种分配方案,使得总体成本最小或效益最大。
可以使用二维数组C表示各任务与各执行者之间的成本或效益值,其中C[i][j]表示第i个任务分配给第j个执行者的成本或效益值。
定义一个二进制变量X[i][j],如果第i个任务分配给第j个执行者,则X[i][j]=1,否则X[i][j]=0。
任务分配问题可以用下面的线性规划模型来描述:minimize ∑(i=1 to n)∑(j=1 to n) C[i][j] * X[i][j]subject to∑(i=1 to n) X[i][j] = 1, for j = 1,2,...,n∑(j=1 to n) X[i][j] = 1, for i = 1,2,...,nX[i][j] ∈ {0, 1}, for i,j = 1,2,...,n2.2 求解方法常用的求解任务分配问题的方法有匈牙利算法和线性规划方法。
匈牙利算法是一种经典的图论算法,它通过构建增广路径来找到最优分配方案。
该算法的时间复杂度为O(n^3),适用于小规模问题。
线性规划方法则通过将任务分配问题转化为线性规划模型,并利用线性规划求解器进行求解。
运筹学__指派问题
•下面要证明M m. 如图假定覆盖所有0元素的m条直线 有r行、c列,m=r+c.
所有r行上不在j1,…,jc列上的0元 素个数≥ r,这些0元素至少有r个位
于不同列
同理:所有c列上不在i1,…,ir行上
j1 j2
的0元素个数≥c ,且这些0元素至
少有c个位于不同
i1 i2
ir jc
若上述两部分0个数总和为S,则S≥m;其中有m 个,又它们必无重复元素,彼此独立,则SM,故 有m≤M, 故可得M=m.
覆盖所有“0”元素的最少直线数 = 独立的“0”元素 的最多个数
推论1:覆盖所有“0”元素的直线数≥ 不同行不同列的“0”元素的最多个数(m)
推论2:覆盖所有“0”元素的最少直线数≥ 不同行不同列的“0”元素的个数
定理2说明: 1. 只要表中含有不同行或不同列的“0”元素,
都可以通过直线覆盖的方式来找到它们 2. 当覆盖直线的最少条数达到m条时,
(二)算法的基本原理 匈牙利数学家狄·康尼格(D·Konig)证明的两个定理
定理1 如果从指派问题效率矩阵[cij]的每一行元素中分别 减去(或加上)一个常数ui(被称为该行的位势), 从每一列分别减去(或加上)一个常数vj(称为该列的位势) 得到一个新的效率矩阵[bij], 若其中bij=cij-ui-vj,
一、指派问题的数学模型
(一)举例
例7: 有一份中文说明书, 要分别译成英、日、德、俄四种文字, 分别记作E 、 J 、 G 、 R ,交与甲、乙、丙、丁 四个人去完成. 因个人专长不同, 他们完成翻译不同语种的说明书所需的时间(h)如表所示. 应如何指派,使四个人分别完成这四项任务总时间为最小?
任务 人员
将其代入目标函数中得到zb=0,它一定是最小值。 ❖ 这就是以(bij)为系数矩阵的指派问题的最优解。
指派问题(经典运筹学)
1 1 c 11 2 c 21 … i c i1 … n c n1 2
c 12 c 22 ci2 cn2
…
1 2 3 4
6 20 10
21
25 14 0
5
x6
解:x i
1
2
0
不在第i个地区建站
i=1,2, …,6
Z表示全区消防站总数
2 6 1 x3 x4 1 s.t x3 x4 x5 1 x x x 1 4 5 6 x i 0 ,1 i 1, 2 , , 6
一、决策问题与0-1变量
决策变量
xi
x i 是否做第
i 件事 i 1, 2 , , n
1 0
做第i件事 不做第i件事
x1 x 2 x n k
n件事中必须做k件并只做k件事 n件事中最多做k件事 n件事中至少做k件事
x1 x 2 x n k x1 x 2 x n k
当n=4时, 有16变量,8个约束方程
例:现有4份工作,4个人应聘,由 于各人技术专长不同,他们承担 各项工作所需费用如下表所示, 且规定每人只能做一项工作,每 一项工作只能由一人承担,试求 使总费用最小的分派方案。
工作
Z表示总费用
max Z 3 x11 5 x12 4 x13 5 x14 6 x 21 7 x 22 6 x 23 8 x 24 8 x 31 9 x 32 8 x 33 10 x 34 10 x 41 10 x 42 9 x 43 11 x 44
最新运筹学--第4章-运输问题和指派问题精品文档
i 1
j 1
i1 j1
n
xij ai
(i 1, 2,
,m)
(产 量 约 束 )
j1
m
s.t. xij b j ( j 1, 2, , n ) (销 量 约 束 )
i1
x
ij
0
(i 1, 2,
, m ; j 1, 2,
, n)
RUC, School of Information ,Ye Xiang
例4.1的电子表格模型
RUC, School of Information ,Ye Xiang
4.2 运输问题数学模型和电子表格模型
第4章 运输问题 和指派问题
需要注意的是:运输问题有这样一个性质 (整数解性质),只要它的供应量和需求 量都是整数,任何有可行解的运输问题必 然有所有决策变量都是整数的最优解。因 此,没有必要加上所有变量都是整数的约 束条件。
i1
x
ij
0
(i 1, 2 ,
, m ; j 1, 2 ,
, n)
RUC, School of Information ,Ye Xiang
4.2 运输问题数学模型和电子表格模型
第4章 运输问题 和指派问题
对于例4.1,其数学模型如下: 首先,三个产地A1、A2、A3的总产量为7+4+9=20;四 个销地B1、B2、B3、B4的总销量为3+6+5+6=20。由 于总产量等于总销量,故该问题是一个产销平衡的运输问 题。
例4.3 某公司从两个产地A1、A2将物品运往 三个销地 B1、B2、B3,各产地的产量、各 销地的销量和各产地运往各销地每件物品的 运费如表4-6所示。问应如何调运,可使得 总运输费最小?
表4-6 例4.3的运输费用表
运筹学指派问题
工程 公司
B1
B2
B3
B4
B5
A1 4 8 7 15 12
A2 7 9 17 14 10
A3 6 9 12 8 7
解:由于每家建筑公司最多可以承建两项,因此可把每家建筑公司看成两家建 筑公司,其系数(xìshù)矩阵为
第十七页,共21页。
B1 B 2 B 3 B 4 B 5
4 8
4
8
7 9
7
9
B1 B 2 B 3 B 4 B 5 B 6
4 8
4
8
7 9
7
9
6 9 6 9
7 15 12 0 A 1
7
15
12
0
A1'
17 14 10 0 A 2
17
14
10
0
A2'
12 8 7 0 A 3
12 8 7 0 A 3 '
然后,用匈牙利解法求解(qiú jiě)。可得费用最省为4+7+9+8+7=35(百万元)
第五页,共21页。
步4:继续变换系数矩阵,目的(mùdì)是增加独立0元素的个数。方法是在 未被直线覆盖的元素中找出一个最小元素,然后在打“✓”行各元素中都减去 这一元素,而在打“✓”列的各元素都加上这一最小元素,以保持原来0元素不 变(为了消除负元素)。得到新的系数矩阵,返回步2。
以例说明匈牙利法的应用。
第十九页,共21页。
谢谢(xiè xie)各位的聆 听
第二十页,共21页。
第四页,共21页。
•步3:作最少数目的直线,覆盖所有0元素(目的是确定(quèdìng)系数矩阵的下一个变 换),可按下述方法进行 •1) 对没有的行打“”号; •2) 在已打“”号的行中,对 所在列打“” •3)在已打“”号的列中,对所在的行打“”号; •4)重复2)3),直到再也找不到可以打“”号的行或列为止; •5)对没有打“”的行划一横线,对打“”的列划一纵线,这样就得到覆盖所有0元 素的最少直线数。
运筹学指派问题课件
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
运筹学-指派问题
人 甲
9
4
3
7
人 乙 人 丙
4 5
6 4
5 7
6 5
人 丁
7
5
2
3
人 戊
10
6
7
4
虚拟一个工作E,每个人完成E 时间为0,用匈牙利方法求解
事A 事B 事C 事D 事E
最优解: 甲 乙 丙 丁 C A B D E
人 甲
人 乙 人 丙 人 丁 人 戊
9
4
370Fra bibliotek4 5
6 4
5 7
6 5
0 0
7 10
5 6
有
表 示 “ 确 定 ”
的列 表示下岗工人善长作的事情
事A 事B 5 0第2步(1) 2 第2列仅1个 零,划甲B 3 10 0
第五章:0 -1整数规划
表示“不考虑”
事D 事E 事C
第三步(5) 对没有 的行划线
人 甲
0
2
对有 的1 列划线 这样覆盖了 所有的零元 素
第三步:对没有 画圈 的第5行 加 ;对已加 的行中的零元素 所在第1列加
表示戊适合作这 列确定的事A 对加 的列中有 颜色 的元素所 在第3行加 表 示
人 丁
0第二步 (4)第3 列仅2个 零,划丁C 3
0
4
人 戊
0
6
6
5
A事所确定的人
丙只合适一件事情 A,确定 丙A
事情B 只合适一个 人甲,确定甲B
人 丁
9
人 戊
0
6没有覆盖
6没有覆盖
运筹学 指派问题
ij
ij
cij xij i xij j xij
ij
i
j
j
i
z i j
i
j
即z和 z’只相差一个常数,故它们有相同的最优解.
• 利用这个性质,可使原效率矩阵变换为含有很
多0元素的新效率矩阵,而最优解保持不变,在
效率矩阵(bij)中,我们关心位于不同行不同列
(显然z(x*)=0)
0*
如效率矩阵为
9
23
14 20 0*
9 0* 3
3 23 8
令(
xij
)
1 0 0
0 0 1
0 1 0
0
0
则xij是最 优解
0
0
12 14 0* ,
0 0 0 1
因此需对效率矩阵作变换,使变换后效率矩阵 (bij )nn
可行解矩阵
n
xij 1, j 1, 2, , n ②
i1
表明各列之和为1 。
n
xij 1, i 1, 2, , n ③
j1
表明各行之和为1 。
满足约束条件②~④的可行解xij构成的可行解矩阵,
矩阵中有n个为1,其余都为0,而且这n个1必位于矩阵的不
同行不同列上。对应于可行解xij的目标值是这n个cij之和.
如
2
3
0*
0
0
条位,于不同行不同列的”0”元素
0 * 10
5
7
2
的最大个数也为4.
9 8 0 0* 4
运筹学指派问题实验报告书
运筹学指派问题实验报告书运筹学实践报告指派问题第⼀部分问题背景泰泽公司(Tazer)是⼀家制药公司。
它进⼊医药市场已经有12年的历史了,并且推出了6种新药。
这6种新药中5种是市场上已经存在药物的同类产品,所以销售的情况并不是很乐观。
然⽽,主治⾼⾎压的第6种药物却获得了巨⼤的成功。
由于泰泽公司拥有⽣产治疗⾼⾎压药物的专利权,所以公司并没有遇到什么竞争对⼿。
仅仅从第6种药物中所获得的利润就可以使泰泽公司正常运营下去。
在过去的12年中,泰泽公司不断地进⾏适量的研究和发展⼯作,但是却并没有发现有哪⼀种药物能够获得像⾼⾎压药物⼀样的成功。
⼀个原因是公司没有⼤量投资进⾏创新研究开发的动⼒。
公司依赖⾼⾎压药物,觉得没有必要花费⼤量的资源寻找新药物的突破。
但是现在泰泽公司不得不⾯对竞争的压⼒了。
⾼⾎压药物的专利保护期还有5年1。
泰泽公司知道只要专利期限⼀到,⼤量药品制造公司就会像秃鹰⼀样涌进市场。
历史数据表明普通药物会降低品牌药物75%的销售量。
今年泰泽公司投⼊⼤量的资⾦进⾏研究和开发⼯作以求能够取得突破,给公司带来像⾼⾎压药物⼀样的巨⼤成功。
泰泽公司相信如果现在就开始进⾏⼤量的研究和开发⼯作,在⾼⾎压药物专利到期之后能够发明⼀种成功药物的概率是很⾼的。
作为泰泽公司研究和开发的负责⼈,你将负责选择项⽬并为每⼀个项⽬指派项⽬负责⼈。
在研究了市场的需要,分析了当前药物的不⾜并且拜会了⼤量在有良好前景的医药领域进⾏研究的科学家之后,你决定你的部门进⾏五个项⽬,如下所⽰:1⼀般来说,专利权保护发明的期限为17年。
在1995年,GATT⽴法拓展专利权的保护期限到20年。
在本案例之中,泰泽公司的⾼⾎压药物的注册时间是在1995年之前,所以专利权只能够保护这种药物17年。
Up项⽬:开发⼀种更加有效的抗忧郁剂,这种新药并不会带来使⽤者情绪的急剧变化。
Stable项⽬:开发⼀种治疗躁狂抑郁病的新药。
Choice项⽬:为⼥性开发⼀种副作⽤更⼩的节育⽅法。
运筹学 指派问题课件 PPT
效率表
工厂1 工厂2
58 75
69 50
180 150
260 230
工厂3 工厂4
65 82
70 55
170 200
250 280
2
返回总目录
例1 某公司拟将四种新产品配置到四个工厂生产,四 个工厂的单位产品成本(元/件)如下表所示。求最 优生产配置方案使得单位产品成本总和为最小。
15
返回总目录
第三步:用最少的直线覆盖所有0:
0 0 11 22 22 25 25 0 0 0 0 0 5 5 5 27 27 0 45 45 6 17 17 0 30 0 0 0 0 0 0 0 0 45 45 32 6 17 17 0 0 0 0 0 0 0 45 45
回到第三步,用最少的直线覆盖所有0。 此时最少直线数=4,表明矩阵中存在4个不同行不 同列的零元素,于是得到最优解。 第五步:找出4个独立的0元:
( 0 ) 30 0 32 6 17 17 0 ( 0) 0 0 0 ( 0 ) (0 ) 45 45 ( 0 ) 30 0 32 6 17 17 0 0 ( 0 ) 0 ( 0) 0 (0 ) 45 45
x14 x24 x34 x44
工厂2 x21 工厂3 x31 工厂4 x41
1 1 1 1
1
1
1
1
产品1 产品2 产品3 产品4
工厂1 工厂2 工厂3 工厂4 58 75 65 82 69 50 70 55 180 150 170 200 260 230 250
5280
返回总目录
数学模型 匈牙利算法 其他变异的指派问题
运筹学_指派问题
(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 ②
指派问题的最优解有这样性质,若从效率矩 阵(cij)的一行(列)各元素中分别减去该行(列)的 最小元素,得到新矩阵(bij),那么以(bij)为效率 矩阵求得的最优解和用原效率矩阵求得的最优解 相同 。即 定理2 设给定了以C = (cij)为效率矩阵指派问题G, 现将C的元素cij 改变为 bij cij i j , i 与 j 为常数 则以B= ( bij )为效率矩阵指派问题G’与G有相同的最 优解。
第四节 指 派 问 题
assignment problem
在生活中经常遇到这样的问题,某 单位需完成n项任务,恰好有n个人可承 担这些任务。由于每人的专长不同,各 人完成任务不同(或所费时间),效率也 不同。于是产生应指派哪个人去完成哪 项任务,使完成n项任务的总效率最高 (或所需总时间最小)。这类问题称为指 派问题或分派问题。
行列都有 零元素
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” 元素的最大个数.
如
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
运筹学整数规划指派问题
4 8 7 15 12 -4 7 9 17 14 7 -7
0 4 3 11 8 0 2 10 7 3
C
6
9 12
6
10
-6
0
3
6
2
1
6 7 14 8 10 -6
0 1 8 0 4
6
9
6
10
8
-6
0
3
6
4
0
-1 -3
✓
0 0
3 1
0 7
11 7
8 3
✓
C1
0
2
3
2
1
✓
0 0 5 0 4
这样安排能使总的建造费用最少,总的建造费用为 7+9+6+6+6=34(万元)。
三 非标准形式的指派问题
处理方法:化成标准形式,再按匈牙利方法求解。 ⒈ 目标函数最大化指派问题
例 有4名工人A1,A2,A3,A4分别操作4台机床B1,B2,B3,B4。每 人操作每台机床的单位产量见下表。求产值最大的指派方案。
在遇到所有行和列中,零元素都不止一个时,可任选其中 一个加圈,然后划去同行、同列其他未被标记的零元素。
例
5 0 2 0
C
2 0 0
3 0 8
0 6 0
0
7 0
步骤3: 若矩阵所有零元素都被标记的,但圈零的个数m < n , 作最少直线覆盖当前零元素。
已知5家建筑公司承建5家商店系数矩阵
⒈变换系数矩阵
0 0 0 0 1
X
*
0
0
0
1
0
0 1 0 0 0
0
0
1
0