存储论
存贮论(一):基本概念、无约束的确定型存贮模型_存储论模型_wamg潇潇的博客-CSDN博客(有例题lingo代码)
存储论(二):有约束的确定型存贮模型、单周期随机库存模型_存储论四个模型公式_wamg潇潇的博客-CSDN博客(有例题matlab和lingo代码)
存贮论(或称为库存论)研究存贮系统的 性质、运行规律以及如何寻找最优存贮策略。所谓存贮实质上是将供应与需求两个环节以存贮中心联结起来,起到协调与缓和 供需之间矛盾的作用。
1 存贮模型中的基本概念
1.存贮问题的基本要素
2.存贮模型的基本费用
3.存贮策略
2 无约束的确定型存贮模型
2.1 模型一:不允许缺货,补充时间极短—基本的经济订购批量存贮模型
2.2 模型二:允许缺货,补充时间较长—经济生产批量存贮模型
2.3 模型三:不允许缺货,补充时间较长—基本的经济生产批量存贮模型
2.4 模型四:允许缺货,补充时间极短的经济订购批量存贮模型
2.5 模型五:经济定购批量折扣模型
3 有约束的确定型存贮模型
3.1 带有约束的经济订购批量存贮模型
3.1.1 具有资金约束的 EOQ 模
3.1.2 具有库容约束的 EOQ 模型
3.1.3 兼有资金与库容约束的最佳批量模型
3.2 带有约束允许缺货模型
3.3 带有约束的经济生产批量存贮模型
4 单周期随机库存模型
4.1 模型的基本假设
4.2 模型的推导
4.3 模型的求解
习题
1 存贮模型中的基本概念
所谓存贮实质上是将供应与需求两个环节以存贮中心联结起来,起到协调与缓和 供需之间矛盾的作用。存贮模型的基本形式如图 1 所示。
1.存贮问题的基本要素
(1)需求率:单位时间内对某种物品的需求量,用 D 表示。
(2)订货批量:一次订货中,包含某种货物的数量,用Q 表示。
(3)订货间隔期:两次订货之间的时间间隔,用T 表示。
2.存贮模型的基本费用
(1)订货费:每组织一次生产、订货或采购的费用,通常认为与定购数量无关, 记为CD 。
(2)存贮费:所有用于存贮的全部费用,通常与存贮物品的多少和时间长短有关。 单位存贮费记为 CP。
(3)短缺损失费:由于物品短缺所产生的一切损失费用,通常与损失物品的多少 和短缺时间的长短有关,记为CS 。
3.存贮策略
所谓一个存贮策略,是指决定什么情况下对存贮进行补充,以及补充数量的多少。 下面是一些比较常见的存贮策略。
(1)t 循环策略:不论实际的存贮状态如何,总是每隔一个固定的时间t ,补充 一个固定的存贮量Q 。
(2)(t,S) 策略:每隔一个固定的时间 t 补充一次,补充数量以补足一个固定的 最大存贮量 S 为准。因此,每次补充的数量是不固定的,要视实际存贮量而定。当存贮(余额)为 I 时,补充数量为Q = S − I 。
(3)(s,S) 策略:当存贮(余额)为 I ,若 I > s ,则不对存贮进行补充;若 I ≤ s , 则对存贮进行补充,补充数量Q = S − I 。补充后达到最大存贮量 S 。s 称为订货点(或 保险存贮量、安全存贮量、警戒点等)。
在很多情况下,实际存贮量需要通过盘点才能 得知。若每隔一个固定的时间t 盘点一次,得知当时存贮 I ,然后根据 I 是否超过订货 点 s ,决定是否订货、订货多少,这样的策略称为(t,s,S)策略。
2 无约束的确定型存贮模型
我们首先考察经济订购批量存贮模型。 所谓经济订购批量存贮模型(economic ordering quantity, EOQ)是指不允许缺货、 货物生产(或补充)的时间很短(通常近似为 0)的模型。
2.1 模型一:不允许缺货,补充时间极短—基本的经济订购批量存贮模型
基本的经济订购批量存贮模型有以下假设:
(1)短缺费为无穷,即 ;
(2)当存贮降到零后,可以立即得到补充;
(3)需求是连续的、均匀的,即需求速度(单位时间的需求量) D 为常数;
(4)每次的订货量不变,订购费不变; (5)单位存贮费为Cp 。
由上述假设,存贮量的变化情况如图 2 所示。
lingo程序
model:
sets:
times/1 2/:n,Q,C;
endsets
data:
n=57 58;
enddata
C_D=10;
D=100*365;
C_P=0.005*365;
@for(times:n=D/Q;C=0.5*C_P*Q+C_D*D/Q);
end
求得全年组织 58 次订货费用少一点。 利用 LINGO 软件,我们可以直接求出问题的整数解。 LINGO 程序如下:
model:
sets:
times/1..100/:C,Q; !100不是必须的,通常取一个适当大的数就可以了;
endsets
C_D=10;
D=100*365;
C_P=0.005*365;
@for(times(i):Q(i)=D/i;C(i)=0.5*C_P*Q+C_D*D/Q);
C_min=@min(times:C);
Q_best=@sum(times(i):Q(i)*(C(i) #eq# C_min));
N_best=D/Q_best;
end
求得一年组织 58 次订货,每次的订货量为 629.3 件,最优费用为 1154.25 元。
2.2 模型二:允许缺货,补充时间较长—经济生产批量存贮模型
模型假设条件:
(1)需求是连续的,即需求速度 D 为常数;
(2)补充需要一定时间。即一旦需要,生产可立刻开始,但生产需要一定周期。 设生产是连续均匀的,即生产速度 P 为常数。同时,设 P > D ;
(3)单位存贮费为 CP,单位缺货费为CS,订购费为 CD。不考虑货物价值。 存贮状态图见图 3。
model:
D=4900;
C_P=1000;
P=9800;
C_D=500;
C_S=2000;
T1=(2*C_D*(C_P+C_S)/(D*C_P*C_S*(1-D/P)))^0.5; !单位为年;
T=T1*365; !单位为天;
Q=D*T1;
T_S=C_P*T/(C_P+C_S); !求缺货时间;
T_P=D*T/P; ! 求生产周期;
C=2*C_D/T1; ! 求年总费用;
end
2.3 模型三:不允许缺货,补充时间较长—基本的经济生产批量存贮模型
在模型二的假设条件中,取消允许缺货条件(即设Cs → ∞ , t2 = 0 ),就成为模 型三。因此,模型三的存贮状态图和最优存贮策略可以从模型二直接导出。 模型三的存贮状态见图 4。下面我们用另外的方法导出模型三的最优存贮策略。
2.4 模型四:允许缺货,补充时间极短的经济订购批量存贮模型
在模型二的假设条件中,取消补充需要一定时间的条件(即设 P → ∞ ),就成为 模型四。因此,和模型三一样,模型四的存贮状态图和最优存贮策略也可以从模型二直 接导出。 模型四的存贮状态图见图 6。下面我们用另外的方法导出模型四的最优存贮策略。 设T 仍为时间周期,其中T1 表示T 中不缺货时间,T2 表示T 中缺货时间,即 T1 +T2 = T 。 S 为最大缺货量,Cs 为缺货损失的单价,Q 仍为每次的最高订货量,则 Q − S 为最高存贮量,因为每次得到订货量Q 后,立即支付给顾客最大缺货 S 。
model:
min=0.5*C_P*(Q-S)^2/Q+C_D*D/Q+0.5*C_S*S^2/Q;
n=D/Q;@gin(n);
data:
C_D=12000;
D=96000;
C_P=3.6;
C_S=13.2;
enddata
end
求得全年组织 3 次订货,每次的订货量为 32000 件,最大缺货量为 6857.141 件, 最优费用为 81257.14 元。 对于确定型存贮问题,上述四个模型是最基本的模型。其中,模型一、三、四又可看作模型二的特殊情况。
在每个模型的最优存贮策略的各个参数中,最优存贮周期T 是最基本的参数,其它各个参数和它的关系在各个模型中都是相同的。根据模型假设条 件的不同,各个模型的最优存贮周期 之间也有明显的规律性。因子 对应了 是否允许缺货的假设条件,因子 对应了补充是否需要时间的假设条件。
一个存贮问题是否允许缺货或补充是否需要时间,完全取决于对实际问题的处理 角度,不存在绝对意义上的不允许缺货或绝对意义上的补充不需要时间。如果缺货引起 的后果或损失十分严重,则从管理的角度应当提出不允许缺货的建模要求;否则,可视 为允许缺货的情况。至于缺货损失的估计,应当力求全面和精确。如果补充需要的时间 相对于存贮周期是微不足道的,则可考虑补充不需要时间的假设条件;否则,需要考虑 补充时间。在考虑补充时间时,必须分清拖后时间和生产时间,两者在概念上是不同的。
2.5 模型五:经济定购批量折扣模型
所谓经济订购批量折扣模型是经济订购批量存贮模型的一种发展,即商品的价格 是不固定的,是随着订货量的多少而改变的。就一半情况而论,物品订购的越多,物品 的单价也就越低,因此折扣模型就是讨论这种情况下物品的订购数量。 一年花费的总费用由三个方面组成:年平均存贮费、年平均订货费和商品的购买 费用,即
model:
sets:
range/1..4/:B,K,C_P,Q,EOQ,C; !B是订货量的分界点,Q表示由式(35)计算出
的订货量,EOQ是调整后的订货量;
endsets
data:
D=40000; C_D=9000; R=0.2;
B=10000,20000,30000,40000;
K=35.225,34.525,34.175,33.825;
Enddata
@for(range:C_P=R*K;Q=(2*C_D*D/C_P)^0.5);
EOQ(1)=Q(1)-(Q(1)-B(1))*(Q(1)#gt# B(1));
@for(range(i)|i #gt# 1:EOQ(i)=Q(i)+(B(i-1)-Q(i)+1)*(Q(i) #lt#
B(i-1))-(Q(i)-B(i))*(Q(i) #gt# B(i)));
@for(range:C=0.5*C_P*EOQ+C_D*D/EOQ+K*D);
C_min=@min(range:C);
Q_best=@sum(range:EOQ*(C #eq# C_min));
T_best=Q_best/D;
end
求得最优订货量为 10211 件,最优存贮费用为 145151510 元,最优订货周期是平均 0.255 年一次。 比较计算结果中的 Q 值与 EOQ 值,会对程序的理解有很大的帮助。 我们也可以使用如下的LINGO程序求得最优订货量和最优订货周期。
model:
sets:
range/1..4/:B,K,C_P,Q; !B是订货量的分界点,Q表示由式(35)计算出的订货量,
EOQ是调整后的订货量;
endsets
data:
D=40000; C_D=9000; R=0.2;
B=10000,20000,30000,40000;
K=35.225,34.525,34.175,33.825;
Enddata
n=@size(range);
@for(range:C_P=R*K;Q=(2*C_D*D/C_P)^0.5);
Q_best=Q(1)*(Q(1) #le# B(1))+@sum(range(i)| i #ne# 1 :Q(i)*(Q(i) #gt#
B(i-1) #and# Q(i) #le# B(i)));
T_best=Q_best/D;
end
Lingo程序
model:
sets:
kinds/1..5/:C_P,D,K,W,Q,N;
endsets
min=@sum(kinds:0.5*C_P*Q+C_D*D/Q);
@sum(kinds:K*Q)<J;
@sum(kinds:W*Q)<W_T;
@for(kinds:N=D/Q;@gin(n));
data:
C_D=1000;
D=600 900 2400 12000 18000;
K=300 1000 500 500 100;
C_P=60 200 100 100 20;
W=1.0 1.5 0.5 2.0 1.0;
J=400000;
W_T=1500;
enddata
end
model:
sets:
kinds/1..3/:C_P,P,C_D,D,Q,T,T_P; !T_P表示生产时间;
endsets
min=@sum(kinds:0.5*(1-D/P)*Q*C_P+C_D*D/Q);
@sum(kinds:D/P+1.5*D/Q)<1;
@for(kinds:T=Q/D;T_P=Q/P);
data:
C_D=1000,1200,1300;
D=400,300,300;
C_P=1.0,1.1,1.4;
P=1300,1100,900;
enddata
end
model:
data:
mu=500;g=0.15;h=0.40;
enddata
@pps(mu,Q)=g/(g+h);
E_G=g*mu-h*(Q-mu)-(g+h)*@ppl(mu,Q);
end
下面三例题在原文链接有lingo程序存储论(二):有约束的确定型存贮模型、单周期随机库存模型_存储论四个模型公式_wamg潇潇的博客-CSDN博客
例 10 设在某食品店内,每天对面包的需求服从 μ = 300,σ = 50的正态分布。 已知每个面包的售价为 1.50 元,成本 0.90 元,对当天未售出的其处理价为每个 0.60 元, 问该商店每天应生产多少面包,使预期的利润为最大?
例 11 (航空机票超订票问题) 某航空公司执行两地的飞行任务,已知飞机的 有效载客量为 150 人。按民用航空管理有关规定:旅客因有事或误机,机票可免费改签 一次,此外也可在飞机起飞前退票。航空公司为了避免由此发生的损失,采用超量订票 的方法,即每班售出票数大于飞机载客数。但由此会发生持票登机旅客多于座位数的情 况,在这种情况下,航空公司让超员旅客改乘其它航班,并给旅客机票价的 20%作为 补偿。现假设两地的机票价为 1500 元,每位旅客有 0.04 的概率发生有事、误机或退票 的情况,问航空公司多售出多少张票?使该公司的预期损失达到最小。
例 12(续例 11) 所有参数不变,问航空公司多售出多少张票,使该公司的预期 利润达到最大,并计算出相应的利润。