数学建模指派问题201105

合集下载

指派问题

指派问题

-2 -4 -9 -7
0 13 11 6 0 10 0 5 7 0 1 4
-4
2 11 4 2
-2
x14 1, x22 1, x31 1, x43 1
其余全为0。
步骤2:用圈0法确定 C1 中的独立0元素。若独立零元素个 素有n个,则已得最优解。若 独立零元素的个数 < n, 则转
min Z 4x11 8x12 10x54 6x55
5 xij 1 i 1,2, 5 j5 1 s.t. xij 1 j 1,2, 5 i 1 xij 0 或1
B1
B2
B3
B4
B5
C
A1 4 A2 7 A3 6 A4 6 A5 6
入步骤3。
在只有一个0元素的行(或列)加圈,表示此人只能做该事
(或此事只能由该人来做),每圈一个“0”,同时把位于同 列(或同行)的其他零元素划去。表示此时已不能再由他
人来做(或此人已不能做其它事)。如此反复,直到矩阵
中所有零元素都被圈去或划去为至。
在遇到所有行和列中,零元素都不止一个时,可任选其中
注:指派问题是一种特殊的LP问题,是一种特殊的运输问题。 下用目前认为最简洁的方法—匈牙利法求解 (The Hungarian
Method of Assignment )。
例12:某商业公司计划开办五家新商店。为了尽早建成
营业,商业公司决定由5家建筑公司分别承建。已知建筑
公司 Ai (i 1,2,,5) 对新商店 B j ( j 1,2,,5) 的建造 报价(万元)为 cij (i, j 1,2,,5) ,见下矩阵。商业公 司应当对5家建筑公司怎样分配建筑任务,才能使总的建 筑费用最少?

数学建模指派问题论文

数学建模指派问题论文

目录一问题重述 (2)二模型假设 (2)三匈牙利法陈述 (2)四问题分析 (3)五问题实现 (5)1问题重述 (5)2 问题求解 (5)2.1由匈牙利法构造目标函数 (5)2.2模型建立 (6)3 模型解析 (6)4 程序实现 (7)六结果显示及min求解 (17)七模型深入 (17)1 模型建立 (18)2 进行求解 (18)3程序分析 (20)八模型检验 (20)九整体总结 (20)十参考文献 (21)一问题重述指派问题亦称平衡指派问题仅研究人数与事数相等、一人一事及一事一人的情形。

现有的不平衡指派问题将研究范围扩大到人数与事数可以不等、一人一事或一人多事及一事一人的情形。

日常活动中也不乏人数与事数可以不等、一人多事及一事多人的情形,这类事务呈现了广义指派问题的实际背景。

平衡指派问题是特殊形式的平衡运输问题,可运用匈亚利法、削高排除法和缩阵分析法等特殊方法求解。

另一方面,正是平衡指派问题的这种特殊性,使得不平衡指派问题不能按常规技术转化为平衡指派问题。

因此,各种不平衡指派问题需要确立相应的有效解法1问题的提出及其数学模型广义指派问题并非奇特和抽象的构想,相反,该问题可以从司空见惯的日常事务中引出。

现在我们就运用匈牙利法,去实现n个人,n件工作的指派问题。

二模型假设1 假设一共有n个人,n件工作,即人数与工作数相等。

2 假设每个人的都能从事某项工作,但是付出的代价不同。

3 假设求解代价最小的解。

4甲乙丙丁四个人,ABCD四项工作,要求每人只能做一项工作,每项工作只由一人完成,问如何指派总时间最短?三匈牙利法陈述第一步:找出矩阵每行的最小元素,分别从每行中减去这个最小元素;第二步:再找去矩阵每列的最小元素,分别从各列减去这个最小元素;第三步:经过这两步变换后,矩阵的每行每列至少都有了一个零元素,接着根据以下准则进行试指派,找出覆盖上面矩阵中所有零元素至少需要多少条直线;(1)从第一行开始,若该行只有一个零元素打上()号。

5.5 指派问题

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元素都被圈出和 划掉为止。

指派问题(经典运筹学)

指派问题(经典运筹学)
c 11 c 取 C 21 c n1 c 12 c 22 cn2 c1n c 2n c nn
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

指派问题详解

指派问题详解

