数学建模案例多商品配送问题
Qjkl 第 j 个零售商在第 l 个时段对第 k 种商品的需求量
Rik 第 k 种商品在第 i 个货栈的存储量上限
Dij 第 i 个货栈和第 j 个零售商之间的距离
Cijk 第 i 个货栈与第 j 个零售商之间第 k 种商品的单位运输价格
Dj1 j2 第 j1 个零售商和第 j2 个零售商之间的距离
单商品单货栈 损失赔偿优化
推广
多商品多货栈 损失赔偿优化
深化
运输优化
[损失赔偿函数]
此处我们根据田口玄一质量-服务损失函数 L = k( y − m)2 [5]
L----以钱数表示的单位损失(惩罚成本) y----质量变量的值 m----质量变量 y 的目标值 k----常数,取决于质量变量在财务上的重要性
面形式:
Ct = βijk gX α gqijk + ngb(0 < α < 1) ,
其中 βijk 为运输成本系数, X 为运输距离, α 为幂指数,
q 为运量,b 为单车发车成本,n 为发车辆数。
五、模型建立与求解
(一) 单商品、单货栈情况(模型基本构成单元) 首先,我们将零售商对货物 k 的需求做离散化处理。下图 a 所示曲线 q(t)为第
Objective:
∑ ∑ ( ) min
Ajl iC fa + Bjl iC fb
l
j
6
∑ ( ) ⎧
⎪j
A j (l +1) + N jl + B j (l −1) ≤ R
⎪ ⎪
A
jl
+
N
jl
+
B jl
=
Q jl
( ) ⎪
2
⎪ C fa = k1 Pj ta(l −1) − t jl1
⎪
S. t
[方法一:线形规划]
对于单商品单货栈的情况,我们可以建立下面的规划模型求解。此时的目标函 数是使供货商的损失赔偿最小,而约束条件主要由两方面构成:1)保证一个时段内 货栈给各个零售商的发货量不超过货栈容量上限 R ;2)对于每个零售商而言,当前 时段发货量 N,提前发货量 A 与推迟发货量 B 之和恰好等于该零售商在该时段的商 品需求量 Q,通过规划求解软件 Lingo 可以较为方便的处理该问题。
关键词:
物流配送 分步优化 启发式算法 质量-服务损失函数 Lingo 软件
1
一、问题重述
多商品配送方案的设计是现实生活中很多供货商所面临的问题。现某供货商在 一地区内的不同地点有若干仓储货栈。其目标是按照不同零售商的需求将商品及时 发送给零售商,使总成本尽可能小。这里考虑总成本由两个主要部ቤተ መጻሕፍቲ ባይዱ构成:
量中提前到本时段发送的部分, Bj(l−1) 为货栈将第j个零售商上一时段的需求量推
迟到本时段发送的部分;R 为货栈对该种商品的存储上限; Qjl 为该时段第 j 个零售 商对该商品的需求量;Cfa 为单位商品的提前赔偿量,k1 为提前赔偿系数, Cfb 为单 位商品的延迟赔偿量,k2 为延迟赔偿系数;tjl1,tjl2 分别为 第 j 个零 售商在第 L 时段的期望到货时间范围的起始时间和终止时间;ta(l-1), tb(l+1) 分别为第 L-1 个时段的终止时间和第 L+1 个时段的起始时间。
在进行货物配给方式优化的过程中,本文由浅入深,首先针对单货栈、单商品 的简单情况(本模型的基本构建单元)进行数学模拟和算法设计,然后根据不同商 品以及不同货栈之间的相对独立性,对前述模型进行推广,成功得到了适用于多货 栈、多商品的题设情况下的货物配给方式优化方案。此外,本文的独到之处还在于 其严谨周密的解题过程——本文在模型求解的过程中给出了两种不同的方法:采用 LINGO 软件求解线形规划的途径,和从算法设计出发的计算机编程途径,并在模型 检测中得到了完全相同的解。可以说不仅实现了殊途同归,更通过相互校验体现了 算法的合理性和正确性。
2、 供货商大多数拥有自己的运输车辆,以利于降低运营成本;
题设条件: � 在一个周期开始时,每个零售商对所有商品在不同时段的需求已知 � 一个周期内,对于不同的商品各货栈给各零售商的价格已知,且价格不随
时段变化
增加假设:
� 所讨论区域半径在 300km 以内,运输时间远小于时段长度
� 当货栈容量不足时,供应商提前或推迟供货最多只能跨越一个时段(否则
( ) ⎪
⎨
C
fb
=
k 2 Pj
tb (l +1) − t jl 2
2
⎪
⎪ A jl ≥ 0
⎪ ⎪
N
jl
≥
0
⎪ ⎪
B
jl
≥
0
⎪⎩
式中, N jl , Ajl , Bjl 分别表示在第 L 时段,该货站给第 j 个零售商的当时段 发货量、提前时段发货量和推迟时段发货量(注:若在实际算例中三者中某一项或 两项并不存在,则等价于其值为 0); Aj(l+1) 为货栈将第j个零售商下一时段的需求
失的情况
� 供货商采用同样的货车送货且货车数量足够多
三、主要参数说明及名词解释
首先我们引入 4 个下标 i,j,k,l,分别表示第 i 个货栈,第 j 个零售商,第 k 种商品和第 l 个时段。以下是本文中一些主要参数的说明,对其他一些参数及变量 我们将在使用时说明。
pijk 对第 k 种商品第 i 个货栈给第 j 个零售商的价格
因此,我们可以将问题划分为如下三个步骤处理: 1)单商品、单货栈情况下的损失赔偿最优(即该供应商仅有一个货栈且多个零
售商仅需求一种商品)。 2)多商品、多货栈情况下的损失赔偿最优(此即本题所探讨的情况)。由于各
种商品之间、各个货栈之间相互独立,故只要对第一所得模型进行推广即可 解决此问题。 3)多商品、多货栈情况在已得赔偿最优供货分配方案的前提下确定最优运输方 案,此时可引入启发式算法和共同行配送策略解决。[3] [4] 用框图表示如下:
在模型简化过程中,本文充分结合题设条件和模型建立背景(同一地区范围内 的短线配送),并从实际生活中的商品配送问题出发,提出了对赔偿函数、运输函数 等因素的合理简化方案,使算法在不失实用性的前提下实现了求解效率的提高。
尽管出于可操作性的考虑,本文通过增加特定假设对该多商品配送问题的背景 进行了限定,使模型的适用范围受到了一定约束,但这些假设的提出基本是有实际 依据可循或至少不会跟实际情况发生抵触的,因此本文所给出的模型和算法具有较 高的参考利用价值。
多商品配送问题
摘要:
多商品配送问题是物流管理领域经 常要涉及到的问题,其基本关系抽象后 可用右图表示。题目要求建模分析确定 供货商如何安排各个货栈在各时段的供 货方式,使得其在一个经营周期内的总 成本最低。经分析,本文将其归结为一 个分步优化问题:由于运输成本在保证每趟运输尽量满载的前提下即可得到优化, 故本文首先对货栈的货物配给方式进行优化,找出了求解怎样安排各个时段每个货 栈给各零售商不同商品的供货量(包括当时段供货量、提前供货量、延迟供货量) 从而使整个周期内赔偿损失最小的合理算法和数学模型; 在此优化的基础上,本 文利用启发式算法,结合计算机程序选择的运输成本最小路径,将每个货栈给不同零 售商的不同商品供货量中不能够整车运送完的额外商品量进行共同配送(合并运 输),降低了运输成本,使得到的方案更趋于最优方案。
1)运输成本,它与运输时间和运输商品有关;2)由于货栈可以以不同价格将 同种商品供给不同的零售商,且同种商品在不同货栈的售价也可以不同,故零售商 会按照价格优先的原则选择供货的货栈。另一方面,每一时段每个商品在货栈中的 存储量有一个上限.当一个货栈被指派为一个特定的零售商提供规定数量的商品的 时候,可能会出现零售商的需求和货栈储量不平衡的情况.当某时段容量不足的时 候,货栈通过提前或推迟供货给零售商的方式来补偿需求.如果提前供应,将会导 致零售商的商品持有成本上升, 因此零售商会向供货商索要赔偿;若推迟, 则会降低 货栈的信誉,且零售商也会向供货商索要赔偿.所以,提前和推迟所带来的赔偿都 是供应成本的一部分,而赔偿费用与商品的价格和提前、推迟的时间有关.
Vk
第 k 种商品的单位体积
S
货车的容量
Bijkl 第 i 个货栈与第 j 个零售商在第 l 时段是否存在第 k 种商品的运输
持有成本 —— 持有某种货物一段时间所必须支付的成本,包括管理费、仓储费、 管理费、利息费用等
缺货成本 —— 当需要某种货物而又不能从库存得到供应时所导致的零售商在 商誉、 名声、及潜在的未来销售上的损失
⎨ ⎪⎩ kk 2
pijk
(t2
−
t0 )2
t1 (t2
< t0 > t0
)
其中 kk1 是第 k 种商品的提前赔偿系数, kk2 是第 k 种商品的推迟赔偿系数,由
于持有成本一般小于缺货成本,故 kk1 < kk2
[运输成本函数]
4
根据常用的运价递减原则[6] ,可绘出运输成本
图线大致如下侧所示,故我们将运输成本函数定为下
货栈充货
…….
时段 L-1
货栈充货
时段 L
货栈充货
时段 L+1
……. t
ta
t1 t2
tb
定理 1°当时段 L 货栈容量不足而必须对某零售商提前或推迟供货时,提前供 货时间 ta 必为前一时段 L-1 的最后一天,推迟供货时间 tb 必为后一 时段 L+1 的第一天
证明:
根据前面所引述的损失赔偿函数
3.举一个和几个实际算例来说明你的算法或模型
二、对象分析及基本假设
背景:为了使模型更接近于现实,在进行建模之前,我们对各种物资配送商经 营的实际情况进行了大量的信息搜集,分析工作,从而得出了模型的主要模拟对象— —同地区内短线物流配送系统的一些特点[1]: