正在加载图片...
利用这个性质,可以使原效率矩阵变换为含有多个0元素的新 效率矩阵,而最优解不变。在新的效率矩阵中如果能找到个不同 行且不同列的0元素,则可以令它们对应的等于1,其它等于0, 显然,该解一定是最优解。这就是匈牙利算法的基本思想。 具体步骤如下:· 第一步变换效率矩阵,使各行各列都出现0元素。 1°效率矩阵每行元素都减去该行最小元素; 2°效率矩阵每列元素都减去该列最小元素。 第二步圈出不同行且不同列的0元素,进行试指派。 1°(行搜索)给只有一个0元素的行中的0画圈,记作 “◎”,并划去与其同列的其余0元素: 2°(列搜索)给只有一个0元素的列中的0画圈,记作 “@”,并划去与其同行的其余0元素; 3°反复进行1°、2°,直至所有0元素都有标记为止。 4°若行(列)的0元素均多于一个,则在0元素最少的行(列) 中选定一个0元素,标“回”,并划去与其同行同列的其余0元素。 5°若不同行且不同列的“回”已达个,则令它们对应的 1,其余0,已得最优解,计算停,否则转第三步。利用这个性质,可以使原效率矩阵变换为含有多个0元素的新 效率矩阵,而最优解不变。在新的效率矩阵中如果能找到n个不同 行且不同列的0元素,则可以令它们对应的xij等于1,其它xij等于0, 显然,该解一定是最优解。这就是匈牙利算法的基本思想。 具体步骤如下: 第一步 变换效率矩阵,使各行各列都出现 0 元素。 1°效率矩阵每行元素都减去该行最小元素; 2°效率矩阵每列元素都减去该列最小元素。 第二步 圈出不同行且不同列的 0 元素,进行试指派。 1°(行搜索)给只有一个0 元素的行中的0 画圈,记作 “◎”,并划去与其同列的其余0元素; 2°(列搜索)给只有一个0 元素的列中的0 画圈,记作 “◎”,并划去与其同行的其余0元素; 3°反复进行1°、2°,直至所有0元素都有标记为止。 4°若行(列)的0元素均多于一个,则在0元素最少的行(列) 中选定一个0元素,标“◎”,并划去与其同行同列的其余0元素。 5°若不同行且不同列的 “◎”已达n个,则令它们对应的xij =1,其余xij =0,已得最优解,计算停,否则转第三步
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有