工作多于人数的指派问题  

  设人数m,工作数n,且n-m>0。

  1. n/m=k为整数时,需要每人完成k项工作任务。

   变形的指派问题

  解:甲和乙每人分配2项工作,故一个人要当两个人用。在分配矩阵中可以把这两个人每行数据复制成两行,再利用经典指派问题算法进行计算

  为什么要利用经典算法?——理由是经典算法已经有成熟高效的计算方法和数学软件。

  过程如下:

  1. 每行减去该行最小数。

  变形的指派问题

  2. 每列减去该列最小数。

  变形的指派问题

  3. 试分配。

  变形的指派问题

  变形的指派问题

  计算的最终结果即:

  变形的指派问题

  甲分配到工作A和B

  乙分配到工作E

  丙分配到工作D和C。

  故最小成本(目标)为:Z=7+5+9+4+6=31

  2. n/m=k不为整数时,需要每人完成[k]项或[k]+1工作任务。

  由于每个人最多可能承担[k]+1项工作任务,分配矩阵每行复制成[k+1]行。

  变形的指派问题

  1. 构造初始矩阵。

  变形的指派问题

  2. 每个人限制最多做一项虚拟工作。

  变形的指派问题

  3. 每行减去最小数。

  变形的指派问题

  4. 每列减去最小数。

  变形的指派问题

  5. 试分配。

  变形的指派问题

  6. 匈牙利法。

  变形的指派问题变形的指派问题

  变形的指派问题变形的指派问题

  变形的指派问题

  最小未覆盖数为4

  变形的指派问题

  7. 调整费用矩阵,再次试分配。

  变形的指派问题变形的指派问题

  最后,

  变形的指派问题

  甲分配到工作B

  乙分配到工作A

  丙分配到工作C和D

  最小总费用为:Z=5+9+(4+6)=24

  

 

相关文章: