数学模型:优化模型(一)存贮问题
存贮模型不允许缺货的存贮模型问题背景问题分析模型假设模型建立模型求解结果解释敏感性分析允许缺货的存贮模型模型假设模型建立模型求解结果解释不允许缺货的存贮模型问题背景问题:配件厂为装配线生产若干种部件,所需的费用情况有以下几种:轮换生产不同的部件时因更换设备要付生产准备费(与生产数量无关,只要有生产,不管生产几个,都要付的费用)。同一部件的产量大于需求时因积压资金、占用仓库要付贮存费。现有情况:今已
不允许缺货的存贮模型
问题背景
问题:配件厂为装配线生产若干种部件,所需的费用情况有以下几种:
- 轮换生产不同的部件时因更换设备要付生产准备费(与生产数量无关,只要有生产,不管生产几个,都要付的费用)。
- 同一部件的产量大于需求时因积压资金、占用仓库要付贮存费。
现有情况:今已知某一部件的日需求量为100****件,生产准备费5000元,贮存费每日每件1元。
前提条件:
- 生产能力远大于需求(也就是不考虑供不应求的情况)。
- 不允许出现缺货,
安排生产计划:多少天生产一次(称为生产周期),每次产量多少可使总费用最小。
问题分析
先试算一下,以便发现规律:
- 若每天生产一次,每次100件,无贮存费,生产准备费5000元,每天费用5000元;
- 若10天生产一次,每次1000件,贮存费是900+800+…+100=4500元,生产准备费5000元,总计9500元,平均每天费用950元;
- 若50天生产一次,每次5000件,贮存费是4900+4800+…+100=122500元,生产准备费5000元,总计127500元,平均每天费用2550元。
从上面的试算看出:生产周期短,产量小,贮存费小,准备费大;生产周期长、生产量多,会使贮存费大,准备费小。因此肯定存在一个最佳的周期,使得费用最小,显然,应该建立一个优化模型。
考虑这种不允许缺货的存贮模型的一般情况:产品需求稳定不变,生产准备费和生产贮存费为常数、生产能力无限、不允许缺货,确定生产周期和产量,使得总费用最小。
模型假设
为了处理方便,考虑连续模型,即设生产周期T和生产量Q均为连续量,根据问题性质做如下假设:
- 产品每天的需求量为常数r;
- 每次生产准备费为c1,每天每件产品的贮存费为c2;
- 生产能力为无限大(相当于需求量),当贮存量降到零时,Q件产品立即生产出来供给需求,即不允许缺货。
模型建立
贮存量表示为时间t的函数q(t),
t=0生产Q件,贮存量q(0)=Q,
q(t)以需求速率r递减,直到q(T)=0,
如图1
显然有
Q
=
r
T
Q=rT
Q=rT ———————————— (1)
一个周期内的贮存费应该是
c
1
∑
t
=
0
T
q
(
t
)
c_1\sum_{t=0}^{T} q(t)
c1∑t=0Tq(t) ,将周期看成连续的量,转化成积分形式:
其中积分恰等于图1中A的面积QT/2,因为一个周期的准备费是c1,再注意到(1)式,得到一个周期的总费用是
模型求解
求T使(3)式的C最小,容易得到
结果解释
由(4)(5)式可以得到,当准备费c1增加时,生产周期和产量都变大;当贮存费增加时生产周期和产量都变小;当需求量r增加时,生产周期变小而产量变大,这些定性结果符合常识,而定量关系只能由数学建模得到。
用得到的模型计算本节开始的问题:以c
1=5000,c2=1,r=100代入(4),(6)式,得T=10天,C=1000元。
这里得到的费用C与前面计算的950元有微小差别,由于我们把离散的模型连续化而产生的误差。
敏感性分析
讨论c1,c2,r有微小变化时对生产周期T的影响。
用相对改变量衡量结果对参数的敏感程度,T对c1的敏感度记作S(T,c1),定义为
允许缺货的存贮模型
模型假设
与上述问题假设均一致,假设第三点改变,现在假设为:
- 产品每天的需求量为常数r;
- 每次生产准备费为c1,每天每件产品的贮存费为c2;
- 生产能力为无限大(相当于需求量),允许缺货,每天每件产品缺货损失费c3,但缺货数量需要在下次生产(或订货)时间补足。
模型建立
因贮存量不足造成缺货时,可以认为贮存量函数q(t)为负值,如图2,周期仍记作T,Q是每周期初的贮存量,当t=T1时q(t)=0,于是有:
在T1到T这段缺货时段内需求率r不变,q(t)按原斜率继续下降,由于规定缺货量需补足,所以在t=T时数量为R的产品立即到达,使下周初的贮存量恢复到Q.
与建立不允许缺货模型时类似,一个周期内的贮存费是c2乘以图2中三角形A的面积,缺货损失费是c3乘以图2中三角形B的面积,计算这两块面积,并加上准备费c1,得到一个周期的总费用为
模型求解
利用微分法求驻点
结果解释
c3趋于∞时,也就是说缺货损失费是无穷大,那么商家就不会让其缺货,也就回到了上面的不允许缺货模型,因此可以将不允许取货模型看成是允许缺货模型的一个特例。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)