代码改变世界

算法第5章上机实践

2018-12-24 19:45  WallWallWall  阅读(58)  评论(0编辑  收藏  举报

1.实践题目 :工作分配问题

2.问题描述:设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。

3.算法描述:剪枝后的解空间树如下

 

所以解空间有(10,3,5),(10,4,4),(2,2,5),(2,4,3),(3,2,5),(3,3,3)

剪枝:运行当前的总费用大于理想最优总费用时即回溯,且先前选过的工作在这个路径不会再被选。

4.心得体会:

在剪枝的时候因为最优解部分难以解决导致了整个问题最后的拖沓,在回溯的解答中,我认为剪枝部分是最为重要也是最为值得推敲的部分。