深大算法实验四——流水线问题

代码链接:深大算法实验四——车间动态规划代码-C++文档类资源-CSDN下载

目录

实验目的与要求:

实验过程及内容:

        蛮力法:

        动态规划法:

改进

空间优化方案:

                问题1,关于最优解的存储方案

                问题2,原始数据产生问题

对结果的数据压缩

 数据分析:

实验结论:


实验目的与要求:

  1. 掌握动态规划算法设计思想。
  2. 掌握流水线问题的动态规划解法。

实验过程及内容:

        问题描述:有两条流水线,分别有n个阶段,每个阶段所用时不同。不同流水线的同一阶段时间不同,若要转移流水线则要有相应的转移时间。求怎样分配时间最短。

       


        算法思路:将两条流水线的每个阶段可以看作是两个流水线中二选一。要么选下面一条,要么选择上面一条。可以用0代表选择上面的流水线,1代表选择下面的流水线。可以将输出结果变成一串二进制进行输出。如下面的例子,假设n=5,第一个选择上面的流水线,标号为0,第二个选择下面的流水线,标号为0,以此类推,从图上可以得到最终的结果为01100。

 

        蛮力法:

        上面所说的可以将流水线看作为二进制编码,那么若流水线有n个阶段,那么总共有2n中情况,以每一个的二进制形式进行遍历,则不会漏掉解,在每次得出解时与最小的时间进行比较,如果更小则将最小时间赋值为当前解的时间。

        关于遍历,假如n=5,则以00000,00001,00010,00011……这样进行遍历。

        蛮力法的效率为O2n,效率十分的慢。

        动态规划法:

        首先,动态规划的适用条件是:①符合最优子结构,②符合重叠子问题。在本题当中是符合的。我们可以将前t个解的最优解视为流水线的一个节点,用这样的节点解t+1时的解,所以是符合最优子结构和重叠子问题的。

        明确阶段:前一阶段是上下流水线的前t个的最优解。

       

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Anakin Skywalker RM 00

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值