动态规划之 装配线调度问题

本文探讨如何使用动态规划解决装配线调度问题,通过分析最优子结构和重叠子问题,提出4个步骤:最优解结构描述、递归解法、计算最快时间和构造最快路线。文中以汽车底盘装配为例,详细解释了每个步骤,并提供了伪代码和实际的程序源代码。
摘要由CSDN通过智能技术生成

从之前提到的最长公共子序列的问题中已经可以看到动态规划的应用之处,但是对于这种算法,或者说是一种思想,该在什么地方使用,哪些问题的解决可以使用动态规划,可能并不清晰。下文所讲述的内容就是可用动态规划解决问题的两个要素:最优子结构和重叠子问题。

在分析这两个要素之前,先以两个例子引入:

装配线调度

假设一个汽车底盘加工有两个装配线,如下如所示,每个装配线都有n个配件站,用于给底盘安装不同的零件,配件站用S表示,如S(2,3)表示第二条装配线的第三个配件站。两条装配线同一个配件站的工作相同,但是时间不同,用a表示所花费的时间,如a(2,3)表示装配站2的第三个配件站完成工作的时间。底盘进入装配线的时间用e表示,离开装配线的时间用x表示。


一般情况下,一个汽车底盘的装配过程就是进入一条装配线然后依次通过配件展,一条装配线内从一个配件站到另一个的时间可以忽略。但是某些时候可能会需要一些加急的订单,对这些订单仍旧需要经过所有的配件站,但不能在一条装配线上一直运行,这样的最短时间就无法保证。解决方法就是从一条装配线的配件站转移到另一条装配线的配件站,但转移的过程需要时间,记为t如上图,问题就是要寻找需要在哪些配件站进行转移达到时间的最小化。在下图中所示例子可以得到一种最优转移方案:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值