装配线调度

题目难度:

题目描述:


如上图所示:

给出某样例数据最后的结果为f*=38


这道题目,如果用搜索的方法,则效率为O(2^n),效率极低,由此我们可以想到用动态规划去做。

设f(1,i)表示第一条装配线到第i个装配站时的最优时间,f(2,i)则表示第二条装配线到底i个装配站的最有时间。显然,不管当前到哪一条装配线,对于到第i个装配站只有两种路径(设当前是第一条装配线,以及a(1,i)表示的是第一条装配线的第i个装配零件的时间,t(1,i)表示从第i个装配站到其另一装配线的下一站耗时):

一、通过a(1,j-1)的最快路线,然后直接到达a(1,j)。

二、通过a(2,j-1)的最快路线,然后再从装配线二到达装配线一,然后到达a(1,j)。

而,这两种路径的所对应的值为f(1,j-1)+a(1,j),f(2,j-1)+a(1,j)+t(2,j-1)。

而当是第2条装配线的时候,亦然。


最后答案的最优解f*就等于min(f(1,n)+x1,f(2,n)+x2),而这道题的边界也很好解决,当f(1,i)的i=1的时候f(k,1)=ek+a(k,1)(0<k<3)。

伪代码如下:


最后输出f*即为正确答案,而我们还可以根据l1和l2的值求出最优路径,伪代码如下:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值