资源分配类动态规划.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
资源分配类动态规划

机器分配 总公司拥有高效生产设备M台,准备分给下属的N个公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M=15,N=10。分配原则:每个公司有权获得任意数目的设备,但总台数不得超过总设备数M。 数据文件格式为:第一行保存两个数,第一个数是设备台数M,第二个数是分公司数N。接下来是一个M*N的矩阵,表明了第I个公司分配J台机器的盈利。 分析 用机器数来做状态,数组F[I,J]表示前I个公司分配J台机器的最大盈利。则状态转移方程为: F[I,J]=Max{F[I-1,K] + Value[I,J-K]} (1=I=N,1=J=M,0=K=J ) 初始值: F(0,0)=0 时间复杂度O(N*M2) 系统可靠性 一个系统由若干部件串联而成,只要有一个部件故障,系统就不能正常运行,为提高系统的可靠性,每一部件都装有备用件,一旦原部件故障,备用件就自动进入系统。显然备用件越多,系统可靠性越高,但费用也越大,那么在一定总费用限制下,系统的最高可靠性等于多少? 给定一些系统备用件的单价Ck,以及当用Mk个此备用件时部件的正常工作概率Pk(Mk),总费用上限C。求系统可能的最高可靠性。 输入文件格式: 第一行:n C 第二行:C1 P1(0) P1(1) … P1(X1) (0=X1=[C/Ck]) … 第 n 行:Cn Pn(0) Pn(1) … Pn(Xn) (0=Xn=[C/Cn]) 分析 例:输入:2 20 3 0 .6 0.65 0.7 0.75 0.8 0.85 0.9 5 0.7 0.75 0.8 0.8 0.9 0.95 输出:0.6375 设F[I,money]表示将money的资金用到前I项备用件中去的最大可靠性,则有 F[I,money] = max{F[I-1 ,money–k*Cost[I] ]*P[I,k] } (0=I=n,0=K= money div Cost(I) ) 初始: F[0,0]=0 目标: F[n,C] 快餐问题 Peter最近在R市开了一家快餐店,为了招揽顾客,该快餐店准备推出一种套餐,该套餐由A个汉堡,B个薯条和C个饮料组成。价格便宜。为了提高产量,Peter从著名的麦当劳公司引进了N条生产线。所有的生产线都可以生产汉堡,薯条和饮料,由于每条生产线每天所能提供的生产时间是有限的、不同的,而汉堡,薯条和饮料的单位生产时间又不同。这使得Peter很为难,不知道如何安排生产才能使一天中生产的套餐产量最大。请你编一程序,计算一天中套餐的最大生产量。为简单起见,假设汉堡、薯条和饮料的日产量不超过100个。 输入:第一行为三个不超过100的正整数A、B、C中间以一个空格分开。第二行为3个不超过100的正整数p1,p2,p3分别为汉堡,薯条和饮料的单位生产耗时。中间以一个空格分开。第三行为N(0=0=10),第四行为N个不超过10000的正整数,分别为各条生产流水线每天提供的生产时间,中间以一个空格分开。 输出:每天套餐的最大产量。 分析 本题是一个非常典型的资源分配问题。由于每条生产线的生产是相互独立,不互相影响的,所以此题可以以生产线为阶段用动态规划求解。 状态表示:用p[i,j,k]表示前i条生产线生产j个汉堡,k个薯条的情况下最多可生产饮料的个数。 用r[i,j,k]表示第i条生产线生产j个汉堡,k个薯条的情况下最多可生产饮料的个数。 态转移方程 : p[i,j,k] = Max{p[i-1,j1,k1]+r[i,j-j1,k-k1]} ( 0=j1=j=100,0=k1=k=100, 且(j-j1)*p1+(k-k1)*p2=T[i]---第i条生产线的生产时间 ) r[i,j-j1,k-k1]=(T[i]-(j-j1)*p1+(k-k1)*p2) div p3 ; 此算法的时间复杂度为O(N*1004), 优化 在本题中,可以在动态规划方法中加入了贪心算法思想:即首先计算出每天生产套数的上限值(由A,B,C计算,即min{100 div A,100 div B,100 div c}),接着,用贪心法计算出这N条流水线可以生产的套数,并与上限比较,大于则输出上限值并退出,否则再调用动态规划;同时,在运行动态规划的过程中,也可以每完成一阶段工作便与上限值进行比较,这样以来,便可望在动态规划完成前提前结束程序。其算法设计为: S1:读入数据。 S2:贪心求上限并计算出一可行解,判断是否需进行下一步。 S3:动态规划求解。 S4:

文档评论(0)

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

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

1亿VIP精品文档

相关文档