1、Page 1分配问题与匈牙利法指派问题的数学模型的标准形式:设n 个人被分配去做n 件工作,规定每个人只做一件工作,每件工作只有一个人去做。已知第i个人去做第j 件工作的效率( 时间或费用)为Cij(i=1.2n;j=1.2n)并假设Cij 0。问应如何分配才能使总效率( 时间或费用)最高?设决策变量 ),.,2,1,(ji0 ji1 njixij 件事个人做第不指派第件事个人做第指派第Page 2分配问题与匈牙利法指派问题的数学模型为: ).2.1,1(0).2.1( 1).2.1( 1min111 1njixnjxnixxcZijniijnjijninjijij或取Page 3分配问题与匈
2、牙利法克尼格定理 :如果从分配问题效率矩阵aij的每一行元素中分别减去(或加上)一个常数ui,从每一列中分别减去(或加上)一个常数vj,得到一个新的效率矩阵bij,则以bij为效率矩阵的分配问题与以aij为效率矩阵的分配问题具有相同的最优解。Page 4分配问题与匈牙利法指派问题的求解步骤:1) 变换指派问题的系数矩阵(cij)为(bij),使在(bij)的各行各列中都出现0元素,即从(cij)的每行元素都减去该行的最小元素;再从所得新系数矩阵的每列元素中减去该列的最小元素。2) 进行试指派,以寻求最优解。在(bij)中找尽可能多的独立0元素,若能找出n个独立0元素,就以这n个独立0元素对应解
3、矩阵(xij)中的元素为1,其余为0,这就得到最优解。Page 5分配问题与匈牙利法找独立0元素,常用的步骤为:从只有一个0元素的行 , 该行中的0元素加 , 作。 去 所在列的其 0元素, 作 ;这 该列所的 已指派 ,不 再 别人 。 进行到最 一行。从只有一个0元素的列 ( 的不 在 ), 该列中的0元素加 , 作 ; 去 所在行的0元素, 作 , 人已有 ,不再为其指派其 。 进行到最一列。若 有 有 的0元素, 同行(列)的0元素 有个,这行各0元素所在列中0元素的数,0元素 这个0元素加 ( 多的currency1“ 的)。 同行同列的其 0元素。可fifl进行, 到所有0元素都已
4、 出 为。Page 6分配问题与匈牙利法若 元素的数m 矩阵的 数n(即:mn),这指派问题的最优解已得到。若m n, 则”一步。3) 用最 的 所有0元素。其 : 对 有 的行; 对已 的行中所有 元素的列 ; 再对有的列中 元素的行 ; fl 到得不出新的的行 列为; 对 有的行 ,有的列 ,这就得到所有0元素的最 数 l 。:l 应m,若不相, 试指派 有 , 到第2步, 行试指派;若 lm n, 不能 定最优指派 , 再变换 的系数矩阵,以找到n个独立的0元素,为 第4步。Page 7分配问题与匈牙利法4) 变换矩阵(bij)以 加0元素在 有被 的所有元素中找出最小 , 有被 的所有
5、元素减去这个最小元素; 的元素加上这个最小。新系数矩阵的最优解 问题 相同。 第2步。Page 8分配问题与匈牙利法4.6 有一 中 , ,分别 作A B C D。现有 人, 中 不同 的 所 时间如 所 ,问如何分派 ,可使总时间最 ?人A B C D 6 7 11 24 5 9 83 1 10 45 9 8 2Page 9分配问题与匈牙利法解:1)变换系数矩阵, 加0元素。2142289541013895421176)(ijc0673390245100954501733402401004542)试指派(找独立0元素) 17334241454 找到 3 个独立元素 m = 3 n = 4Page 10分配问题与匈牙利法3)作最 的 所有0元素 17334241454 独立元素的个数m最数l,即lm=3n=4;4) 有被 的元素中最小 为1,变换系数矩阵, 有被 的所有元素减去这个最小元素; 的元素加上这个最小 。得到新的矩阵,fl2)步进行试指派