动态规划与贪婪算法学习笔记

已算法导论图示为例

两条生产线上,产品经过各个装配工作位直到加工完成所耗费的时间都标记出来了,同一生产线的装配工作位转移不花费时间。

试图求出最快流程。

动态规划是利用最优子结构自底向上求解。

也就是说要求出最后完成的最快流程(Si,6)我们需要先知道Si,5工位的最快流程,

而直到Si,5工位的最快流程就需要知道Si,4工位的最快流程 直到求出Si,1的最快流程

s1,1最优解是2+7

s2,2最优解是4+8

s1,2最优解是s1,1+9 = 18

s2,2最优解是s1,1+2+5=16

s1,3最优解是s2,2+1+3=20

s2,3最优解是s2,2+6=22

......

s1,6最优解是s2,5+1+4+3=38

s2,6最优解是s2,5+7+2=39

算法请查看算法导论第二版194页

//==============================================

贪婪算法 则是自顶向下 不考虑子问题解法只选择当前最优选择

那么过程如下

s1,1耗费是2+7=9

s2,2耗费是4+8=12

第一步选择s1,1

.......

最后得出

s1,1->s2,2->s1,3->s1,4->s1,5(s2,5)->s1,6

倒数第二步有两个选择 因为s1,4->s1,5 == s1,4->s2,5 == 8

最后贪婪算法得出的最优流程耗费为39 或者40

 

代码后继增加.....

 

posted on   itdef  阅读(930)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
历史上的今天:
2016-04-19 网络高效编程 读书笔记

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示