算法扩充知识-贝尔曼规则

有n个机器零件的集合记为S=\{J_1,J_2,...,J_n\}

i:最优加工方案中,第一个加工的零件。

t:当第一台机器加工零件 i 时,第二台机器,没有加工零件i,的空闲时间。

T(S,t):第一个零件开始第一台机器上加工,到最后一个零件在第二台机器结束所需要的总时间。

t_{1i} :零件i在第一台机器上加工所需要的时间。

t有两种情况,可能比t_{1i} 小,也能比t_{1i} 大。

 接下来,当第一台机器加工余下集合 S-{i} 的某一零件时,第二台机器需要  t^' 时间空闲下来。

t^':第二台机器,没有在加工余下集合 S-{i} 的某一零件,的空闲时间。

因此:

即:t^{'} =t_{2i}+max\{t-t_{1i},0\}

总的加工时间为:

因为 i 可是S中的任何一个零件编号,那么最优解递归式为:

集合S有n!种加工顺序,但对于其中的两个零件编号i、j 来说,只有两种方案:

(1)先加工i,再加工j

(2)先加工j,再加工i

方案1(先 i 后 j ):

导入推导:

方案1的加工时间为:

方案2(先  j 后 i ):

加工时间为:

如果方案1比方案2优,则:

两边同时乘以-1,得方案1(先 i 后 j )比方案2(先  j 后 i )优的充要条件:

猜你喜欢

转载自blog.csdn.net/qq_27437197/article/details/87225423
今日推荐