利用最大元素求解最大化指派问题

时间:2022-09-03 09:16:25

利用最大元素求解最大化指派问题

【摘要】针对指派问题中最小化问题的匈牙利解法,通过最大元素法来处理最大化指派问题.

【关键词】指派问题;匈牙利法;最小元素;最大元素

【中图分类号】0223

【文献标识码】A

1.指派问题的数学模型

求解n个资源分配到n个任务的活动中,为使得总成本最小,如何完成对资源的分配.

设Cij为分配资源i到j任务所消耗的成本,则:

Minz=∑n[]i=1∑n[]j=1cijxij.其中xij=0 i资源不给 j活动,

1 i资源分给 j活动,i=1,2,…,n,j=1,2,…,n.

∑n[]i=1xij=1(j=1,2,…,n) ∑n[]j=1xij=1(i=1,2,…,n)

2.匈牙利法处理指派问题的基本步骤

(1)使指派问题的系数矩阵在各行各列都出现0元素.①从系数矩阵的每行都减去该行的最小元素.②再从系数矩阵的每列减去该列的最小元素.

(2)若效率矩阵的行列数为n,想办法找到n个不同行,不同列的0元素,即n个独立的0元素,用最少的直线将所有的0元素划去,若直线数量刚好等于n个,则n个独立的0元素就找到,否则就转入下一步.

(3)在直线没有划去的元素中,选一个最小的,在没有划去的元素的各行中均减去这个最小元素,为保持原来的0元素不变,在0元素对应的列中加上该元素.

3.最大化问题的两种处理方法

(1)将最大化问题转化为最小化问题,设原来的效益矩阵为C=(Cij),我们可以作一个新的效益矩阵C′=M-Cij,这里M比C中的最大元素要大,则C′的最小指派即为C的最大指派.

(2)直接在每行或每列中减去该行列的最大元素,然后在效益矩阵中找到n个独立的0元素,这里的0元素即是最大元素,注意n个独立的0元素所在位置是处在不同行、不同列的位置,一旦找到n个独立的0元素,也就找到对应的最大指派.

4.基本案例分析

假定有四项工作A1,A2,A3,A4要分配到四部机器B1,B2,B3,B4上,其产生的效益如下表所示.问如何分配工作效益最好.

[]B1[]B2[]B3[]B4

A1[]11[]8[]6[]9

A2[]3[]5[]2[]3

A3[]8[]7[]1[]5

A4[]4[]5[]4[]7

(1) 方法一

对于效益矩阵C=11[]8[]6[]9

3[]5[]2[]3

8[]7[]1[]5

4[]5[]4[]7

,C′=12-C=1[]4[]6[]3

9[]7[]10[]9

4[]5[]11[]7

8[]7[]8[]5

则C′的最小化解即为C的最大化解.通过寻求C′的最小解得到C的最大解.

最优决策方案为:X11=X23=X32=X44=1,最大收益为:maxS=∑4[]i=1∑4[]j=1cijxij=11+2+7+7=27.

(2) 方法二

直接利用最大元素来处理,对于效益矩阵C=11[]8[]6[]9

3[]5[]2[]3

8[]7[]1[]5

4[]5[]4[]7

,我们作如下变换:

11[]8[]6[]9

3[]5[]2[]38[]7[]1[]54[]5[]4[]7

-11-5-8-7

0[]-3[]-5[]-2

-2[]0[]-3[]-2

0[]-1[]-7[]-3

-3[]-2[]-3[]0

+30[]-3[]-2[]-2

-2[]0[]0[]-2

0[]-1[]-4[]-3

-3[]-2[]0[]0

+1+1

(0)[]-2[]-1[]-1

-3[]0[](0)[]-2

0[](0)[]-3[]-2

-4[]-2[]0[](0)

-1

最优决策矩阵为:1[]0[]0[]0

0[]0[]1[]00[]1[]0[]00[]0[]0[]1

.

最优决策方案为:X11=X23=X32=X44=1,最大收益为:maxS=∑4[]i=1∑4[]j=1cijxij=11+2+7+7=27.

5.结束语

从以上两种方法的比较我们可以看出,用最大元素来处理这类问题,就不必建立新的系数矩阵,所以在编写程序时,可以用实参代替形象的方法,用同一段代参数的程序去解决最大化、最小化两个不同的问题.

【参考文献】

[1]罗荣桂.新编运筹学题解[M].武汉:华中科技大学出版社,2002.

[2]胡运权.运筹学基础与应用[M].北京:高等教育出版社,2004.

[3]程丛电,唐恒永.一类资源分配与排序问题[J].数学实践与认识,2006(1).

上一篇:一类四边形问题的解题策略 下一篇:例说运用线性规划思想解二元函数最值问题