优化策略

本概念文档说明如何定义由 M3 SCP 提供的优化策略要素以及这些要素如何影响优化处理。M3 SCP 中的优化系指基于最低成本履行最佳需求来寻找最佳且最可行的供应链解决方案。

作为一种灵活方式,M3 SCP 的关键功能在于其支持逐步计划决策。这一方式可以轻松操控由优化程序零件处理的数据。为了应用不同优化策略,M3 SCP 可提供由用户组合在一起的各种重要优化策略。

需要时,用户可在供应链计划处理期间应用优化。通过逐步修改优化策略和重新优化计划,可以发现不同类型的计划问题并可针对这些问题作出决策。这样,逐步计划方法不仅仅是一个理论,事实上也是可行的。有关此方法的详细信息,请参阅逐步计划

优化程序零件可嵌入 XPRESS-MP 优化程序产品,该产品已获全球领先的优化软件公司 Dash Optimization 的许可。

结果

本概念文档向用户提供关于优化策略如何应用于供应链计划处理的基本信息。

此信息可用于:

  • 基于获得最高可能利润执行计划优化
  • 基于需求履行最佳方式执行计划优化
  • 根据具体需求调整供应链计划中的优化参数设置

准备工作

用户应该具备如何根据供应链结构、要素和用户环境等使用 M3 SCP 的基本知识。

优化要素 - 限制

供应链模型包含许多限制物料经过供应链特定部分的不同资源。系统会为每个资源在每个时段分配一定容量。在实际供应链中,该容量可能随时间的变化而发生改变。是否应更改容量根据许多因素,例如,资源类型和通过建议更改所获得的益处。

如何处理资源限制

所有类型的资源基本上都可以以相同的方式处理。可以流经相同资源的 M3 SCP 物料组将竞争可用容量。如果可用容量不足,则容量分配将基于为供应链定义的总成本和优先级。可以多种不同的方式处理剩余 M3 SCP 物料组:

  • 可以通过其他更加昂贵的供应链部分获得
  • 可以在较早时段中占用相同资源。这将产生额外的库存成本
  • 要么由于成本太高,要么由于供应链中可用的总容量不足以满足需求,因此其根本无法进行交付

通过放宽一个或多个资源的容量限制,可以为这些资源确定理想的容量请求。理想容量系指总体计划从成本/角度来看尽可能完美。为了实现这一目的,优化时会将资源容量设置为无限。这意味着涉及的资源将没有限制。现在,可以根据优化程序建议的容量分析优化计划。也可以通过将请求容量与最大可能容量(包括可用容量增加)进行对比以决定该解决方案的可行性。如果没有,则可能需要寻找其他选项。

逐步导入有限容量

通过先将所有容量设置为无限并确定首个最关键的限制,可以应用限制理论。尝试通过增加容量等来解决所确定的限制。如果无法解决此等限制,必须接受其有限性。忆解决或接受首个限制后,系统将自动引导至下一个最关键的限制,此时需要确定:能否妥善解决或只能接受该限制。继续这样做直到没有任何关键限制为止,或者直到决定将所有剩余可能限制都变为有限为止。

M3 SCP 可用于以非常灵活的方式选择应为有限和无限的资源容量,如下面小节所述。

限制状态和控制

所有单个资源都为每个时段分配了一个限制状态。此状态会指示优化程序遵循以下三个选项之一:

资源容量可以设置为:

  1. 时段内有限

  2. 时段内无限

  3. 遵循一般优化策略

当未选择任何选项时,默认状态将遵循通用优化策略。在“优化策略设置”屏幕中的第一个选项卡“限制控制”中定义通用有限/无限状态。这些设置可以针对每种类型的资源进行(运输、供应、库存区域、进货和出货),也可针对所有资源同时进行。

定义应针对哪些资源应用有限或无限容量

