变换指派问题的匈牙利法1、使各行各列中都出现 0 元素,每行元素都减去该行的最小元素;每列元素中减去该列的最小元素。2、从只有一个 0 元素的行开始,给该行中的 0 元素加圈。然后划去所在列的其它 0 元素,记作 ,依次进行到最后一行。从只有一个 0 元素的列开始(画 的不计在内) ,给该列中的 0 元素加圈;然后划去所在行的 0 元素,记作 ,依次进行到最后一列。若仍有没有划圈的 0 元素,且同行(列)的 0 元素至少有两个,比较这行各 0 元素所在列中 0 元素的数目,选择性少的。然后划掉同行同列的其它 0 元素。可反复进行,直到所有 0 元素都已圈出和划掉为止。3、对没有的行打“” ;对已打“”的行中所有含 元素的列打“” ;再对打有“”的列中含元素的行打“” 。4、对没有打号的行画横线,有打号的列画纵线,这就得到覆盖所有 0 元素的最少直线数。5、在没有被直线通过的所有元素中找出最小值,没有被直线通过的所有元素减去这个最小元素;直线交点处的元素加上这个最小值。6、再画圈,重复。匈牙利法的几种特殊情况1、最大化指派问题选择最大元素 m, 变换效率矩阵为 ,最大化问题转化成最小化指派问题。ijijcmb2、人数和工作数不等增加虚拟的人或工作。3、一个人可以做几件工作把这“一个人”拆成(复制)成“几个人”去处理。