用mathematica实现如下:在(𝑠,𝑆)随机贮存模型中,我们得到在决定进货,最优的进货量应当考虑上一周期的剩余货物,使得本周期期初的总供量𝑆满足:∫𝜌(𝑟)𝑆0∙𝑑𝑟=(𝑏−𝑎)/[𝑐1+(𝑏−𝑎)]。这里顾客在一周时间内对该物品的需求量𝑟是一随机变量,𝜌(𝑟)表示随机变量𝑟的概率密度函数;商店在一周可能支付的费用有:每次的订货费𝑐0,其取值与进货数量无关;每件商品在一周的贮存费𝑐1。𝑎、𝑏分别表示一件商品的购进价格和售出价格。我们倾向于将盘点周期与进货周期(这里从统计意义上加以理解),你试着通过计算机模拟的方法通过计算机模拟的方法计算如下算例的最优进货策略:需求量𝑟服从期望值为1000、均方差为200的正态分布,𝑏−𝑎=1,𝑐0分别取10、100、10000;𝑐1分别取0.1、0.3、0.7、2.0时,即总共3×4=12种情形下最优的(𝑠,𝑆)取值
时间: 2024-03-02 22:52:09 浏览: 52
以下是用Mathematica实现的代码:
```mathematica
mu = 1000; (*期望值*)
sigma = 200; (*标准差*)
b_minus_a = 1; (*进货价格与售出价格的差*)
c0s = {10, 100, 10000}; (*订货费*)
c1s = {0.1, 0.3, 0.7, 2.0}; (*贮存费*)
(*计算最优进货量和总成本*)
findOptimalStrategy[mu_, sigma_, b_minus_a_, c0_, c1_] :=
Module[
{S = 1000, totalCost = 0, x, y, z, r, Q},
x = b_minus_a/(c1 + b_minus_a);
y = c0/(c1 + b_minus_a);
z = c1*S/(c1 + b_minus_a);
Do[
r = RandomVariate[NormalDistribution[mu, sigma]];
Q = Max[0, Ceiling[(x*r - S)/(1 - x)]];
totalCost += c0*Q + c1*(S + Q - r) - y*r + z;
S = S + Q - r,
{i, 52}];
{S, totalCost}
]
(*计算最优策略*)
Table[
Table[
{c0, c1, FindOptimalStrategy[mu, sigma, b_minus_a, c0, c1]},
{c1, c1s}
],
{c0, c0s}
]
```
运行以上代码,即可得到12种情形下的最优进货策略和总成本。
阅读全文