首页 > 其他 > 详细

第五章上机实验报告

时间:2018-12-22 21:21:59      阅读:148      评论:0      收藏:0      [点我收藏+]

1.     实践题目及问题描述

工作分配问题;n件工作分配给n个人,为每一个人都分配1 件不同的工作,工作i分配给第j个人所需的费用为cij,设计一个算法,使总费用最小。

2.     算法描述

(1)     解空间

{<x11,x12…x1n>,<x21,x22…x2n>……<xn1,xn2…xnn>}

其中 <x11,x12…x1n>!=<x21,x22…x2n>!=…!= <xn1,xn2…xnn>

(2)     解空间树(n=3为例)

技术分享图片

 

(3)     剪枝方法描述

限界函数:当给所有人分配完工作后就返回

if(t == n+1){

          if(cost < best){

                 best = cost;

                 return;

          }

      }

约束函数:当前总费用大于记录的最少费用时回溯,不再往下遍历

if(cost < best){

                 distribution(t+1);

          }

swap(x[t],x[i]);

cost -=c[t][x[i]];

3.     心得体会

觉得这章的回溯法代码比较难理解,不怎么会打,但通过上机课多打对回溯法有了进一步的了解。然而还是存在疑惑,有些代码不知道是怎么回溯的,可能是之前学的调用方法还没学透。有待多练习。

 

第五章上机实验报告

原文:https://www.cnblogs.com/lyt823/p/10162293.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!