问题背景
现在我的研究问题是 维修零部件 选址-库存 联合优化的柔性供应链设计,即我希望实现一个多源供货策略方案而非单源供货的柔性供应链。我的需求是没办法直接计算的,我只能通过生存分析去预测每个部件故障的概率,但我们只考虑在决策期一个需求点最多产生一次需求。而管理者提供了所有候选仓库的租金固定成本数据,给出了每一个仓库的仓储成本数据,给出了每一个仓库发货到每一个需求点的运费,给出了如果缺货需要从中心仓额外调货的高昂运费。管理者希望能给出最佳的仓库选址决策,以及每个仓库的库存决策。
传统建模视角 - 两阶段随机规划模型
这种问题在传统的建模视角下,我们通常采样两阶段随机规划模型的范式构建模型,具体如下:
目标函数 (Objective Function)
约束条件 (Constraints)
1. 库存能力逻辑约束 (Linking Constraint)
2. 供给侧流平衡约束 (Supply Balance Constraint)
3. 需求侧流平衡约束 (Demand Satisfaction Constraint)
4. 变量非负与二值约束 (Variable Domains)
2. 符号与公式详解 (Detailed Explanation)
集合与索引 (Sets & Indices)
: 候选仓库集合(索引 )。 : 需求点/设备集合(索引 )。 : 场景集合(索引 ),代表不确定性的具体展开(如“沿海故障”、“风平浪静”等)。
参数 (Parameters) - 已知常量
: 在地点 建立仓库的固定成本。 : 场景 发生的概率。 : 单位运输成本(从仓库 到设备 )。 : 单位库存持有成本(期末未使用的备件)。 : 单位缺货惩罚成本(通常 )。 : 关键不确定性参数。在场景 下,设备 的具体需求量(0或1)。 : 大M,用于逻辑控制的一个足够大的正数。
决策变量 (Decision Variables)
- 第一阶段 (Here and Now):
: 二进制变量。1表示在 建仓,0表示不建。 : 预先储备的库存量(在故障发生前决定)。
- 第二阶段 (Wait and See):
: 场景 下,从仓库 运往设备 的数量。 : 场景 下,仓库 的剩余库存量。 : 场景 下,设备 的缺货量。
公式含义解析
1. 目标函数
- 公式结构:
最小化 = (确定性固定成本) + (期望运营成本) - 含义: 我们要最小化建仓的“死钱”,加上考虑到未来所有可能情况(场景
)后的平均运营成本。 - 期望部分: 包含三项——把货运出去的钱、货剩在手里的保管费、货不够时的惩罚费。
2. 库存能力逻辑约束
- 公式:
- 含义: 只有建了仓 (
),才能存放库存 ( )。如果 ,则 被强制压为0。这是连接“选址”与“库存”的关键逻辑。
3. 供给侧流平衡约束
- 公式:
运出量 + 剩余量 = 初始储备量 - 含义: 对于任何一个仓库,在任何一个场景下,你的初始库存
要么被运走了 ( ),要么剩下了 ( ),不能凭空消失或增加。这也隐含了物理限制:运出的货不能超过现有库存。
4. 需求侧流平衡约束
- 公式:
收到量 + 缺货量 = 实际需求 - 含义: 对于任何一个设备,在任何一个场景下,实际需求
必须被“填平”。要么通过运输 ( ) 满足,要么记录为缺货 ( ) 并支付高额罚款。这迫使模型在“多备货”和“承担缺货风险”之间做权衡。
建模的一些额外处理
假设 零备件在决策期内最多坏一次,也就是一个需求点最多产生1个需求。 离散库存变量连续化: 首先库存变量通常是整数,比如具体存储多少个零部件,但我在此模型中将库存量松弛成了连续变量。 离散转运/运输变量连续化: 传统的选址-库存联合优化模型,目标函数中通常隐含了运输成本,在建模的过程中通常转运变量是一个0-1整数变量,即表示 是否 由j仓库配送至第i个需求点。
新的建模视角 - 熵正则非平衡最优传输模型
Entropic Unbalanced Optimal Transport with Asymmetric Total Variation Marginals
其相比传统的两阶段随机规划的建模视角而言,增加了一个熵正则项。如上公式 十分契合熵正则非平衡最优传输的范式,如此可以利用sinkhorn相关算法快速求解。
现在建模思路中存在以下几点不自洽之处
-
第二阶段模型是采用SAA的方法 事实上SAA方法潜在的蕴含了风险中性的含义。但由于我们的研究是立足于生存分析的故障概率预测,但为了刻画需求随机性 似乎 并不知道还有什么其他的方法可以用于该问题场景下。
-
将转运变量松弛成一个连续变量 这个转运变量的物理意义是否还能够保证?因为零备件是不可拆分的。那么我们是否只能将其解释成概率?然后将这个概率作为多源供货策略?这种操作是否有相关的依据?
-
熵正则是否能体现“柔性”供应链? 因为在当前的模型中,在样本均值近似(Sample Average Approximation, SAA)框架下,通过熵正则化(Entropy Regularization)施加于转运变量
(或 )以期望获得多源供货策略,却最终得到离散且不一致的场景解。而且关键在于无缘无故增加了一个熵正则项,破坏了原本的目标函数结构。 -
是否能得到一个多源供货策略呢? 因为当前的模型,似乎无法得到一个策略,得到的仅仅是各个场景解。
第一性原理分析上述建模思路
之所以我们要考虑柔性供应链、多源供货策略,本质上是因为真实世界中供应链是需要考虑时间因素的
因为 一个仓库的库存,可能覆盖了多个潜在需求点的风险。而这些需求点的风险发生是有时间先后顺序的,因此当潜在需求点之一确实出现需求后,其余需求点的供货关系就会发生改变,从而敦促我们在供应链设计中需要考虑柔性、多源供货等因素。 从第一性原理分析,先前的研究思路简化了“时间维度”,因此 在 两阶段随机规划的范式下,第二阶段子问题(也就是考虑供货分配决策的子问题)被简化为一个静态分配问题。那么在一个静态假设的前提下 去思考柔性供货策略,在第一性层面上没有对齐的。