网站大量收购独家精品文档,联系QQ:2885784924

第10章 贪心法.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 贪心法

第10章 贪心法 10.1 贪心算法 10.2 背包问题 10.3 多处理机调度 10.4 单源最短路径 10.5 最佳合并顺序 小结 10.1 贪心算法 在讨论贪心算法之前,首先来说明最优化问题。每个最优化问题都包含一组限 制条件和一个优化函数,符合限制条件的解称为可行解,使优化函数获得最优值的 可行解称为最优解 [找零问题]我国现在广泛使用的硬币的面额是m1=1元、m2=5角和m3=1角。如 何在各种面额硬币数量一定的情况下给出3元7角的找头,要求所使用的硬币的数量 最少? 实现该算法的过程: 从问题的某一初始解出发。 while 能朝给定总目标前进一步do。 求出可行解的一个解元素。 由所有解元素组合成问题的一个可行解。 该算法存在问题: (1)不能保证求得的最后解是最佳的。 (2)不能用来求最大或最小解问题。 (3)只能求满足某些约束条件的可行解的范围 10.3 多处理机调度 没有时限的多处理机调度 若有n台相同的处理机P1, P2, …, Pn,处理 m个独立的作业J1, J2, …, Jn,以互不相关的方式工作。现约定:任何作业可以在任何一台处理机上运行,但 未完工前不允许中断作业;作业也不能折分成更小的子作业。已知作业Ji需要的处 理机时间为ti,i=1, 2, …, m。任务是给出一种作业调度方案,使m个作业在尽可能 短的时间内,由n台处理机完成,这就是多处理机调度 多处理机的作业调度算法。 void muls( ) { scanf(t); for(i=1; i=n; i++) s[i]=?; //每个处理机作业队列为空 对t[1],t[2],…..,t[m]排序,使得; t[?1]t[?2]…….t[?m] 其中?1, ?2,…., ?m为1,2,…….,m的一种排列 for(i=1; i=n; i++) { s[i]=s[i]∪{J?i}; TM[i]=t[?i]; } //先给每台处理机分配一个作业 for(k=n+1; k=m; k++) //剩下的作业分配 { 设TM[j]=min{TM[i]} (1≤ i ≤n) //处理机J先完工 s[j]=s[j]∪{J?k} TM[j]+=t[?k]; } } 2. 带时限的多处理机调度 给定任务序列J1, J2, …, Jn和无限多台的处理机,假定只有一台处理机为这批 作业服务,处理机一次只能装入一个作业运行。每件任务的开始时间为si,完成时 间为fi,si<fi。[si, fi]为处理任务Ji的时间范围,只有在时限[si, fi]之内完成作业Ji, 才会得到利润Pi。怎样选择作业子集Ji,使得J中的每个作业都能在各自的时限内完 工,且使获得的利润总和最大,这就是所谓带时限的作业调度 具体算法如下所示: void Js1( ) { scanf (p,d,n); //假设p[1]=p[2]=….=p[n] J[0]=0; D[0]=0; J[1]=1; k=1; //J[ i ]表示第i个加入J的作业号,k为J中已有的作业数 for(i=2; i=n; i++) { r=k; while(D[J[r]]D[i] D[J[r]]!= r) r--; //测试能否加入作业i if(D[i]r) { for (h=k; h=r+1; h--) J[r+1]=J[r]; //加入 J[r+1]= I; k++; } } } 3. 带时限的作业调度-最大时限选择方法 (1)任何最大利润的可完工子序列中作业个数必不大于b。 令其中: 时限di为最优化量。 (2)任何可完工的作业子序列中最多只包含一个时限为1的作业。 或包含两个时限不大于2的作业 …………….. 或包含d个时限不大于d的作业 最大时限选择算法设计如下: (1)在时限为d的作业中选择一个利润最大的作业加入J。 (2)在时限不小于d-1的作业中选择一个利润最大的作业加入

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档