算法设计与分析 课件 7.8-回溯法 - 现象应用 - 排列树实现 - 批处理作业调度_第1页
算法设计与分析 课件 7.8-回溯法 - 现象应用 - 排列树实现 - 批处理作业调度_第2页
算法设计与分析 课件 7.8-回溯法 - 现象应用 - 排列树实现 - 批处理作业调度_第3页
算法设计与分析 课件 7.8-回溯法 - 现象应用 - 排列树实现 - 批处理作业调度_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

算法设计与分析回溯法—批处理作业调度信息工程大学国家级实验教学示范中心计算机学科组规划教材算法设计与分析Python案例详解微课视频版问题描述:给定n个作业的集合{J1,J2,…,Jn}。每个作业必须先由机器1处理,然后由机器2处理。作业Ji需要机器j的处理时间为tji。对于一个确定的作业调度,设Fji是作业i在机器j上完成处理的时间。所有作业在机器2上完成处理的时间和称为该作业调度的完成时间和。要求对于给定的n个作业,制定最佳作业调度方案,使其完成时间和达到最小。6种可能的调度方案:1,2,3;1,3,2;2,1,3;2,3,1;3,1,2;3,2,1;相应的完成时间:19,18,20,21,19,19。最佳调度方案是1,3,2,其完成时间和为18。机器1机器223478解空间:排列树1voidBacktrack(inti)2{if(i>n){3for(intj=1;j<=n;j++)4bestx[j]=x[j];5bestf=f;}6else7for(intj=i;j<=n;j++){8f1+=M[x[j]][1];9f2[i]=((f2[i-1]>f1)?f2[i-1]:f1)+M[x[j]][2];10f+=f2[i];11if(f<bestf){12Swap(x[i],x[j]);13Backtrack(i+1);14Swap(x[i],x[j]);}15f1-=M[x[j]][1];16f-=f2[i];}17}int**M//各作业所需的处理时间*x//当前作业调度*bestx//当前最优作业调度*f2//机器2完成处理时间f1//机器1完成处理时间f//完成时间和bestf//当前最优值n//

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论