第一章绪论1、指派问题的背景及意义指派问题又称分配问题,其用途非常广泛,比如某公司指派n个人去做n 件事,各人做不同的一件事,如何安排人员使得总费用最少?若考虑每个职工对工作的效率(如熟练程度等),怎样安排会使总效率达到最大?这些都是一个企业经营管理者必须考虑的问题,所以该问题有重要的应用价值.虽然指派问题可以用0-1规划问题来解,设X(I,J)是0-1变量, 用X(I,J)=1表示第I个人做第J件事, X(I,J)=0表示第I个人不做第J件事. 设非负矩阵C(I,J)表示第I个人做第J件事的费用,则问题可以写成LINGO程序SETS:PERSON/1..N/;WORK/1..N/;WEIGHT(PERSON, WORK): C, X ;ENDSETSDATA:W=…ENDDATAMIN=@ SUM(WEIGHT: C*X);@FOR(PERSON(I): @SUM(WORK(J):X(I,J))=1);@FOR(WORK(J): @SUM(PERSONM(I):X(I,J))=1);@FOR(WEIGHT: @BIN(X));其中2*N个约束条件是线性相关的, 可以去掉任意一个而得到线性无关条件.但是由于有N^2个0-1变量, 当N很大时,用完全枚举法解题几乎是不可能的. 而已有的0-1规划都是用隐枚举法做的,计算量较大. 对于指派问题这种特殊的0-1规划,有一个有效的方法——匈牙利算法,是1955年W. W. Kuhn利用匈牙利数学家D.König的二部图G的最大匹配的大小等于G的最小顶点覆盖的大小的定理提出的一种算法,这种算法是多项式算法,计算量为O(N3).匈牙利算法的基本原理是基于以下两个定理.定理1设C=(C ij)n×n是指派问题的效益矩阵,若将C中的任一行(或任一列)减去该行(或该列)中的最小元素,得到新的效率矩阵C’,则C’对应的新的指派问题与原指派问题有相同的最优解.证明:设X’是最优解, 即@SUM(WEIGHT: C*X’)<= @SUM(WEIGHT: C*X), 则当C中任一行或任一列减去该行或该列的最小数m时,得到的阵C’还是非负矩阵, 且@SUM(WEIGHT: C’*X’)<=@SUM(WEIGHT: C*X)-m=@SUM(WEIGHT: C’*X)定理2效率矩阵C中独立的0元素的最多个数等于覆盖所有0元素的最少直线数. 当独立零元素的个数等于矩阵的阶数时就得到最优解.3、理论基础定义:图G的一个匹配M是图G中不相交的边的集合. 属于匹配M中的边的所有端点称为被该匹配M饱和, 其他的顶点称为M-未饱和的. 如果一个匹配M 饱和了图G的所有顶点,则称该匹配M是一个完全匹配. 可见顶点数是奇数的图没有完全匹配. 一个匹配M称为是极大匹配, 如果它不能再扩张成更大的一个匹配. 一个匹配称为是最大匹配, 如果不存在比它更大的匹配.定义:对于一个匹配M, 图G的一个M-交替路是图G中的边交替地在M中及不在M中的边组成. 从M-未饱和点出发到M-为饱和点结束的M-交替路称为一条M-增广路. 把M-增广路中不是M中的边改成新的匹配M’中的边, 把M-增广路中M中的边不作为M’中的边, 在M-增广路以外的M中的边仍作为M’中的边, 则M’的大小比M大1. 故名M-增广路. 因此最大匹配M不存在M-增广路.定义:若图G和图H有相同的顶点集V, 我们称G和H的对称差,记为G∆H,是一个以V为顶点集的图, 但其边集是G和H的边集的对称差: E(G∆H)=E(G) ∆E(H)=E(G)⋂E(H)-(E(G)⋃E(H))=(E(G)-E(H)) ⋂ (E(H)-E(G))定理: (Berge, 1957) 图G的一个匹配M是最大匹配,当且仅当G中没有M-增广路.证明: 我们只要证明, G中没有M-增广路时, M是最大匹配. 用反证法, 若有一个比M大的匹配M’. 令G的一个子图F, E(F)=M∆M’, 因M和M’都是匹配, F的顶点的最大度数至多是2, 从而F由不相交的路和环组成, 它们的边交替地来自M和M’, 于是F中的环的长度是偶数. 由于M’比M大, F中存在一个连通分支,其中M’中的边数大于M中的边数. 这个分支只能是起始和终止的边都在M’中. 而这就是一条G中的M-增广路. 与假设矛盾. 证毕.定理(Hall, 1935)设G是一个二部图, X和Y是其二分集, 则存在匹配M 饱和X当且仅当对于X中的任意子集S, Y 中与S中的点相邻的点组成的集合N(S)中元素的个数大于等于集合S中元素的个数.证明:必要性是显然的. 对于充分性, 假设 |N(S)|≥|S|, ∀S⊂X, 考虑G的一个最大匹配M, 我们用反证法,若M没有饱和X, 我们来找一个集合S不满足假设即可. 设u∈X是一个M-未饱和顶点, 令S⊂X和T⊂Y分别是从u出发的M-交替路上相应的点.我们来证明M中的一些边是T到S-u上的一个匹配. 因为不存在M-增广路,T中的每个点是M-饱和的. 这意味着T中的点通过M中的边到达S中的一个顶点. 另外, S-u中的每个顶点是从T中的一个顶点通过M中的一条边到达的. 因此M 中的这些边建立了T与S-u的一个双射, 即|T|=|S-u|. 这就证明了M中的这些边是T到S-u上的一个匹配,从而意味着T⊂N(S), 实际上, 我们可证明T=N(S). 这是因为连接S和Y-T中的点y的边是不属于M的, 因为不然的话, 就有一条到达y的M-增广路, 与y∉T矛盾. 故|N(S)|=|T|=|S-u|=|S|-1<|S|, 与假设矛盾.当X与Y的集合的大小相同时的Hall定理称为婚姻问题,是由Frobenius(1917)证明的.推论: k-正则的二部图(X的每一点和Y的每一点相关联的二部图)(k>0)存在完全匹配.证明: 设二分集是X,Y. 分别计算端点在X和端点在Y的边的个数, 得k|X|=k|Y|, 即|X|=|Y|.因此只要证明Hall的条件成立即可. 使X饱和的匹配就是完全匹配. 考虑∀S⊂X, 设连接S与N(S)有m条边, 由G的正则性, m=k|S|. 因这m条边是与N(S)相关联的, m≤k|N(S)|, 即k|S|≤ k|N(S)|, 即|N(S)|≥|S|. 这就是Hall的条件.用求M-增广路的方法来得到最大匹配是很费时的. 我们来给出一个对偶最优化问题.定义:图G的一个顶点覆盖是集合S⊂V(G), 使得G的每条边至少有一个端点在S中. 我们称S中的一个顶点覆盖一些边, 若这个顶点是这些边的公共端点.因为匹配的任意两条边不能被同一个顶点覆盖, 所以顶点覆盖的大小不小于匹配的大小: |S|≥|M|. 所以当|S|=|M| 时就同时得到了最大的匹配和最小的顶点覆盖.定理(König [1931],Egerváry[1931])二部图G的最大匹配的大小等于G的最小顶点覆盖的大小.证明: 设M是G的任一个匹配, 对应的二分集是X,Y. 设U是一个最小的顶点覆盖, 则|U|≥|M|, 我们只要由顶点覆盖U来构造一个大小等于|U|的匹配即完成证明. 令R=U⋃X, T=U⋃Y, 令H, H’分别是由顶点集R⋂(Y-T)及T⋂(X-R)诱导的G的子图. 我们应用Hall的定理来证明H有一个R到Y-T中的完全匹配,H’有一个从T到X-R中的完全匹配. 再因这两个子图是不相交的, 这两个匹配合起来就是G中的一个大小为|U|的匹配.因为R⋂T是G的一个覆盖, Y-T与X-R之间没有边相联接. 假设S⊂R, 考虑在H中S的邻接顶点集N(S), N(S) ⊂Y-T. 如果|N(S)|<|S|, 因为N(S)覆盖了不被T覆盖的与S相关联所有边, 我们可以把N(S) 代替S作为U中的顶点覆盖而得到一个更小的顶点覆盖. U的最小性意味着H中Hall条件成立. 对H'作类似的讨论得到余下的匹配. 证毕.最大匹配的增广路算法输入: 一个二分集为X,Y的二部图G,一个G中的匹配M, X中的M-未饱和顶点的集合U.思路: 从U出发探求M-交替路,令S⊂X,T⊂Y为这些路到达过的顶点集. 标记S中不能再扩张的顶点. 对于每个x∈(S⋂T)-U, 记录在M-增广路上位于x前的点.初始化: S=U,T=∅.叠代: 若S中没有未标记过的顶点, 结束并报告T⋂(X-S)是最小顶点覆盖而M是最大匹配.不然, 选取S中未标记的点x, 考虑每个y∈N(x)且xy∉M, 若y是M-未饱和的, 则得到一个更大的匹配,它是把xy加入原来的匹配M得到的,将x从S中去除. 不然, y是由M中的一条边wy相连接的, w∈X, 把y加入T(也有可能y本来就在T中), 把w加入S. w未标记, 记录w前的点是y. 对所有关联到x的边进行这样的探索后, 标记x. 再次叠代.定理: 增广路算法可以得到一个相同大小的匹配和顶点覆盖.证明: 考虑这个算法终止的情况, 即标记了S中所有的点. 我们要证明R=T⋂(X-S)是大小为|M|的一个顶点覆盖.从U出发的M-交替路只能通过M中的边进入X中的顶点, 所以S-U中的每个顶点通过M与T中的顶点匹配, 并且没有M中的边连接S和Y-T. 一旦一条M-交替路到达x∈S, 可以继续沿着任何未饱和的边进入T, 由于算法是对于x的所有邻域顶点进行探索才终止的,所以从S 到Y-T 没有未饱和边. 从而S 到Y-T 没有边, 证明了R 是一个顶点覆盖.因为算法是找不到M-增广路时终止, T 的每一个顶点是饱和的. 这意味着每个顶点y ∈T 是通过M 匹配与S 中的一个顶点. 由于U ⊂S, X-S 的每个顶点是饱和的, 故M 中与X-S 相关联的边不和T 中的点相连接. 即它们与是饱和T 的边不同的, 这样我们可见M 至少有|T|+|X-S|条边. 因不存在一个比顶点覆盖更大的匹配, 所以有|M|=|T|+|X-S|=|R|.设二部图G 的二分集X 和Y 都是n 个元素的点集, 在其边j i y x 上带有非负的权ij w , 对于G 的一个匹配M, M 上各边的权和记作w(M).定义: 一个n ×n 矩阵A 的一个横截(transversal)是A 中的n 个位置, 使得在每行每列中有且只有一个位置(有的文献中把横截化为独立零元素的位置来表示).定义: 指派问题就是给定一个图G=n n K ,(完全二部图, 即每个X 中的顶点和Y 中的每个顶点有边相连接的二部图)的边的权矩阵A, 求A 的一个横截, 使得这个横截上位置的权和最大. 这是最大带权匹配问题的矩阵形式.定义: 对于图G=n n K ,,设其二分集是X ,Y ,给定G 的边j i y x 的n ×n 权矩阵W={ij w }.考虑G 的子图v u G ,, 设其二分集是U ⊂X ,V ⊂Y, 边集是E(v u G ,), 对于子图v u G ,的带权覆盖u,v 是一组非负实数{i u },{j v },使得ij j i w v u ≥+,)(,v u j i G E y x ∈∀, v u G ,的带权覆盖的费用是∑∑+j i v u 记为C(u,v), 最小带权覆盖问题就是求一个具有最小费用C(u,v)的带权覆盖u,v.引理: 若M ⊂E(v u G ,)是一个带权二部子图v u G ,的最大匹配, 且u, v 是v u G ,的带权覆盖, 则C(u,v)≥w(M). 而且, C(u,v)=w(M)当且仅当ij j i w v u =+,M y x j i ∈∀. 这时M 是v u G ,最大带权匹配, u,v 是v u G ,的最小带权覆盖, 定义这时的v u G ,为G 的相等子图(equality subgraph ).证明: 因为匹配M 中的边是不相交的, 由带权覆盖的定义就得C(u,v)≥w(M). 而且C(u,v)=w(M)当且仅当ij j i w v u =+,M y x j i ∈∀成立. 因一般地有C(u,v)≥w(M).所以当C(u,v)=w(M)时. 意味着没有一个匹配的权比C(u,v)大, 也没有一个覆盖的费用比w(M)小.Kuhn 得到一个指派问题的算法,命名为匈牙利算法, 为的是将荣耀归于匈牙利数学家König 和Egerv áry.指派问题的匈牙利算法(Kuhn[1955], Munkres[1957]):输入G=n n K ,的边的权矩阵A, 及G 的二分集X,Y.初始化: 任取一个可行的带权覆盖,例如)(max ij ji w u =,0=j v ,建立G 的相等子图v u G ,, 其二分集是X, Y ’⊂Y, 求v u G ,的一个最大匹配M. 这个匹配的权和w(M)=C(u,v), M 的带权覆盖是具有最小费用的.叠代: 如M 是G 的一个完全匹配, 停止叠代, 输出最大带权匹配M. 不然, 令U 是X 中的M-未饱和顶点. 令S ⊂X, T ⊂Y 是从U 中顶点出发的M-交替路到达的顶点的集合.令},:min{T Y y S x w v u j i ij j i -∈∈-+=ε.对于所有的S x i ∈, 将i u 减少ε, 对于所有的T y j ∈,将j v 增加ε,形成新的带权覆盖u ’,v ’及对应的新的相等子图v u G '',.如果这个新的相等子图含有M-增广路, 求它的最大匹配M ’, 不然不改变M 再进行叠代.定理: 匈牙利算法能找到一个最大权匹配和一个最小费用覆盖.证明: 算法由一个覆盖开始,算法的每个叠代产生一个覆盖,仅在相等子图有一个完全的匹配为止。

