车间调度的状态动作奖励函数设置汇总

Posted 码丽莲梦露

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了车间调度的状态动作奖励函数设置汇总相关的知识,希望对你有一定的参考价值。

1 流水车间调度问题(Flow shop scheduling problem)

1 状态

        状态分为几种方式,一种是参数导向的

[1] Ren,,Jianfeng,Ye,,Chunming,Yang,,& Feng.(2021).Solving flow-shop scheduling problem with a reinforcement learning algorithm that generalizes the value function with neural network.ALEXANDRIA ENGINEERING JOURNAL,60(3),2787-2800.

1.1 参数导向的状态表示 

这篇文章设置了以下几个状态:

状态1:该机器缓冲区内的工件数与加工任务中总操作数的比值。

状态2:采用Nawaz-Enscore-Ham (NEH)启发式算法求解FSP,分析了不同尺度和处理时间的加工任务。分析表明,工件在每台机器上的平均加工时间是影响调度结果的关键因素。因此,将机器i的状态2定义为该机器缓冲区内操作的平均加工时间与该机器上所有操作的平均加工时间的比值。

状态3、4:机器i的状态3和状态4分别被定义为该机器缓冲区中的操作的最大和最小加工时间与该机器上所有工件的平均加工时间的比率。 

状态5:机器i的状态5被定义为该机器上正在加工的工件的剩余加工时间与该机器上所有工件的平均加工时间的比率。

状态6:为了反映机器之间的负载相关性并指示加工任务的完成状态,机器I的状态6被定义为所有机器缓冲区中的操作的平均加工时间与该机器上所有操作的平均加工时间的比率。

状态7、8:假设FSP包含两个以上要在两台机器上加工的工件。首先,计算每个工件在两台机器上的加工时间。然后,根据加工时间将作业分为U和V两组:第一组包含在第一台机器上的加工时间比在第二台机器上的加工时间短的所有工件;第二组包含所有剩余的工件。之后,第一组的工件按加工时间的升序排列,而第二组的作业按加工时间的降序排列。最后,将两组中的工件链接在一起,得到最小化完工时间的工件顺序。在此基础上,状态7和状态8分别由以下方式构成:

2 动作

2.1 规则导向的动作表示

动作1:SPT  在最短处理时间(SPT)优先原则下,可以使平均加工时间最小化,从而减少正在加工的工件数量。遵循此规则,通过使用SPT将最高优先级分配给等待的工件。

动作2:LPT  在最长处理时间(LPT)优先级规则下,通过将最高优先级分配给具有最长加工时间(LPT)的等待工件。

动作3:EDD 在最早交货日期(EDD)优先规则下,以EDD的规则分配以最小化最大延误和平均延误。

动作4:FIFO 在先到先服务的原则下,按照工件到达的顺序进行加工。

动作5:根据剩余空闲时间(STR)的优先级规则构造的:STR=交货日期-处理时间。 

动作6:是在最小临界比(SCR):临界比(CR)=(交付日期-当前数据)/加工时间的优先规则下构建的。

动作7和8:是根据状态7和8构造的:动作7表示当前机器首先处理具有集合U中的SPT的作业;动作8表示当前机器首先处理具有集合V中的LPT的作业。

动作9:在FSP中,当作业j在机器i+1上等待加工时,即使机器i+1处于空闲状态,作业j也不能在机器i上处理。机器i必须保持空闲,直到机器i+1完成工件j+1的加工。因此,构造动作10以确保没有机器采取任何动作,这是在这种情况下的最佳策略。

3 奖励函数

1 当前时刻所有机器空闲时间的总和:

 

 

以上是关于车间调度的状态动作奖励函数设置汇总的主要内容,如果未能解决你的问题,请参考以下文章

(pytorch复现)基于深度强化学习(CNN+dueling network/DQN/DDQN/D3QN)的自适应车间调度(JSP)

(pytorch复现)基于深度强化学习(CNN+dueling network/DQN/DDQN/D3QN)的自适应车间调度(JSP)

(pytorch复现)基于深度强化学习(CNN+dueling network/DQN/DDQN/D3QN/PER)的自适应车间调度(JSP)

车间调度基于matlab遗传算法求解车间调度问题含Matlab源码 1396期

车间调度基于matlab蝴蝶算法求解车间调度问题含Matlab源码 1395期

车间调度基于matlab模拟退火算法求解车间调度问题含Matlab源码 894期