批处理作业调度

 

 

 

 

Ø
 

tji

机器1

机器2

作业1

2

1

作业2

3

1

作业3

2

3

Ø3个作业的6种可能的调度方案是1,2,31,3,22,1,32,3,13,1,23,2,1
Ø 它们所相应的完成时间和分别是 19 18 20 21 19 19
Ø最佳调度方案是1,3,2,其完成时间和为18
 

void Flowshop::Backtrack(int i)

{

   if (i > n) {

     for (int j = 1; j <= n; j++)

       bestx[j] = x[j];

     bestf = f;

     }

  else

  for (int j = i; j <= n; j++) {

     f1+=M[x[j]][1];

     f2[i]=((f2[i-1]>f1)?f2[i-1]:f1)+M[x[j]][2];

     f+=f2[i];

     if (f < bestf) {

        Swap(x[i], x[j]);

        Backtrack(i+1);

        Swap(x[i], x[j]);

        }

     f1- =M[x[j]][1];

     f- =f2[i];

     }

}

 

 

Ø解空间:排列树
Ø复杂性:T(n)=O(n!)

Ø给定n个作业的集合{J1,J2,…,Jn}。每个作业必须先由机器1处理,然后由机器2处理。作业Ji需要机器j的处理时间为tji。对于一个确定的作业调度,设Fji是作业i在机器j上完成处理的时间。所有作业在机器2上完成处理的时间和称为该作业调度的完成时间和。
Ø批处理作业调度问题要求对于给定的n个作业,制定最佳作业调度方案,使其完成时间和达到最小。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值