码迷,mamicode.com
首页 > 其他好文 > 详细

第五章上机实验

时间:2018-12-23 19:31:55      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:+=   track   一个人   rac   跳过   题目   不同   highlight   wap   

1. 实践题目 :

  工作分配问题

 

2. 问题描述 :

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

 

3. 算法描述 :

  1)解空间 : 其解空间为一颗排列树,类似于旅行售货员问题的解空间。

  2)解空间树 : 当n = 3时,其解空间树如下      

              (A)

                | 1   

              (B)

        2 /          3|         \ 4

        (C)         (D)       (E)

         3  /     \ 4     2 /  \ 4    2 /  \ 3

      (F)   (G)   (H)      (I)    (J)   (K)

        4 |    | 3    4 |      | 2    3 |      | 2

      (L)   (M)   (O)     (P)      (R)  (S)

(四)剪枝函数:

for(int i=t; i<=n; i++){
            if(bestf > nf){ //剪枝,仅当bestf > nf时才进入搜索,否则跳过
                nf += fee[t][flag[i]];
                swap(flag[t], flag[i]);
                Backtrack(t + 1);
                swap(flag[t], flag[i]);
                nf -= fee[t][flag[i]];
            }

        }

  

第五章上机实验

标签:+=   track   一个人   rac   跳过   题目   不同   highlight   wap   

原文地址:https://www.cnblogs.com/dalili/p/10165138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!