如何创新解决多产品多周期库存批量决策及供应商选择问题?
摘要:论文:A new approach solve the multi-product multi-period inventory lot sizing with supplier selection problem 期刊:Computer
论文:A new approach solve the multi-product multi-period inventory lot sizing with supplier selection problem
期刊:Computer & Operations Research
1. 模型建立:具有供应商选择问题的多产品多周期库存批量确定
1.1 问题定义
将具有供应商选择问题的多产品多周期库存批量问题正式定义如下:
假设计划周期有限,市场需求已知且有多种产品,每种产品可以由一组供应商提供(比如:在某个计划期内,一种产品可以在一个或多个供应商处采购)
在每个周期向供应商下订单时,会产生供应商订购成本(supplier ordering cost)
对于每个周期,若产品在一整个周期内都在仓库中,则会产生库存持有成本(product holding cost)
假设不允许缺货,且库存大小没有限制
1.2 考虑供应商选择问题的多产品多周期库存批量的混合整数线性规划模型
符号说明
下标
\(i=1,2,3,\dots,I\) 产品的索引
\(j=1,2,3,\dots,J\) 供应商的索引
\(t=1,2,3,\dots,T\) 计划周期的索引
参数
\(D_{it}=\)产品\(i\)在周期\(t\)的需求
\(P_{ij}=\)产品\(i\)从供应商\(j\)处购买的采购价格
\(H_i=\)产品\(i\)在每个周期的持有成本
\(O_{j}=\)供应商\(j\)的订货成本
决策变量
\(X_{ijt}=\)在周期\(t\)产品\(i\)从供应商\(j\)处订购的批量
\(Y_{jt}=\begin{cases}1&\text{if 在周期t向供应商j下订单}\\0&\text{otherwise}\end{cases}\)
混合整数线性规划模型(MILP)的建立
(1):目标函数为买方的总成本,即总采购成本+总订货成本+总库存持有成本
(2):为防止缺货发生,对于各个周期内的各个产品,在该周期前(包括该周期)的总订购量必须大于或等于在该周期前(包括该周期)的总需求量
(3):对于每个周期,每个产品必须先向对应的供应商下单才能订购,约束条件(3)确定了在不收取相应订购成本的情况下下订单是不可能的,即\(Y_{jt}=0\)时,该约束不成立。(我觉得这个设置很巧妙,因为当\(Y_{jt}=1\)时,对应周期和产品在供应商\(j\)处的订购量不会超过后面周期中该产品的总需求量,也就是说这条约束还同时限制了\(D_{ik}\)的求解范围)
(4)、(5):决策变量取值范围约束
由于这个问题是一个NP难问题,当实例较大时问题会变得无法解决。该模型通过商业整数线性规划求解器在非常小的实例大小下求解到最优性。对于现实世界中常见的大尺寸实例,该问题无法最优解决。
2.基于减少与优化方法(reduce and optimize approach, ROA)求解具有供应商选择的多产品多周期库存批量问题
本节提出了一种启发式算法,用于求解多产品多周期库存批量与供应商选择问题的混合整数线性规划(MILP)。
加强数学公式的一种方法是在模型中添加有效的不等式。因此,通过包括以下有效不等式(6),进一步加强了上面刚刚提出的数学公式(1)~(5):
\[\sum_jY_{jt}\leq{J}\quad\forall{t}\in{T}\quad\quad\quad{(6)}
\]
该不等式对周期\(t\)使用的供应商总数施加了边界。尽管不等式(6)对上述模型来说是多余的,但有助于帮助CPLEX创建一些新的cuts。
作者发现,式(6)对优化过程有积极影响,特别是在求解质量和时间上。
2.1 Reduce and optimize approach (ROA)
减少和优化方ROA的解释如下。ROA是基于原始问题建立一个减小的可行域(ruduce feasible region) 并对其进行优化。尽管在大多数情况下,ROA不能确保最优性,但它可以在合理的时间内获得接近最优的解。尽管如此,如果手头问题的最优解对于减小问题是可行的,那么ROA保证了最优解。
