当前位置:网站首页>Dynamic Lead Time Promising
Dynamic Lead Time Promising
2022-07-30 07:38:00 【zzzzz忠杰】
摘要
我们考虑一个按订单生产的业务,它为多个优先级的客户提供服务。 来自较高等级客户的订单带来了更大的收入,但他们预计比较低等级客户的交货时间更短。 在做出交货时间承诺时,公司必须认识到预先存在的订单承诺、每个类别未来需求的不确定性以及供应链中断的可能性。 我们将此场景建模为马尔可夫决策问题,并使用强化学习来确定公司的提前期政策。 为了在大问题上实现可处理性,我们利用顺序决策方法,有效地使我们能够从系统的状态空间中消除一个维度。 顺序动态方法的初始数值结果表明,所得策略比静态优化方法更接近最优策略。
1 引言
能够以“实时”方式跟踪库存、优化生产和安排发货的制造商可能会获得明显的竞争优势。 高级 ATP(可承诺)系统旨在解决这些业务目标。
传统的 ATP 被定义为“公司库存和计划生产的未承诺部分,在主计划中维护以支持客户订单承诺”[1],而高级 ATP 是一种“动态分配和重新分配资源以承诺和满足客户需求的机制”。 订单”[2]。
高级 ATP 是一个非常笼统的概念,它包含了供应链优化任务中以前的 ATP 扩展和 ERP(企业资源规划)工具。 事实上,先进的 ATP 不是一种单一的方法,而是“多种方法和工具来提高订单承诺的响应能力和订单履行的可靠性”[3]。 这方面的工作也相应地多种多样。 我们看到了用于跟踪传统 ATP 数量并生成可行提前期的启发式技术 [4]、允许不确定供应商提前期的双阶段模型 [5]、内存驻留数据库上的搜索算法,可确定最早满足需求的资源可用性 新的需求 [6],以及具有整数规划方法 [2]、[7] 的离散优化方法。
在这里,我们将交付周期作为马尔可夫决策问题进行分析,并使用近似动态规划方法为新型高级 ATP 系统奠定基础。
在我们设定的提前期承诺问题中,有多个客户类别,每个类别都有一组不同的提前期预期。 我们的多类内生提前期问题的表述不仅不同于其他此类系统的研究,而且不同于多类外生提前期系统的研究和单类内生提前期系统的研究。 一般来说,这些领域的研究考虑生产系统,其中作业在少量服务器上单独安排,每个作业所需的时间很重要[8]。 相比之下,我们的模型设想了一个系统,该系统能够在单个生产时间单位内处理数百或可能数千个工作。 因此,挑战不是为服务单独订购工作,而是从快速到达的异构订单流中构建适当的生产“批次”。
我们的工作介绍安排如下。
第二节详细描述了我们对提前期有希望问题的表述。 第三节讨论强化学习的实施。 特别是,我们描述了一种方法,该方法可以调整做出提前期承诺的角度,并允许我们利用系统中固有的结构。 第四节讨论了我们模拟实验的组织,第五节介绍了我们的结果。 我们评估不同 Qlearning 公式的性能,并展示这些性能如何随关键问题参数而变化。 最后,第六节总结了工作,并为分析提前期有前途问题的下一步提供了思路。
2 建模
假设一家公司制造和销售单一产品系列,但它在其客户中区分了几个不同的“优先级”类别。 与较低等级的客户相比,较高等级的客户期望(并将支付)更短的交货时间。 我们假设每个班级都有一系列可能的提前期; 当收到客户的订单时,公司会在相关类别范围内提供明确的提前期报价。 将接受在同类产品中尽可能短的交货期报价,但较长的交货期会导致客户决定撤回订单的可能性增加。 由于为较低级别的需求提供了较长的交货时间,因此任何一天的生产计划通常将包括已接受和计划的较低级别需求,这将影响较高级别需求的分配。 因此,提前期政策必须让“足够生产计划中的空间”,以缩短满足更高等级需求所需的交货时间。
按照这个一般场景,我们的生产系统的参数和规则模型如下。
• 在滚动范围内跟踪生产计划。
第 0 天总是表示当天(生产发生的地方),第 1 天表示明天,第 2 天表示后天,依此类推。第 y 天任何时刻的负载是第 y 天已经分配给生产的需求数 今天之后。 时间,以天为单位,由 t ∈ R + 给出,因此我们用 l y t ∈ N 表示第 y 天在 t 的负载(在本研究中,我们取 N 包括零)。
• 有n 类需求,用1、2、…表示。 . ., n. 第 i 类中的一个需求可以收到 N i 个可能的提前期报价之一,以天为单位报价。 类别 i 的特定提前期报价选项表示为 φ ij ∈ Z + , 1 ≤ j ≤ N i 。 例如,提前期报价 φ ij = x 意味着在今天之后的第 x 天向需求提供生产。 我们假设 φ ij > 0,这意味着当天不能提供新的生产需求,并且对于 j < k,φ ij < φ ik。
• 需求根据泊松过程到达,每天的速率为λ,类别之间随机(独立)分裂。
需求来自第 i 类,概率为 δ i ,i δ i = 1。
• 对于j > 1,i 类客户拒绝提供φ ij 的概率由h ij ∈ R + 给出。
• 系统的标称生产能力为 b 个单位。
大于 b 的负载会产生生产加班成本:如果 l y t ≥ b,分配到第 y 天将产生 u(l y t -b+1) 的惩罚,其中 u ∈ R + 表示单位加班成本。
• 任何生产日的最大产能为 c > b 单位。 如果不能将需求分配到负载小于 c 的一天,则需求将丢失。
• 当提前期报价被第 i 类的需求接受时,产生收入 r(i)。 我们通过设置 r(1) = 1.0 对收入进行标准化,并假设 i < j 时 r(i) > r(j),因此较高优先级的需求比较低优先级的需求更有价值。
上述基本模型不承认任何资源不确定性,这可能由例如库存供应链中断引起。 如果在生产日开始时资源不可用,则必须将一些需求重新安排在以后的生产中。 我们通过对标称产能的随机扰动来添加这个额外的维度: • 在每个生产日开始时,发生产能损失的概率为 τ ,与之前发生的任何产能损失无关。 如果存在容量损失,则损失的幅度为标称容量参数 b 的 θ%,其中 θ∼DU [0, 100] 与 τ 无关。
• 如果容量损失需要重新安排第 i 类的需求,则会产生 x(1 + n - i) 的成本,其中 (min φ ij ) ≤ x ≤ (max φ ij ) 是天数 i,j i,j 需求延迟。
• 如果容量损失如此严重以至于无法重新安排第 i 类的需求,则会产生 (1+max φ ij )(1+n−i) 的成本。
i,j 我们现在转向模型中的决策机制。 令 Σ 是我们的生产模型实例的状态和参数空间,因此 σ(t) ∈ Σ 是一个向量,指定生产范围内在时间 t 的所有天的负载信息和给定系统配置的所有固定参数。
一个固定的策略 π 决定了对第 i 类新需求的提前期报价,
(1)
因此,我们定义了由 π 产生的平均系统奖励,
(2)
其中 r̂ k π ≥ 0 是策略 π 生效时第 k 个需求的净回报。 假设第 k 个需求属于 i 类并且在时间 t 到达,则净奖励定义为
(3)
我们的目标是找到最大值 ξ(π)。
3 强化学习
对于给定的 π,我们的模型变成了一个马尔可夫链,原则上可以求解 ξ(π)(更多细节参见 [9])。 然而,这种方法几乎没有实际用途,因为具有 n 天调度范围和每天 c 单位容量的系统具有 (c + 1) n 个可能状态,每个转换概率需要 (c + 1) 2n 个元素 矩阵和转移奖励矩阵。 因此,我们改为使用强化学习 [10]、[11],特别是 Q 学习算法 [12],来研究我们的交付周期有前景的问题。
近似动态规划算法的收敛通常可以通过利用建模系统的任何固有结构来加速,例如更新周期[13]。
在我们的提前期承诺模型中,一个显着的结构方面是与同一生产日相关的提前期报价产生的奖励之间的关系。 如果我们对 Q 学习的实施明确地将提前期报价与给定日期的低类生产需求联系起来,则将任何以后的报价与同一天的更高类生产需求联系起来,Q 因子的近似值可能更直接, 产生更快的收敛。
在现实世界中,需求与具体生产日期的关系是由日历系统完成的。 为了在模拟中捕获此类信息,让连续的正整数表示不同的生产日期。 我们通过让 d kj 代表在第 k 个生产日到达的第 j 个需求,将索引系统扩展到个人需求。 表达式 d kj = i 表明 d kj 是第 i 类的需求。 在生产日期 k 期间到达的所有需求都将安排在以后的一天进行生产。
为了诱导更新结构,假设为需求 d kj 提供 y 天的提前期报价被解释为在日期 k + y 采取的行动 a。 由于那一刻的日期 k + y 只是剩余 y 天的日期的一个实例,我们可以抽象地考虑在生产范围内为第 y 天采取的行动 a。 每个生产日期都是更新周期的一个实例:一个固定大小的“调度”间隔,在此期间会出现提前期报价和相关奖励。
虽然对应于第 k + y 天的提前期报价是由 (1) 给出的策略函数 π 的范围元素,但上述更新观点要求 y 必须作为 π 的参数。 必须修改 π 的形式以允许这样做。 对于 (1) 中给出的策略形式,我们将使用术语“以需求为中心”,对于认为行动基于天数的策略形式,我们将使用术语“以日为中心”。 保留 π 表示以需求为中心的方法对应的策略,设 π 为以天为中心的方法对应的策略。
为了实施策略 π,我们需要区分和关联每个日期 k 获得的奖励,因此 π 必须仅针对日期 k 为需求 d kj 规定一个动作。 单个日期的行动只能是二元的:提供与当天的生产相对应的提前期(行动 1),或不提供(行动 0)。 因此,如果任何需求都可以正式提供三个或更多的提前期报价,我们需要一些额外的结构来实现 π 的一致应用。 这种结构自然源于客户更喜欢更短的交货时间的假设。 例如,如果需求 d kj 的最短提前期报价是 y 天,我们可以对日期 k + y、日期 k + y + 1 等依次计算 π,从而尽快做出相应的提前期报价 返回动作 1。 如果在我们到达可能需要最长提前期的日期之前未返回操作 1,我们将返回对应于后一日期的提前期报价。
为了阐明以需求为中心的方法和以日为中心的方法之间的区别,我们接下来展示一个小系统的示例路径,然后为每种方法展示如何记录系统状态和更新 Q 因子。
A. 样本路径
假设我们只有两类需求。 第 1 类每天平均有 1 个需求,第 2 类每天平均有 3 个需求。 对于第 1 类,我们的交货时间选择是 1 天或 2 天,而对于第 2 类,我们可以提供 3 天或 4 天。
该示例从第 9 个生产日开始,我们假设已经为未来的生产日期分配了需求,如下所示:
()
系统状态通过每个新需求的发生率、相关的提前期报价 φ 和客户响应 C 演变。提前期报价 φ 意味着某个日期 k 的生产,而 C ∈ {A, R} 表示报价是否是 客户接受 (A) 或拒绝 。 接下来给出跨生产日期 9、10 和开始生产日期 11 的样品需求路径、提前期报价和客户响应。 由于此示例的目的是对比两种政策方法,我们从可能激发提前期报价的任何常见约束(例如生产能力)中抽象出来。
()
B. 以需求为中心的制定
这种提前期承诺的方法是围绕个人需求:对于第 i 类的新需求,我们明确地问,我们应该提供什么提前期报价? 与 (1) 中一样,我们的策略函数从 i 类可用的提前期集合中返回一个元素。 虽然到达需求看到的状态向量 σ(t) 原则上是系统范围内所有天的负载,但我们在这里通过投影 σ̂(t) 来近似它,即需求可能目标天的负载:σ̂ (t) = (l 1 t , l 2 t ),其中 l n t ∈ N 表示对应于 d kj 可用的第 n 个最短提前期的当天负载。
因此,给定类 i 的需求 dkj,策略函数的参数是向量 (i, σ̂(t))。 提前期报价是一个动作 a ∈ {1, 2},其中 a = n 对应于 d kj 可用的第 n 个最短提前期的报价。
使用这个公式,上面的样本路径将被记录如下(变量 t 在示例中被抑制):
()
像往常一样,我们将 Q 因子定义为状态-动作对。 “状态”是策略参数,因此 Q 因子唯一地由 (i, σ̂; a) 表示。 使用以需求为中心的公式,我们在每次状态转换后执行更新:
()
在这种情况下,与同一生产日的提前期决策有关的第一个和最后一个 Q 因子被其他八个 Q 因子分开,除了一个之外,所有这些 Q 因子都表示其他生产日的提前期决策。 这些中间 Q 因子的值可能与第一个和最后一个 Q 因子无关,并且这种分离往往会增加收敛所需的迭代次数。
• C. 以日为中心的公式
该公式以实体的生产天数为导向:给定第 i 类的新需求,我们考虑将其分配给与可能的最短交货时间相对应的生产日期,并明确询问我们是否应提供此报价 , 或不? 如果我们决定不提供相应的报价,我们会针对下一个可用的生产日期提出相同的问题。
因此,与 (1) 相比,我们的策略函数必须返回二元响应。 由于规定了类 i 可用的提前期集合,我们可以将策略参数中的类变量替换为所考虑的日期的索引。 此外,与以需求为中心的公式一样,我们将状态变量 σ(t) 投影到 σ̂(t) = (l 1 t , l 2 t ),其中 l n t ∈ N 表示对应于第 n 天的一天的负载 d kj 可用的最短交货时间。
因此,当针对需求 d kj 评估 y 天的提前期报价时,令 (y, σ̂(t)) 为策略函数的相应参数。 策略函数返回动作 a ∈ {0, 1},指示是否提供对应于日期 k +y 的生产的提前期报价(a = 1)或未提供(a = 0)。
使用这个公式,上面的样本路径将被记录如下。 变量 t 再次被抑制,但我们在括号中注明作为每个动作 a 的对象的生产日期,以便于后续解释 Q 因子更新。
()
使用以日为中心的公式,状态 (y, σ̂) 和动作 a 的 Q 因子由 (y, σ̂; a) 表示。 省略了对 k 的引用,因为我们的目标是将日期 k 的特定经验推广到仅由 y 索引的生产天数的一般政策,即距离生产开始的剩余天数。 然而,在实施该算法时,我们仅在与同一日期 k 相关的 Q 因子之间执行更新,因为这捕获了针对同一生产日期做出的提前期决策之间的操作联系。 参考前面的示例路径,这意味着更新仅发生在相关操作旁边括号中给出的具有相同日期的事件之间。 鉴于我们为每个生产日期分配了一个任意的终端状态 T(和一个相关的恒定终端奖励),我们对以日为中心的公式进行了以下更新:
()
在这里,k = 12 时显示的第一个和最后一个 Q 因子,在以需求为中心的公式中被其他八个 Q 因子分开,现在只被另外两个 Q 因子分开。
这种结果通常是正确的,因为在任何固定时期内,预计分配给任何一天的需求少于分配给整个系统的需求。
D. 其他注意事项
以日为中心的观点对奖励的识别有些复杂。 在以需求为中心的公式中,每个奖励都来自一个单一的策略评估,因此可以明确地应用 Q-learning 框架。 在以日为中心的公式中,奖励可能来自两个或多个策略评估,每个评估与不同的 Q 因子有关。 因此,在某一天最终接受生产需求之前,它可能已被一个或多个更早的日子拒绝。 由于最优策略的性质是任何初始拒绝 - 以及最终接受 - 都应该被规定,因此以日为中心的公式中的每个新需求事件必须遵循所有天的 Q 因子更新,以做出关于以下方面的决定 给它。 为了在每个更新中一致地反映结果,我们将相关的即时奖励平均分配给它们。
4 实验的组织
我们对 Q-learning 绩效的评估是围绕这样的假设组织的,即某些元素比其他元素在管理上更重要。 一般来说,这些是经理可以在一定程度上控制的变量,当然要为此付出适当的成本。 对于提前期承诺系统,此类变量的集合 V 包括:
• N i ,每个客户类别的提前期数量,
• b,系统的标称产能,
• u,与加班相关的单位成本,
• τ ,供应链中断的概率。
相比之下,一些元素具有更多参数的性质,这些参数描述了公司面临的短期业务状况。 在这里,这些参数的集合 P 包括: • • • • • •
λ,总平均需求,
n,客户类别的数量,
δ,类别之间的需求分布(n 向量),
r,每个类别的潜在回报 类(n-向量),
h ij ,每个类的拒绝概率,
c,系统的最大容量。
我们首先为 P 中的元素固定几个不同的值集。对于 P 中的每个可能的值集,我们的模拟实验然后显示了 Q 学习对 V 中元素的不同选择的性能。在 P 中,我们将考虑限制在 n = 2 或 n = 3 的情况。对于 n = 2,我们取 δ = (0.3, 0.7),因此具有最高优先级的类平均占需求的 30%。 在 n = 3 时,我们取 δ = (0.1, 0.2, 0.7),因此具有最高优先级的类平均占需求的 10%。
对于 n 的两个可能值,我们定义了三种不同的奖励结构。 这些在表 I 中有详细说明。对于 n 的每个结构和值,向量 r 显示了对应于每个类别的不同奖励的组件。 每种结构下的预期回报由此和上面的 δ 得出。 奖励结构 A 建立了基线预期奖励值和变异系数。 奖励结构 B 具有较高的预期奖励值,具有较低的变异系数,而奖励结构 C 具有较低的预期奖励值,具有较高的变异系数。
Table 1
为了指定总平均需求和最大容量以及类的数量,我们在表 II 中定义了四种需求情景。
Table 2
对于拒绝概率 h ij ,我们假设对于所有班级,提前期报价的拒绝概率每超过班级最有利的提前期一天增加 10%。 我要求一个类别的概率将拒绝 x 天的提前期因此是 0.1(φ i1 - x) 由于这四个场景中的任何一个都可以用三个奖励结构中的任何一个来评估,我们总共有来自 P 的 12 个参数场景作为上下文 评估来自 V 的一组值(即,对于给定的 N i 、b、u 和 τ )。
通过同时改变 V 中的最多两个变量,我们可以评估它们对系统性能的单独影响。 通过改变奖励结构或需求场景,我们可以看到 V 中每个变量的性能影响在这些上下文中是否一致。
现在转向 V 中的变量,我们将 N i 的值限制为单个数字 N 以进行评估。 特别是,我们在模拟中比较了 N = 2 或 N = 3 的性能。 我们假设所有提前期的集合形成一个完整的序列 1, 2, 。 . . , N, N +1, . . . , nN . V 的其他元素的基本情况是 b = λ、u = 0.25 和 τ = 0.100。
根据这些不同的场景、变量和常数,所执行的模拟集列于表 III 中。
每个模拟集都是针对所有三个奖励结构进行的,因此不注意这方面。
Table 3
对于模拟集中参数和变量的每个不同组合,第三节中的讨论提出了通过 Q-learning 确定的三种可能的策略类型。
类型 1:以日为中心的政策,状态近似于所考虑的日负荷。
类型 2:以日为中心的策略,状态近似于给定需求类别的所有可能目标日的负载。
类型 3:以需求为中心的政策,状态近似于给定需求类别的所有可能目标天的负载。
虽然对于需求情景 1 和 2 以及对于 N = 2 时的情景 3 学习了所有三种策略类型,但对于 N = 3 和需求情景 4 的情景 3 只学习了类型 1。
在后一种情况下,策略类型 2 和 3 需要一个难以处理的大小为 1 的状态空间。
为了为这三种方法生成的策略提供基线,我们还使用模拟来确定贪婪启发式“策略类型 0”的性能,只关注即时回报: 类型 0:为每个需求提供同类中的第一个可用提前期,即时回报将是正的。
5 结果
所有政策的 Q 学习基于 10 7 模拟天的需求。 我们用 10 5 个模拟需求天的 50 次独立复制来测试策略,使用通用随机数来减少方差 [14]。 标准步长用于学习:1/n 用于 Q 因子的第 n 次更新。
其他步长的实验表明收敛或输出质量没有改善。
所有保单的绩效均表示为从每个潜在奖励单位中获得的平均分数。 这有助于在不同的奖励结构之间进行政策比较,因为具有更高的每需求预期价值的系统的平均奖励在绝对量级上很容易很大,即使该政策只获得了潜在奖励的相对较小的一部分。
A. 模拟集 1
本组的目标是多维的。 最初,对于每个奖励结构,我们希望了解 N 和 τ(每个类别提供的交货时间数和供应链中断概率)的不同选择如何影响各种政策的绩效。 随后,我们考虑 N 和 τ 的变化如何影响策略的相对性能。
表 IVa 和 IVb 总结了初始结果。 表 IVa 显示了当 N = 2 或 N = 3 时(在所有策略中)是否有最佳性能结果。N = 2 的出现以黄色突出显示。 然后表 IVb 显示了相应的最佳策略类型; 我们分别突出显示类型 2 或 3 黄色或绿色。 这些表格中的突出显示基于 95% 置信水平的性能差异。 在这个级别上,我们没有发现两个或多个策略在统计上无法区分以获得最佳性能的实例。
在平均需求较高(场景 3 和 4)和中断概率较高的情况下,我们看到 N = 3 具有明显优势,而在平均需求较低(场景 1 和 2)和较低的情况下,N = 2 往往表现更好 中断概率。 当然,增加中断概率实际上需要增加系统的到达率,因为必须重新安排更多的订单。 泊松分布的均值和方差是相同的,因此我们可以建议较大的 N 值减轻需求不确定性增加的不利影响。 这是我们期望提高交货时间灵活性的好处。
相反,当需求不确定性较低时,交货时间较长的优势会被客户拒绝的可能性增加所抵消,而灵活性较差的政策表现更好。
在评估策略类型的性能时,请记住策略类型 2 和 3 在状态空间过大的情况下不会被评估。 因此,虽然很明显 Q-learned 策略的性能总是优于启发式(策略类型 0),我们无法就原则上哪种策略类型执行最佳得出总体结论。 在较低的平均需求和较低的系统容量(场景 1 和 2)的情况下,策略类型 2 和 3 的较高成功率表明,这些策略负载的矢量表示提供的额外信息是有益的,这是合理的。 然而,值得注意的是,在同一地区,政策类型 2 和 3 之间的成功分布。
Table 4
策略类型 2 在中间需求、中间容量和更大的预期需求值(需求情景 2,奖励结构 A 和 B)的组合中表现最佳。 策略类型 3 在最小需求、最小容量和最大预期需求值的组合中表现最好(需求场景 1,奖励结构 B)。 尽管向量负载信息的两种策略类型都可能有好处,但我们可能会在这里看到策略类型 2(以天为中心的公式)中更新的直接性与将“剩余时间”变量添加到状态的负担之间的权衡 本政策的空间。 当需求和容量最低时,需要最小数量的 Q 因子,“剩余时间”变量的额外负担不能被更新的更直接性所抵消。 对于中等需求、容量和 Q 因子计数,更直接更新的价值是值得的。
现在转向 Q 学习性能与启发式策略(类型 0)的性能相比的问题,我们发现在更高平均需求的情况下,由 N 实例化的提前期灵活性水平往往具有 比选择提前期政策对系统性能的影响更大。 图 1 显示了 Q-learned 策略(类型 1)对于所有三种奖励结构的性能优势,给定需求场景 4 和 N = 3。从图中我们还可以推断出 Q-learned 策略能够更好地处理 需求流中更大程度的价值差异。
Fig 1
B. 模拟集 2
该集考虑了启发式策略(类型 0)和 Q 学习策略(类型 1)关于不同级别 u 的性能,适用于加班的单位成本。 假设所有需求情景和交货时间配置对 u 的变化有类似的反应,我们只对需求情景 4 和 N = 3 进行实验。
Q-learned 策略显示出优于启发式策略的一般性能优势,如图 2 所示。结果可总结如下:
• Q-learned 策略在所有情况下都比启发式策略具有更好的平均性能,除了 u = 0.02 和 u = 0.03,奖励结构 B,
• 在任何情况下,Q-learned 策略在统计上都没有比启发式策略更差,
• Q-learned 策略在 u ≥ 0.05 和奖励结构 B 的情况下在统计上比启发式策略执行得更好 ,
• Q 学习策略在统计上总是比具有奖励结构 A 和 C 的启发式策略执行得更好。
总体而言,我们在这里发现了与在模拟集 1 中看到的奖励集相似的模式。Q-learned 策略的相对性能随着 u 的增加而提高,并且这种改进随着需求流:我们看到奖励结构 C 的相对改善最大,而奖励结构 B 的相对改善最小。同样,我们可以推断出 Q-learned 策略能够更好地处理需求值的变化。
Fig 2
C. 模拟集 3
我们的第三个模拟集考虑了关于不同级别 b(标称系统容量)的策略性能。 在需求情景和交货时间配置之间的定性相似性的假设下,我们仅对需求情景 4 和 N = 3 进行实验。
情景 4 的平均需求是每天 100 个单位。 虽然很明显,名义容量小于平均需求是不可取的,但我们评估 b = 95 的情况,以了解这种繁重约束的影响。
Q 学习策略相对于启发式策略的性能优势如图 3 所示。
Fig 3
从这些我们可以看出,在所有情况下,Q-learned 策略的性能在统计上都优于启发式策略的性能,尽管性能差异当然在 b 中下降并且在 1% 左右或更少b = 115。尽管如此,奖励结构中出现了相同的模式:奖励结构 C 的 Q 学习收益最大,奖励结构 B 的收益最小。
D. 与马尔可夫链分析的比较
模拟研究结果的最终观点由马尔可夫链分析提供。 对于 N = 2、τ = 0 和固定前置时间策略的需求场景 1,我们可以分析确定链产生的平稳分布和平均奖励。 然后详尽的搜索揭示了最优策略。 这些结果列于表 V。
Table 5
表 V 中的行和列分别表示第 1 类需求的阈值水平 π 1 和第 2 类需求的阈值水平 π 2 。 每个案例的最佳平均奖励以粗体显示,与 Q-learning 确定的策略对应的奖励以绿色突出显示。 任何高于 Q-learning 平均奖励的次优平均奖励都以黄色突出显示。 表格的范围仅限于与黄色区域接壤的策略(即,我们假设所示策略之外的策略没有表现得与 Q-learning 策略一样好或更好。)尽管表 V 中的结果表明 Q-learning 没有提供最优阈值策略,结果离最优不远。 在奖励结构 B 的情况下,表中与最优性的最大偏差为 0.009156。在具有三个或更少类的问题中,围绕 Q 学习解决方案的策略空间的局部搜索可能会揭示真正的最优性。
6 结论
我们研究了面向多个客户类别的生产操作的交货期承诺问题。 Qlearning 允许我们减轻维度问题,但大型状态空间仍然对计算资源构成挑战。 此外,算法的更新模式由于存在多个客户类别而变得复杂,因为直接相关的提前期行动不太可能直接顺序发生。 我们通过重新定位交付周期的单一设备来解决这两个问题,以专注于生产天数,而不是个人需求。
我们从 Q-learning 得到的结果表明,在大多数情况下,它比简单的启发式方法提供了明显的改进,以保证交货时间。 特别是,只有当系统面临的业务条件更容易时,学习策略的相对优势才会很小:需求类别之间的同质性更高、供应链中断的可能性更小、名义生产能力更高或加班成本更低。
当这些条件中的任何一个变得不那么有利时,Q-learning 的相对收益就会增加。
尽管如此,根据马尔可夫链模型的基准,我们必须假设我们的 Q 学习结果仍然没有达到最佳前置时间策略。 因此需要进一步的工作,以便为更大的系统建立基准并改善我们算法的输出。 一些可能性是显而易见的。 调整多个决策日的奖励分配可能会产生预期的结果。
此外,我们可能会采用其他价值函数逼近技术,例如神经网络训练,作为我们以日为中心的公式的补充或替代。
边栏推荐
猜你喜欢
ipset restore命令维护set,但原已存在的条目未删除掉
Alibaba Cloud Cloud Server Firewall Settings
Selected as one of the "Top Ten Hard Core Technologies", explaining the technical points of Trusted Confidential Computing (TECC) in detail
[GAN]老照片修复Bringing Old Photos Back to Life论文总结
Handler消息机制-Native层
typescript6-简化运行ts的步骤
基于JSP实现校园二手交易平台
leetcode力扣——一篇文章解决多数之和问题
typescript1 - what is typescript
风靡全球25年的重磅IP,新作沦为脚本乐园
随机推荐
看完这100个客户需求,我终于知道企业文档管理的秘密
C# uses RestSharp to implement Get, Post requests (2)
保存在 redis中的token 如何续期?
RFID固定资产盘点系统给企业带来哪些便利?
与tcp协议有关的几个知识点
「活动推荐」探索未来:数字科技
SQL窗口函数
typescript4 - installs a toolkit for compiling ts
桌面软件开发框架大赏
42.【vector简单列题】
Limit injection record of mysql injection in No. 5 dark area shooting range
MagicDraw secondary development process
【三子棋】——玩家VS电脑(C语言实现)
【无标题】
【微信小程序】页面事件
typescript5 - compile and install ts code
风险登记册
一文带你玩转offer-01
typescript4-安装编译ts的工具包
typescript1 - what is typescript