系统会为供应链模型中的每个单独资源分配一个介于 1 至 99 之间的容量级别,且该级别在创建数据时定义。通过选择通用优化策略级别,优化程序可以自动将低于该级别的所有资源设置为无限,并且将该级别或高于该级别的所有资源设置为有限。相关示例,请参见下一图形。

如果预先知道资源应当被视为具有有限容量的顺序,则可以使用特定容量级别。这一操作将基于用户自己的供应链计划经验。例如,如果在可预见的未来期间部分资源的容量事实上无法改变,则可以向这些资源分配高容量级别。通常可向容量可以改变的资源(例如,只需通过向合适的人询问)分配较低的容量等级。

应格外留意没有可用容量的时段

用户在使用无限容量时有一个需要注意的例外情况。该例外情况适用于没有容量可用的时段,例如假日。默认情况下,使用无限策略时,优化程序将遵守所有零容量时段。然而,可以禁用这一遵守零容量参数,以便检查也将这些资源容量设置为无限的效果。

忽略限制状态参数

在“优化策略”屏幕中启用“忽略限制状态”参数时,将指示优化程序忽略单个状态设置。这一操作可使优化程序对所有资源使用通用优化策略(如“限制控制”选项卡下指定)。

资源利用率下限

对于采购、生产和运输资源来说,可能启用另一种资源限制,这将自下限制资源利用率,例如至少 50%。这意味着,基于成本和价格考虑因素,可以指示优化程序使用比其实际“有权享有”的更多资源。通过在两种不同优化中打开和关闭限制,用户可以发现使用限制的影响。

此等下限对于必须全部引进原料奶供应的乳业公司来说十分有用。另一示例则是无需整年运行的生产设备。如果管理层不想在停工期间裁员,则可为设备分配最小利用率,例如 50%。

请注意:设置最小资源利用率可能导致无法找到可行方案,例如,如果没有足够物料发送至资源。因此,在分配下限时要十分谨慎。如果无法满足所有限制,则模型将不会产生新的计划。

库存限制

该模型还包括两种特殊类型的限制,可用于控制库存级别。最小覆盖天数(安全存货)可用于自下限制库存建立,最大覆盖天数(保存期限)可用于自上限制库存建立。这些限制是动态的,因为其实际限制值根据解决方案的其他部分。

与常规时段级别完全不同的是,这两种限制整天都在发挥作用。更多信息,请参阅“屏幕帮助”中的“库存报告”。

“资源利用率下限”中所述之注意事项对于这些限制是有效的。

优化要素 - 需求履行标准

销售节点的详细需求可定义供应链网络中所需的物料流总额。成本结构可定义满足这种需求的最佳方式。然而,由于在供应链模型中需要花费用采购、生产、库存和运输物料,因此最廉价的解决方案(仅基于成本)将无法提供任何东西。为此,供应链模型需要一个特定标准来启动流程,这使其能够满足需求。这一操作可在模型中以与两种不同交货标准相对应的两种不同方式实施:

  • 仅在有利可图时交货(最佳利润)
  • 尽可能多的交货(最佳交货)

仅在有利可图时交货(最佳利润)

该标准用于使物料流能够由利润驱动以实现需求履行。当优化程序规定是否交付物料时,将交货的总成本(物料、运输等)与销售价格/值进行比较。将不会交付总成本超过销售价格的物料。

由于其可能出现上述情况,因此,该优化流程并非基于逐项物料完成,而是针对整个模型立即执行。优化程序将试图在整个供应链中获得尽可能多的利润。这意味着缩减一种物料(任何物料)的建议交付都将降低总利润。

如果总需求超过总供应能力,将无法满足部分需求。优化期间,此等缺失交付将不会顺延至后续时段。事实上,这些交付根本不会实现。然后,用户可以决定是解决容量问题还是调整需求。通常由优化程序决定分别满足和不满意哪个需求且此该决定仅以利润为基础。将最先满足可提供最大利润的交货。

这一标准非常特殊,因为关于利润的考虑因素要求模型中的所有成本都是真实的。因此,合并影响成本的总优化策略的部分要素,例如减少小批量生产和成本倍增因子等,可能会导致难以确定或模糊的结果。系统将达成一个可行的解决方案,但应满足的要求的优先级将无法得知。

尽可能多的交货(最佳交货)

这一标准的使用意味着,供应链流将因无法满足需求而受到惩罚(基于缺失交货罚金)。优化程序将专注于不惜任何代价满足需求,以避免因未能及时交货而产生的更高金额的罚金。这意味着罚金可用于确保尽可能多地满足需求,即使满足这些需求不会带来任何利润。

与最佳利润标准一样,总供应能力可能不足以满足所有需求。此外,优化程序还会确定满足和不满足需求的优先级。但在这种情况下,优化程序以缺失交货罚金 (MDP) 的差异所定义的优先级为基础。将最先满足具有最高 MDP 的需求。这意味着,如果部分需求具有比其他需求更高的优先级(例如特殊的 M3 SCP 物料组或特殊市场),则可在这里设置此等优先级。在 MDP 相等的情况下,优先级将以总成本为基础。

手动交货决策

使用这两个标准中的任何一个,可以使优化程序根据成本和/或利润来决定要满足哪些需求,如上所述。

但是,可以通过确定物定市场 - 物料组 - 时段组合的最低交货量以更加直接地影响优先级。这种方法可以指示优化程序满足物定需求,而不考虑由成本、销售价格和惩罚结构给定的交货优先级。

请注意:设定最低交货量并非增加供应链中资源容量的方式。因此,在分配最低交货量时要十分谨慎。如果无法满足所有最小值,模型将不会产生新的计划。

比较计划

通过针对两个标准中运行优化程序,可以定位不可盈利的需求。此外,优化还将显示在必须满足需求的情况下不得不接受的利润损失的数额。

优化要素 - 减少小批量生产

优化基于成本和利润导向型的供应链模型将始终创建可能最好的经济解决方案。然而,考虑到要生产的数量,所建议的解决方案可能并不一定始终合适。优化程序将始终计划最便宜的生产,而不会考虑在更短的时段内或更少的生产工厂聚集的生产实际上可能更加合适。在某些情况下,如果一个时段的小批量生产移动至较早时段或其他已计划生产相同 M3 SCP 物料组的生产工厂,则可能会产生更加合适的计划。

可以通过两种方式减少小批量生产:

  • 手动减少小批量生产
  • 自动减少小批量生产

手动减少小批量生产

可通过使用“小批量生产”报告来确定小批量生产。此外,该报告还可用于作出如何处理数量的手动决策,以停止特定时段的生产。然后,优化程序会找到符合已采纳新决策的替代解决方案。

自动减少小批量生产

减少小批量生产数量的另一种方法即优化程序通过混合整数线性规划 (MILP) 进行处理。这一操作由优化策略的“减少小批量生产”部分启动。其工作原理是引入关于某一时段内运行处理(时段生产惩罚)有关的固定价格(惩金)。

每次每次在时段内运行处理时都会产生罚金。为了减少总罚金,优化程序将尝试通过组合的方式来降低小批量生产的数量。这并不能保证将会消除所有小批量生产,因为实际上在有限的容量下并非总是可行的。优化程序将尝试通过使用“时段生产惩罚”(BPP) 参数,并通过指示投入或多或少的努力以实现这一目标。BPP 值乘以用户选择的因子。通过这种方式,较高的 BPP 因子将使其对优化程序更具吸引力,进而减少小批量生产的数量。例如,可及时取消生产并与同一时段的其他小批量生产放置在一起。

所有 BPP 值均基于该处理所需的最低生产量计算。根据计算,将该生产数量向后移动一个时段(基于库存成本)将是十分有益的。

为了保证生产数量符合 MDPQ 数量,可以引入 MDPQ 引入作为硬限制。通过这种方式,每个时段中的生产将为 0(零)或等于或高于 MDPQ,即使其意味着部分生产物料仅为存货。

