- 马尔可夫决策过程公式
参考:https://zhuanlan.zhihu.com/p/494755866
马尔可夫决策过程(Markov Decision Process,MDP)是强化学习中用来表示决策问题的数学框架。它是一个随机过程,用于模拟在给定状态下采取行动并产生结果的过程,其中结果包括下一个状态和可能的奖励。MDP 由以下几个关键组成部分定义:
-
状态(State):决策过程中可能出现的情况或环境的描述,通常表示为 s ∈ S s \in \mathcal{S} s∈S,其中 S \mathcal{S} S 是所有可能状态的集合。
-
行动(Action):在给定状态下可以采取的行为,表示为 a ∈ A ( s ) a \in \mathcal{A}(s) a∈A(s),其中 A ( s ) \mathcal{A}(s) A(s) 是在状态 s s s 下可用的动作集合。
-
转移概率(Transition Probabilities):描述了在状态 s s s 采取行动 a a a 后转移到另一个状态 s ′ s' s′ 的概率,表示为 P ( s ′ ∣ s , a ) P(s'|s,a) P(s′∣s,a),即在状态 s s s 采取行动 a a a 后转移到状态 s ′ s' s′ 的概率。
-
奖励函数(Reward Function):在状态 s s s 采取行动 a a a 后得到的即时奖励,表示为 R ( s , a , s ′ ) R(s,a,s') R(s,a,s′) 或 r ( s , a , s ′ ) r(s,a,s') r(s,a,s′)。
-
策略(Policy):从状态到行动的映射,表示为 π ( a ∣ s ) \pi(a|s) π(a∣s),它定义了在给定状态下采取特定行动的概率。
-
折扣因子(Discount Factor):表示未来奖励的当前价值,通常表示为 γ \gamma γ,其中 0 ≤ γ ≤ 1 0 \leq \gamma \leq 1 0≤γ≤1。
- 文献阅读
Learning to dispatch for job shop scheduling via deep reinforcement learning
(通过深度强化学习学习调度作业车间调度)
在这篇论文中,作者提出了一个基于马尔可夫决策过程(MDP)的框架来解决作业车间调度问题(JSSP)。MDP 是一种数学模型,用于描述决策者在不确定环境中的决策过程。在这个框架中,每个决策步骤都涉及到选择一个操作(行动),这个操作会影响系统的状态,并可能导致奖励(或成本)的变化。以下是 MDP 的关键组成部分及其在论文中的应用:
- 状态(State)
状态在决策步骤t的状态st是一个析取图G(t)=(O,C Du(t),D(t)),表示解的当前状态,其中Du(t)D包含所有在t之前被分配了方向的(有向)析取弧,D(t)D包含剩余的析取弧。初始状态s0是表示原始JSSP实例的析取图,而终端状态sT是其中D(T)=的完全解,即所有析取弧都被分配了一个方向。对于每个节点O ∈ O,我们记录两个特征:1)只有当O在st中被调度时,二进制指示符I(O,st)才等于1,以及2)整数CLB(O,st),它是O在st中的估计完成时间(ETC)的下界。注意,对于调度操作,该下界正好是其完成时间。对于工件Ji的非调度操作Oij,我们递归地计算该下界为CLB(Oij,st)= CLB(Oi,j−1,st)+ pij,只考虑来自其前一个的优先约束,即Oi,j−1 → Oij,并且如果Oij是Ji的第一个操作,其中ri是Ji的释放时间,则CLB(Oij,st)= ri + pij。
- 行动(Action)
在∈ At处的动作是在决策步骤t处的合格操作。假设每个作业在t时最多只能有一个操作准备就绪,则动作空间的最大大小为|J|,这取决于要解决的实例。在求解过程中,|在|随着更多工作的完成而变小。
- 状态转移(State Transition)
一旦PDR确定了下一个要调度的操作,我们首先找到在所需机器上分配的最早可行时间段。然后,我们根据当前的时间关系更新该机器的析取弧的方向,并产生一个新的析取图作为新的状态st+1。在图2中给出了一个示例,其中在状态s4处从动作空间{O 12,O23,O32}选择动作a4 = O32。在所需的机器M2上,我们发现O32可以在已经调度的O22之前的时间段内分配,因此O22和O32之间的分离弧的方向被确定为O32 → O22,如新状态s5所示。请注意,由于O32被安排在O22之前,因此O22的开始时间从7改为11。
- 奖励(Reward)
我们的目标是学习一步一步地分派,使完工时间最小化。为此,我们设计奖励函数R(st,at)作为对应于两个状态st和st+1的部分解之间的质量差,即R(at,st)= H(st)−H(st+1),其中H(·)是质量度量。这里我们将其定义为最大完工时间Cmax的下限,计算公式为H(st)= maxi,j{CLB(Oij,st)}。对于终端状态% s| O|,显然我们有H(s| O|)= Cmax,因为所有操作都已安排。因此,当折扣因子γ = 1时,累积奖励为|O| t=0 R(at,st)= H(s0)−Cmax。假设H(s 0)是常数,最大化累积报酬与最小化完工时间一致。
- 策略(Policy)
对于状态st,随机策略π(at| st)输出在At中的动作上的分布。如果采用传统的PDR作为策略,则分布是独热的,并且具有最高优先级的动作的概率为1。
在论文中,作者使用深度强化学习算法(特别是策略梯度算法)来训练策略网络,使其能够自动学习高质量的 PDR。通过这种方式,代理能够从原始特征中学习,并在没有明确规则的情况下解决 JSSP。这种方法的一个关键优势是它可以处理任意规模的 JSSP 实例,并且能够在训练时未见过的更大规模实例上泛化。