孙成敏《计算机算法设计与分析》算法分析 第三次作业-完整版.docVIP

孙成敏《计算机算法设计与分析》算法分析 第三次作业-完整版.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法分析 第三次作业 (第五章) 题目:5.2,5.3,5.8,5.9,5.10 4月20日 周五 交作业 本章是重点,一共就两个问题(“背包”和“作业排序”),希望大家理解了这两个算法(包括 算法5.2 算法5.4 算法5.5)再开始写作业!! 5.2① 求以下情况背包问题的最优解,n=7,m=15,=(10,5,15,7,6,18,3)和=(2,3,5,7,1,4,1)。 ② 将以上数据情况的背包问题记为I。设FG(I)是物品按的非增次序输入时由GREEDY-KNAPSACK所生成的解,FO(I)是一个最优解。问FO(I)/ FG(I)是多少? ③ 当物品按的非降次序输入时,重复②的讨论。 解:① 按照/的非增序可得 (/,/,/,/,/,/,/) = (6,5,9/2,3,3,5/3,1) W的次序为(1,2,4,5,1,3,7),解为(1,1,1,1,1,2/3,0) 所以最优解为:(1,2/3,1,0,1,1,1) FO(I)=166/3 ② 按照Pi的非增次序输入时得到 (,,,,,,)= (18,15,10,7,6,5,3), 对应的(,,,,,,)= (4,5,2,7,1,3,1) 解为(1,1,1,4/7,0,0,0) 所以FG(I)的解为(1,0,1,4/7,0,1,0) FG(I)=47,所以FO(I)/ FG(I)=166/141. ③ 按照的非降次序输入时得到 (,,,,,,)=(1,1,2,3,4,5,7) 相应的(,,,,,,)=(6,3,10,5,18,15,7) 解为(1,1,1,1,1,4/5,0) 则FW(I)的解为(1,1,4/5,0,1,1,1) FW(I)=54,所以FO(I)/ FW(I)=83/81. 5.3.(0/1背包问题)如果将5.3节讨论的背包问题修改成 极大化 约束条件 xi=0或1 1≤i≤n 这种背包问题称为0/1背包问题。它要求物品或者整件装入背包或者整件不装入。求解此问题的一种贪心策略是:按/的非增次序考虑这些物品,只要正被考虑的物品能装进的就将其装入背包。证明这种策略不一定能得到最优解。 证明:当按照/的非增次序考虑物品存放背包时,如果所装入的物品恰能装满背包时,易证为最优解,否则未必是最优解。 可举例如下:设n=3,M=6,(, , )=(3,4,8),(, , )=(1,2,5),按照/的非增序得到(/, /, /)=(3,2,1.6),则其解为(1,1,0),而事实上最优解是(1,0,1),问题得证。 5.8.①当n=7,=(3,5,20,18,1,6,30) 和=(1,3,4,3,2,1,2)时,算法5.5所生成的解是什么? ② 证明即使作业有不同的处理时间定理5.3亦真。这里,假定作业I的效益0,要用的处理时间0,限期≥. 解:①根据的非增排序得到(,,,,,,)=(30,20,18,6,5,3,1),对应的期限为(2,4,3,1,3,1,2),按照算法5.4生成的解为: a.J(1)=7 b.J(1)=7,J(2)=3 c.J(1)=7,J(2)=4,J(3)=3 d.J(1)=6, J(2)=7,J(3)=4,J(4)=3; ②证明:显然即使0(≥),如果J中的作业可以按照(的次序而又不违反任何一个期限来处理,即对(次序中的任一个作业k,应满足 ≥,则J就是一个可行解。 下面证明如果J是可行解,则使得J中的作业可以按照,,…, 排列的序列(处理而又不违反任何一个期限。 因为J是可行解,则必存在=…,使得对任意的,都有≥,我们设(是按照≤≤,…,≤排列的作业序列。假设((,那么令a是使(的最小下标,设=,显然ba,在中将与相交换,因为≤,显然和可以按期完成作业。 还要证明和之间的作业也能按期完成。因为≤,而显然二者之间的所有作业,都有,又由于(是可行解,所以≤≤。所以作业和交换后,所有作业可依新产生的排列==…的次序处理而不违反任何一个期限,连续使用这种方法,就可转换成(且不违反任何一个期限,定理得证。 5.9 ①对于5.3节的作业排序问题证明:当且仅当子集合J中的作业可以按下述规则处理时它表示一个可行解;如果J中的作业I还没分配处理时间,则将它分配在时间片[a-1,a]处理,其中a是使得1≤r≤di的最大整数r,且时间片[a-1,a]是空的。 ②仿照例5.4的格式,在习题5.8的①所提供的数据集上执行算法5.5。 解:①易证如果J中的作业能按上述规则处理,显然J是可行解; 如果J是可行解,根据定理5.3可知,J中的作业根据时间期限的非降次序排列,得到i1i2…ik…in,并且按照这个顺序,可以处理J中所有作业,而对这一序列中的任意作业ik,如

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档