由于可行解决方案的数量非常多,像这样的 MILP 问题可能很难依据计算解决方案所需的时间来予以解决。因此,强烈建议使用此策略之前,尽可能多地人工作出决策。每个手动决策均可减少解决方案的计算时间。MILP 优化在优化期间可产生许多不同的可行解决方案。可以在任何给定时间中断优化处理并且使用当前最佳解决方案以作出进一步决策。

优化要素。成本

默认情况下,可在 M3 SCP 中使用真实值表示运输、供应、采购、库存和处理成本。通过这种方式,优化可以表示真实利润,并且结果可以是实际的预期利润。可以改变所有成本数值,以测试各种模拟场景。

这一方法可用于执行模拟并提供问题答案,例如:

  • 如果我们在欧洲工厂的生产成本增加了 5% 怎么办?
  • 如果来自澳大利亚的航空运输成本从明年 1 月 1 日起增加 10% 怎么办?
  • 如果库存成本高估了 15% 会怎么样?

通过这种方式,成本变化详情可用于执行敏感度假设分析。例如,可以通过创建一组适当的记分牌记录来获得成本变化结果的直接概述。

如果使用固定成本建立生产资源班次,这些成本将默认为线性化。也就是说,其将被视为仅是可变成本的添加。要充分利用固定成本优化,必须激活“减少已用班次”选项,以启动 MILP 优化,同“减少小批量生产”一样。也就是说,这需要更长的时间来解决,但这些解决方案会更加理想。

成本倍增因子 (CMF)

影响优化程序中所用成本的另一种方法是通过优化策略中的“成本倍增因子”(CMF) 部分。优化程序可将这些因子作为倍数应用于实际成本中。这一操作将会更改单个成本类型的相对权重。例如,可以指示优化程序投入额外努力以最大程度降低运输成本(以增加生产、采购、处理和库存支出为代价)。然后,优化程序会假定更高的运输成本。这一操作可以通过将“运输 CMF”设置为 2 来完成。然后,优化程序会将运输成本节约等级 5 与生产成本节约等级 10 视为相同的优先级。

使用此选项可能会导致这些解决方案比通过直接使用实际成本提供的解决方案更加真实。

此选项可用于寻找更接近实际情况(而非直接使用成本)的解决方案。然而,为了能够受益于该选项,CMF 的使用必须仅以用户的计划经验为基础。可能需要对相关因子执行多次迭代模拟和微调。

但所有记分牌记录和报告中反映的费用都将以实际成本表示。这些费用不会受到 CMF 的影响。

优化要素。安全存货

默认情况下,所有安全存货限制都将视为硬限制,这意味着优化期间永远不会违背这些限制,即使这个要求导致无法找到可行的优化解决方案亦是如此。

为了解决这一问题,激活“使用安全存货以避免不可行性”功能,以帮助优化程序控制所有安全存货限制,进而获得适用于其他不可行模型的可行解决方案。例如,在初始库存级别较小且第一时段期间重建至安全存货级别的容量不足的情况下。

这一功能可由诸如时段生产惩金和和缺失交货罚金等处罚方式控制。

这里的罚金必须明显高于同一物料的缺失交货罚金。如果罚金较低,则优化程序可能会开始履行安全存货物料的需求,因为这样将比缺失交货的罚金“更少”。

然而,可能在某种情况下,计划这种安全存货违反可成为一种理想的解决方案,因为这样做能够履行采用其他方法将会缺失的需求。这一操作可以通过打开“使用安全存货以避免缺失交货”来完成。可以指定可用于需求履行的安全存货级别的一般百分比。

此外,这一功能也可通过罚金进行控制。这里,罚金必须明显高于以“正常”方式交付物料的成本,且明显低于“缺失交货罚金”。

优化要素。高级需求功能

作为上述供应链模型标准公式的补充,M3 Supply Chain Planner 可支持许多特殊的高级功能,以便以更加灵活的方式处理需求。

如果供应链中没有足够的容量满足所有需求,可以尝试使用安全存货并查看这种方法能否解决问题。

注:这是上文所述之安全存货惩罚方法的备选项。区别在于,这里描述的备选项更难进行设置,但可将安全存货仅用于选择客户和物料,而惩罚方法容易使用,但是不允许选择要包括的客户和物料。

或者作为一种补充,可能适用于寻求部分交货的延迟策略。

作为一种完全不同的功能,其可以单独运行或在一个或两个先前功能后运行,并且可以寻求隐藏在供应链中过剩容量的机会。这三种高级功能每次只能使用一个。如果想要使用多个功能,必须按照上述顺序予以使用。

安全存货消耗

这一功能可用于通过在当前解决方案中构建的安全存货来解决所选交货问题。尽可能多的解决方案将保持原样,仅保留可履行更多缺失交货的选项。这一操作可通过将最终物料从物料安全存货直接发送至销售节点,或通过从物料安全存货生成新的最终物料并将其发送至销售节点来实现。

只要扣除时段内的部分安全存货便可以相同金额降低所有后续时段中的库存。因此,优化程序将尝试重建尽可能多的安全存货。

延期交货

这一功能可用于通过将所选缺失交货延期至后续时段来解决交货问题。所有未选择的缺失交货将以初始值予以保持。延期可通过限制延期数量以及最大延期时间等参数进行控制。

机会计划

这一功能可用于寻求如何最大限度地利用供应链中的超额容量。可以选择为哪些需求寻求机会,以及应该允许增加多少要求。基于这些参数,优化程序将根据所选优化策略尽可能地自动增加需求和交货,以最大化利润或交付能力。

注意:不要启动带有可扩充式需求和无限容量的机会计划,因为这可能会导致无限/不受控制的利润或交付能力。这一操作使优化程序无法生成新计划。

预定义优化策略

M3 SCP 可为优化策略提供以下标准设置。

  • 无限 - 理想计划
  • 有限 - 实际计划
  • 利润 - 优化利润、实际计划
  • MILP - 实际计划(包括减少小批量生产)

无限 - 理想计划

所有资源都被视为具有无限容量。这意味着,优化程序不会考虑资源限制。其将重点关注满足所有需求,但前提是所有必需资源容量均可用,或者可以以相同的成本获得更多的资源。

无限策略主要用于供应链计划的早期阶段。该策略旨在揭示由于提前期和小批量启动库存而将会缺失的交货数量,即使所有必需资源容量均为可用。这是一种不会反映实际情况的理想计划。但是,无论采取何种行动,突出显示将要缺失的交货都是非常有用的。

大多数情况下,从无限优化策略直接到有限优化策略是远远不够的。用户将必须创建许多用户自定义的优化策略,包括从无限到有限的逐步计划流程。将资源容量从无限逐步变为有限时,这一操作可用于进行集中分析并解决当前最为重要的限制。有关此方法的详细信息,请参阅逐步计划

有限 - 实际计划

所有资源都被视为具有有限容量。这意味着,优化程序会考虑资源限制。这一策略专注于满足所有需求,而不会考虑利润。

该策略可在逐步计划流程中作为下一可选步骤使用,用于分析和解决导致缺失交货的资源限制。系统不会将该步骤视为最终计划。但仍是获得优化供应链计划的重要步骤之一。

利润 - 优化利润、实际计划

除了优化程序会考虑利润,这一策略与有限优化策略类似。其允许从获得最高可能利润的角度优化供应链流。

通常在分析和解决/已接受缺失交货和资源限制时执行成本优化程序。

MILP - 实际计划(包括减少小批量生产)

这一策略可计算所有可能的解,并使用混合整数线性规划 (MILP) 考虑所有限制。有关 MILP 的更多信息,请参阅优化程序背后的数学

此外,MILP 还包括“减少小批量生产”功能,可用于优化程序收集小批量生产,以避免“时段生产惩罚”。最后,其还包括“包含已用班次”功能。

使用这种方法前,应尽可能多地作出手动决策,因为将所有情况考虑其中需要冗长且复杂的数学计算。

优化程序背后的数学

每个已优化供应链计划都是基于线性规划 (LP) 和混合整数线性规划 (MILP) 的复杂数学计算的结果。这里将不会详细讨论这些技术,但有必要介绍一下有关这些技术如何与寻求最佳解决方案相关联的基础知识,以便明智地设置高级优化参数。经证实,线性和整数线性规划对于在计划、工艺流程、计划、分配、设计等流程中为许多不同类型问题的建模是有价值的。

线性规划 (LP)

在线性规划中,字编程通常以与术语规划相同的方式进行使用。线性规划的重要性一部分源于其众多应用(例如,M3 SCP 受益于 Dash 提供的 XPRESS 模块),另一部分源于其用以寻求最佳解决方案的各种良好、可靠技术。然而,仅仅基于 LP 的“最佳”计划应该被认为是在纯数学意义上的最佳计划,而非业务优化计划。数学计划将很可能需要额外的手动决策。

在 M3 SCP 中,可以应用两种不同但紧密相关的优化算法来解决 LP,即标准单纯形算法和双单纯形算法。尽管技术十分相似,但优化时间可能截然不同,因此在每种特定情况下,最好尝试两种算法以找到最快算法。

通常,优化模型的工作原理是通过罚金控制行为,然后建立某些行为的优先级。某种行为的罚金越高,其相应需求就越少。例如,如果交货十分重要,则缺失交货是无法接受的,因此会附加较高的罚金。此外,延期交货也是不希望看到的,但其严重程度却低于缺失交货,因此会附加较低的罚金。通过这种方式,优化程序既可了解两种情况均是不希望看到的,又能够区分“不希望看到”的相对程度。

当应用依赖这些罚金的一个或多个内置功能时,正确地相对彼此定义成本和罚金对于优化结果至关重要。罚金级别的基本经验法则是:

价格 = 标准价格/销售价格

使用安全存货以避免缺失交货:5 * 价格

延期交货罚鑫 10 - > 990 * 价格

缺失交货罚金:1000 * 价格

使用安全存货以避免不可行性:10000 * 价格

混合整数线性规划 (MILP)

MILP 是整数规划 (IP) 和 LP 的组合。纯 IP 要求所有变量都具有整数值(整数),而 MILP 则只要求部分变量为整数即可。整数程序通常具有比 LP 程序更加实际的优点。但其时间问题较难解决。相较于普通线性规划,整数规划作为一种更难解决的问题类型可能不是很明显,但这确实是理论和实践中都会遇到的情况。

M3 SCP 如何在 MILP 使用 LP

LP 用于基于放宽条件下寻找首个“最佳”解,这意味着将整数变量视为非整数。

MILP 的起始点位于由 LP 找到的解决方案中。其会找到可不断接近最佳界限的最佳解决方案,其中:

  • 最佳界限表示可以找到的最佳可行整数解的值界限,并且
  • 最佳解决方案是截至目前为止找到的最佳可行整数解的值。

所有计算都基于成本函数,其反映用户选择的优化策略。这一操作旨在满足供应链计划流程中用户的特定目标。

下图列示了 LP 和 MILP 计算的进度。

  1. 第一目标是找到 LP“最佳”解决方案。这一解决方案是 MILP 计算的起源。

  2. MILP 的起始点来自 LP“最佳”解决方案。MILP 连续计算最佳界限值,直至找到可行整数解。然后,会继续寻找最佳整数解的最佳界限值。每找到一个新解,就会更加接近最佳界限值。

MILP 会继续执行计算,直到最佳解满足最佳界限,即找到最佳整数解。

然而,定义附加优化参数可以指示优化程序在早期阶段停止。这一操作可通过选项“停止时间”、“时间限制”或“最佳解阈值”完成。更多详细信息,请参阅优化程序的字段帮助。