第五章实践

Posted rejay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第五章实践相关的知识,希望对你有一定的参考价值。

  1. 实践题目 :工作分配问题
    1. 问题描述:设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。
    2. 算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述)

这道题就是旅行售货员问题的同类

技术分享图片

 

 

第一个判断条件是访问到最后一个人时与当前最优解进行比较

第二个是如果当前解大于当前最优解则不需要继续访问,可以减少时间(做的时候是>号,发现>=可能更好)

第三个判断当前任务是否被分配。

 技术分享图片

 

第n层表示第n个人的选择

  1. 心得体会(对本次实践收获及疑惑进行总结)

回溯法的精髓在于剪枝,那就需要约束函数或限界函数去实现。这道题设一个一维数组表示任务的选择情况我觉得是这道题的核心。

结对编程讨论这些限界条件会有比较大的争议,大家按照自己方法做出来再讨论比较有效率。

以上是关于第五章实践的主要内容,如果未能解决你的问题,请参考以下文章

python 入门到实践第五章课后练习

Python编程:从入门到实践——作业——第五章作业

《Python从入门到实践》--第五章用if语句 课后练习

第五章实践

第五章上机实践

第五章实践