算法第5章上机实践

Posted on 2018-12-22 15:13  黄钦伟  阅读(108)  评论(0编辑  收藏  举报

1.实践题目

工作分配问题

2.问题描述

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

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

 

剪枝:每当分配完一个工作后,计算目前分配费用与前面分配完成后的总费用相比较,若小于,则继续分配 if(ls<findmin) search(n,k+1)。

约束函数:设置bool gz[20]={false},当第i个工作分配成功后,gz[i]=true。

解空间树:

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

对于回溯法有了更深的了解,回溯法按选优条件向前搜索,以达到目标,但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。