指派问题的数学模型

指派问题的数学模型

指派问题的数学模型
数学中有多种指派问题模型,以下是几个常见的:
1. 二分图匹配模型:将指派问题看作是二分图中的最大匹配问题。

将待分配的任务和接受任务的对象分别看作是二分图中的两个部分,将每个待分配任务和每个对象之间连一条边,并赋予权值表示在该情况下指派此任务给此对象的效果。

最终目标是找到一种方案,使得总权值最大。

2. 匈牙利算法:是解决二分图匹配问题的经典算法,能够在多项式时间内求解最大匹配问题。

3. 线性规划模型:将指派问题转化为线性规划模型,通过最小化或最大化某个目标函数的方式,得到满足约束条件的最优解。

4. 费用流模型:将指派问题看作是最小费用最大流问题,将待分配的任务看作源点,接受任务的对象看作汇点,建立相应的网络流模型,并加入相应的约束条件,通过找到最小费用最大流的方式得到最优解。

教师培训课件:数学建模中的指派

教师培训课件:数学建模中的指派
整数规划模型适用于解决任务分配、排班计划、机器调度等具有整数约束的优化问题。
在指派问题中,整数规划模型可以确保每个任务都由一个特定的人或机器完成,且每个任务只被分配一次。
非线性规划模型是在线性规划模型的基础上,将目标函数和约束条件扩展为非线性形式。
非线性规划模型适用于解决具有非线性特征的指派问题,如多目标优化、复杂系统设计等。
总结词
遗传算法是一种基于生物进化原理的优化算法,它通过模拟种群的遗传和进化过程来寻找最优解。在求解指派问题时,遗传算法能够处理大规模问题,并且在求解过程中能够自动调整搜索方向,具有一定的鲁棒性和全局搜索能力。
详细描述
06
案例分析
总结词
优化生产流程
详细描述
在生产调度中,指派问题通常涉及如何优化人员或机器的分配,以最小化生产成本、最大化生产效率。通过数学建模,可以找到最优的指派方案,减少生产过程中的浪费和延误。
通过概率和统计的方法,分析随机现象和不确定性问题。
通过线性规划的方法,优化资源配置和决策过程。
03
指派问题概述
01
02
任务和工人的数量可以相等或不等,每个工人完成特定任务的成本是已知的,目标是找到一种任务分配方案,使得总成本最小。
指派问题是指将一组任务分配给一组工人,使得每个工人完成各自任务的总成本最小化的问题。
拓展指派问题的应用领域
加强指派问题与其他优化问题的结合
推广指派问题的理论知识和应用技巧Leabharlann 教师培训课件数学建模中的指派
contents
目录
引言数学建模基础指派问题概述指派问题的数学模型指派问题的求解方法案例分析总结与展望
01
引言
指派问题在数学建模中具有广泛应用,如生产计划、任务分配、路线规划等。

