算法第五章实践报告

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

  2. 问题描述                                                                                                                                                                                                                                                                     设有n件工作分配给n个人。为第i个人分配工作j所需的费用为c[i][j] 。试设计一个算法,计算最佳工作分配方案,为每一个人都分配1 件不同的工作,并使总费用达到最小。由于每个人都必须分配到工作,在这里可以建一个二维数组c[i][j],用以表示i号工人完成j号工作所需的费用。给定一个循环,从第1个工人开始循环分配工作,直到所有工人都分配到。为第i个工人分配工作时,再循环检查每个工作是否已被分配,没有则分配给i号工人,否则检查下一个工作。

  3. 算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述)                                                                                                                            

    剪枝:条件if(val+a[i][x[j]]<bestval) 运用约束函数 假设已遍历“10 3 5”这个枝,然后回溯,假如10+另外一个节点>10+3+5,即大于当前最优,则不用对它搜索,回溯下一枝

          

  4. 心得体会(对本次实践收获及疑惑进行总结)                                                                                                                                                                                                                  本次算法要我们理解剪枝,有点抽象,较难理解哈哈。

posted @ 2018-12-24 16:18  灬小小苏灬  阅读(143)  评论(0)    收藏  举报