- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[学科竞赛]线型动态规划000
讨论 为什么可以不考虑这种情况? 可以看出图1和图2是等价的,也就是说如果存在图1的剖分方案,则可以转化成图2的剖分方案,因此可以不考虑图1的这种情形。 总结 该类问题的基本特征是能将问题分解成为两两合并的形式。解决方法是对整个问题设最优值,枚举合并点,将问题分解成为左右两个部分,最后将左右两个部分的最优值进行合并得到原问题的最优值。有点类似分治的解题思想。 设前i到j的最优值,枚举剖分(合并)点,将(i,j)分成左右两区间,分别求左右两边最优值,如下图。 状态转移方程的一般形式如下: F(i,j)=Max{F(i,k)+F(k+1,j)+决策,k为划分点 * * * * * * * * * * * * * * * 动态规划 设F(i,j)表示前i件物品背包为j的最大效益,则有 1=i=N, 0=j=N 初值:F(0,j)=0, F(1,j)= -∞ F(N,M)即答案 显然时间复杂度为O(NM) 带条件的背包问题(1) 有N件物品; 第i件物品Wi公斤; 第i件物品价值Ci元; 第i件物品可能带0~2个附件; 若装载附件,必须装载主件,反之没有约束; 现有一辆载重M公斤的卡车; 问选取装载哪些物品,使得卡车运送的总价值最大? 分析 假设只有主件的情况 ,显然与经典背包问题完全相同! 现在每个物品有附件,我们可以分成4种方案 仅装载主件 装载主件+第1个附件 装载主件+第2个附件 装载主件+2个附件 由于上述4种并列,这是几种不同的决策同时规划即可 动态规划 设F(i,j)表示前i件物品背包为j的最优解,则有, 1=i=N, 0=j=M 时间复杂度O(NM) 多层背包问题 有N件物品; 第i件物品Wi公斤; 第i件物品价值Ci元; 现有一辆载重M公斤的卡车; 第i件物品限制最多只能取Xi个; 问选取装载哪些物品,使得卡车运送的总价值最大? 分析 我们可以类似01背包问题,将第i种物品拆分成x[i]个,这样每个物品只有1件了,如下图: 然后对所有的物品采用动态规划即可。 F(i,j)=max{ f(i-1,j-k*w[i]) + k*c[i] } 0=k*w[i]=j 完全背包问题 有N件物品; 第i件物品Wi公斤; 第i件物品价值Ci元; 现有一辆载重M公斤的卡车; 每次可以选取某种物品的任意多件装载; 问选取装载哪些物品,使得卡车运送的总价值最大? 分析 类似多层背包问题将每个物品展开成X[i ]=m/w[i]个,然后对所有的物品采用动态规划即可。 若两件物品i、j满足c[i]=c[j]且w[i]=w[j],则将物品i去掉,不用考虑。这个优化的正确性显然:任何情况下都可将价值小费用高的i换成物美价廉的j,得到至少不会更差的方案。 由于每种物品有选和不选两种情况,可以将每种物品的2k个当成一个整体考虑。这样对于某种物品要选取多个,都可以由若干个2k个物品进行组合 (即2进制数)。例如第i种物品要选10个,则10=23+21 。 这样第i种物品的个数为k=㏒2 (m/wi)物品,是一个很大的改进。 进一步, 在计算k时, K =㏒2 (j/wi), j为当前背包剩余空间。 进一步 for i:=1 to n do // 动态规划,递推求f for j:=1 to m do begin if j=w[i] then //背包容量够大 f[i,j]:=max(f[i,j-w[i]]+c[i],f[i-1,j]) else //背包容量不足 f[i,j]:=f[i-1,j]; end; 改进程序 事实上,我们只关心剩余背包的最大值,也就是仅仅关心f(j),因此,在对f(j)更新时,只要背包容量可以,那么可以反复更新。程序如下: for i:=1 to n do // 动态规划,递推求f for j:=0 to m do begin if j=w[i] then //背包容量够大 f[j]:=max(f[j-w[i]]+c[i],f[j]) end; 思考题1:机器分配 M台设备,分给N个公司。 若公司i获得j台设备,则能产生Aij效益 问如何分配设备使得总效益最大? M=15,N=10。 分析 用机器数来做状态,数组f(i,j)表示前i个公司分配j台机器的最大盈利。则状态转移方程为: f(i,j) =Max{f[i-1,k] + a[i,j-j]} (1=i=N,1=j=M,0=k=j ) 初始值: f(0,0)=0 时间复杂度O(N*M2) 思考题2:硬币找零 给定N枚硬
您可能关注的文档
- [学科竞赛]4-3-3圆与扇形题库教师版.doc
- [学科竞赛]513探索碱的性质.ppt
- [学科竞赛]6年级上册湘版教案表格版 word.doc
- [学科竞赛]2013福建高考数学各个课题汇编总结二.doc
- [学科竞赛]C辅导2——专升本.ppt
- [学科竞赛]B第二课 美术作品的语言1.ppt
- [学科竞赛]《上财考研内参》第3期.pdf
- [学科竞赛]EM 1-2.ppt
- [学科竞赛]一年级体育与保健课时计划教案.doc
- [学科竞赛]ProQuest科技期刊全文数据库.ppt
- 2025至2030全球及中国订单管理软件行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030国内液晶显示屏行业市场发展分析及竞争策略与投资发展报告.docx
- 2025至2030港口设备市场前景分析及细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030量子加密通信行业发展现状及投资前景战略报告.docx
- 2025至2030中国音乐合成器行业运营态势与投资前景调查研究报告.docx
- 2025至2030中国液压行业市场发展现状及竞争格局与投资机会报告.docx
- 2025至2030中国异戊橡胶行业运营态势与投资前景调查研究报告.docx
- 2025至2030帕西肽行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030全球及中国超收敛集成系统行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030尖齿铣刀行业市场占有率及有效策略与实施路径评估报告.docx
原创力文档


文档评论(0)