指派问题

指派问题

0
0 8 3 5 0
11 8
0
0
4
0 4 1 4 3
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
0 1 0 0 0
0
0
1
0
0
解为: 0 0 0 0 1
0
0
0
1
0
1 0 0 0 0
指派问题 assignment problem
【例3】某汽车公司拟将四种新产品配置到四个工厂生产,四个 工厂的单位产品成本(元/件)如下表所示.求最优生产配置方 案.
匈牙利法的条件是:问题求最小值、人数与工作数相等及效率非负
匈牙利算法的步骤:
第一步:变换系数矩阵,使其每行每列都出现0元素。 首先每行减去该行最小数,再每列减去该列最小数。
2 15 13 4 -2
cij
10 9
4 14
14 16
15 13
-4 -9
7
8
11
9
-7
0 13 11 2
6 0 10 11
mm
min(max)Z
cij xij
i1 j1
m
xij
1
j1
m
xij
1
i1
xij
0或1
i 1,, m
j 1,, m i, j 1,m
分配模型的标准形
如果一个分配模型满足以下三个条件: 1)目标要求为min 2)系数矩阵(cij)为n阶方阵 3)系数矩阵中所有元素cij≥0,且为常数
④重复②、 ③,直到得不出新的打√号的行、列为止。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n n
,n
总成本最小
每项任务由一人完成 每人只承担一项任务
解矩阵的特征
• 全部元素仅取0或1 • 每行有且仅有一个1 • 每列有且仅有一个1
0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0
例如,n=5时, X xij Leabharlann 0 0
这样就找到 4个独立0
如果按自上而下从左到右顺序找
0 0 0 0 0 0 C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
55
性质
从原成本矩阵C的任一行(列)中各元素加(减)
一个常数,得到新的成本矩阵,则此两成本矩阵的
指派问题的最优解是相同的.
cij di 证明:设矩阵C的第i行对应的常数为di, cij
xij (cij di ) xij z di xij z di f cij
在C中找出最多独立0的步骤
• 设Wi表示第i行0的数目,Lj表示第j列0的数目.
• 1.统计Wi和Lj(i,j=1,2,…n).
• 2.按W1,W2,…,Wn,L1,L2,…,Ln顺序找出 第一个最小正数,选中该行(列)首个0. • 3.删除该0所在的行与列,对应的Wi=0,Lj=0. • 4.重复步骤1~3,直到全部Wi=0为止.
行指派, 即对应于这n个0元素的位置的xij=1,其 余位置的xij=0. 结束.
(3)当独立的0个数k<n时, 可用k条直线覆盖 全部0. 然后从未被覆盖的各元素中,选出最 小的元素a,把未被覆盖的各元素减去这个最 小元素,而两直线交叉处的元素加上这个最 小元素. (这种操作相当于:未被覆盖的行 都减a ,被覆盖的列都加a .)
这样只找到 3个独立0
画覆盖线的方法
• 刚才每个独立0,都画了两条线,把覆盖0 数目少的一条拿走,保留另一条.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(4)重复第(3)步, 直做到能在矩阵中找到n个 独立的0为止,这样就可以进行指派.
最大化指派问题
不平衡时的处理办法—虚拟法
• 前面讲的方法只适用于人数与任务数相等
• 当人数与任务数不相等时 • n----人数, m----任务数 • 若n>m,则虚拟n-m个任务,相应Cij=0 • 若n<m,则虚拟m-n个人,相应Cij=0 • 这样就化为人数与任务数相等的情况
0 C 0 0 0
0 0 0 0 0 0
0
0 0
0 0 0 0 0 0
j 1 i 1 n n
匈牙利数学家 康尼格(D.Konig)的定理
• 若在成本矩阵C中最多能找到k个独立0, 则必可画k条直线把C的全部0覆盖.
匈牙利法
• 步骤
(1)把成本矩阵的各行每一元素分别减去该行中的最 小元素,再检查每列中是否都有0,若不是,则把没
有0的列的每一元素分别减去该列中的最小元素. (2)如果能在矩阵中找到n个独立的0元素, 就可以进
设置变量: z………总成本
1 指派第i人做第j项任务 xij , i, j 1, 2, 0 不指派第i人做第j项任务
cij xij 数学模型 : m in z j 1 i 1 n xij 1, j 1,2 ,...,n i 1 n s .t . xij 1, i 1,2 ,...,n j 1 x 0 ,1 i , j 1,2 ,...,n ij
j 1 i 1 j 1 i 1 i 1 j 1 i 1 n n n n n n n
即f与z仅差一个常数, 所以两目标在相同的约束 条件下,最优解是相同的.
求解的思想方法
若利用以上性质,能把成本矩阵变换到存在n
个独立的0元素(在不同行不同列),且保持每个Cij 非负.这时让这n个0元素的位置对应的xij=1,其余 位置的xij=0,就得最优解.因为它是目标值为0的 可行解,且总有 z cij xij 0
• 这样,4条线就覆盖了全部0
0 0 0 0 0 0
0
0 0
0 0 0 0
0 0 0
0
0
0
相关文档
最新文档