排序问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
动态规划求解
最优排序方案:尽量减少在B上等待加工的 时间,使总加工时间最短. 阶段:n个 状态变量:(X,t) X: 在机床A上等待加工的按取定顺序排列的 工件集合. t: 在A上加工完x的时刻算起到B上加工完x 所需的时间.
指标最优值函数: f(X,t):由状态(X,t)出发,对未加工的 工件采取最优加工顺序后,将 X中 所有工件加工完所需时间. f(X,t,i):由状态(X,t)出发,在A上加工 工件i,然后再对未加工工件采取最优加工顺 序后,将X中所有工件加工完所需时间. f(X,t,i,j)
动态规划的应用
——排 序 问 题
管理学院 管理科学与工程 张莹
排序问题
排序问题指n 排序问题指 种零件经过不同设备加工时 的顺序问题.其目的是使加工周期为最短. 的顺序问题.其目的是使加工周期为最短 分类:
单台机器的排序问题 多台机器的排序问题 流水作业(Flow-shop)排序问题: 所有工件的加工路线完全相同 单件作业(Job-shop)排序问题: 工件的加工路线不同
例题:
设备 A B 零件
j1
6 3
j2
8 2
j3
7 5
j4
3 9
j5
5 4
68 7 35 工件的加工工时矩阵为:M= 3 2 59 4
根据最优排序规则,最优加工顺序为: j4,j3,j5,j1,j2
A B T
加工周期 T = 3+7+5+6+8+2 = 31 即 ∑ t A i + t B 小 加工顺序图如下:
分析:
加工工件在机床A上有加工顺序问题,在机 床B上也有加工顺序问题.可以证明:最优
排序方案可以只在机床A, 上加工顺 排序方案可以只在机床 ,B上加工顺 序相同的排序中寻找.即使如此,所有
可能的方案仍有n!个,这是一个不小的数, 用穷举法是不现实的.
问题:
如何用动态规划方法来研究同 顺序两台机床加工N个工件的 排序问题?
例一, 例一,
零件代号 加工时间( ) 加工时间(t) 交货日期( ) 交货日期(d)
j1
j2
j3
j4
j5
3 23
7 20
1 8
5 6
4 14
�
z i ( t ) = max( t a i , 0 ) + b i f ( X , t , i ) = a i + f [ X / i , z i ( t )]
X/i表示在集合X中去掉工件i后剩下的工件集合
(X,t) (X/{i,j},zij(t))
f ( X , t , i, j ) = ai + aj + f [ X /{i, j}, zij (t )]
最优排序规则:
a1 a2 … an 建立工时矩阵 M= b1 b2 … bn 在工时矩阵M中找出最小元素(若不止一个 可任选其一),若它在上行,则相应的工件 排在最前位置;若它在下行,则相应的工件 排在最后位置. 将排定位置的工件所对应的列从M中划去, 然后对余下的工件再进行排序.如此进行下 去,直到把所有工件都排完为止.
最优化原理: 最优化原理:作为整个过程的最优策略具有这样的 性质:无论过去的状态和决策如何, 性质:无论过去的状态和决策如何,相对于前面的决 策所形成的状态而言, 策所形成的状态而言,余下的决策序列必然构成最优 子策略. 也就是说, 子策略."也就是说,一个最优策略的子策略也是最 优的. 优的.
n × 1 排序问题 种零件经过1 种设备进行加工,如何安排? 即n 种零件经过 种设备进行加工,如何安排?
f ( X , t ) 随t单调增加,所以当Zij(t)≤ Zji(t) f ( X , t, i , j ) ≤ f ( X , t , j , i )
工件i放在工件j前面的条件:
成立
max(bi + bj aj , bj ) ≤ max(bi + bj ai, bi ) min(ai, bj ) ≤ min(aj , bi )
A
3 7 +2 9 5 5 +2 4 3 6 8 -5 2
B
T
动态规划思想
动态规划是用来解决多阶段决策过程最优 化的一种数量方法.其特点在于, 化的一种数量方法.其特点在于,它可以 把一个n 把一个 维决策问题变换为几个一维最优 化问题,从而一个一个地去解决. 化问题,从而一个一个地去解决. 需指出: 需指出:动态规划是求解某类问题的一种 方法,是考察问题的一种途径, 方法,是考察问题的一种途径,而不是一 种算法.必须对具体问题进行具体分析, 种算法.必须对具体问题进行具体分析, 运用动态规划的原理和方法,建立相应的 运用动态规划的原理和方法, 模型,然后再用动态规划方法去求解. 模型,然后再用动态规划方法去求解.
n × 2 排序问题
种零件经Βιβλιοθήκη Baidu2 种设备进行加工, 即n 种零件经过 种设备进行加工,如何 安排? 安排? 设有n个工件需要在机床A,B上加工,每个 工件都必须先经过A而后B两道加工工序. 以ai,bi分别表示工件i(1≤i≤n)在A,B上的 加工时间.问应如何在两机床上安排各工 件的加工顺序,使在机床A上加工第一个工 件开始到在机床B上加工完最后一个工件为 止,所用的加工总时间最少?
z ij (t ) = max[ z i (t ) a j ,0 ] + b j = max( t a i a j + b i + b j , b i + b j a j , b j )
zji (t ) = max(t ai aj + bi + bj , bi + bj ai, bi )
能用动态规划方法求解的多阶段决策过程 是一类特殊的多阶段决策过程, 是一类特殊的多阶段决策过程,即具有无 后效性的多阶段决策过程 的多阶段决策过程. 后效性的多阶段决策过程.
如果状态变量不能满足无后效性的要求, 如果状态变量不能满足无后效性的要求,应适当地改 变状态的定义或规定方法. 变状态的定义或规定方法. 状态具有无后效性的多阶段决策过程的状态转移方 程如下 动态规划中能 s 2 = T1 ( s 1 , u1 ) 处理的状态转移 s 3 = T2 ( s 2 , u 2 ) 方程的形式. 方程的形式 s k + 1 = Tk ( s k , u k )
状态转移: (X,t) (X/i,zi(t))
A t ai
工件i 工件i
当t≤ai时 B 当t≥ai时
工件i 工件i-1
bi bi t-ai+bi
t
工件i 工件i-1
ai + f ( X / i, t ai + bi ) 当t >= ai时 f ( X , t , i) = 当t <= ai时 ai + f ( X / i, bi )
动态规划方法的关键在于正确地写出基本的递推 关系式和恰当的边界条件(简称基本方程). ).要 关系式和恰当的边界条件(简称基本方程).要 做到这一点, 做到这一点,就必须将问题的过程分成几个相互 联系的阶段,恰当的选取状态变量和决策变量 状态变量和决策变量及 联系的阶段,恰当的选取状态变量和决策变量及 定义最优值函数, 定义最优值函数,从而把一个大问题转化成一组 同类型的子问题,然后逐个求解. 同类型的子问题,然后逐个求解.即从边界条件 开始,逐段递推寻优,在每一个子问题的求解中, 开始,逐段递推寻优,在每一个子问题的求解中, 均利用了它前面的子问题的最优化结果, 均利用了它前面的子问题的最优化结果,依次进 最后一个子问题所得的最优解, 行,最后一个子问题所得的最优解,就是整个问 题的最优解. 题的最优解.