设周期为T,产量为Q,产品每天的需求量为常数r,每次的生产准备费为c1,每天每件产品的储存费为c2,总费用为C,求T的值使C最小,用matlab
时间: 2024-04-30 11:24:35 浏览: 91
这是一个经济学上的经典问题,可以用最优化方法求解。具体来说,我们需要先列出总费用的表达式,然后对其求导,令导数为0,解出使总费用最小的周期T。具体步骤如下。
1. 总费用的表达式
总费用C由两部分组成:生产准备费和储存费。生产准备费是一个固定值,与周期T无关,为c1。储存费则与周期T有关,因为储存费是由每天储存的产品数量决定的。我们可以先算出每个周期内生产的产品数量,然后再计算每天储存的产品数量。
每个周期内生产的产品数量为Q,所以每天生产的数量为Q/T。每天的需求量为r,所以每天多余的产品数量为Q/T-r。如果这个数量为负数,则说明每天都无法满足需求,需要加大生产量;如果这个数量为正数,则说明每天都会有剩余的产品,需要储存。每天储存的产品数量为(Q/T-r)/2,因为我们假设剩余的产品数量平均分配到每个储存日中,每个储存日的数量为(Q/T-r)/2。每天储存的费用为c2乘以每天储存的产品数量,即c2*(Q/T-r)/2。总费用C为生产准备费和储存费的总和,即:
C = c1 + c2*(Q/T-r)/2
2. 对总费用求导
对总费用C关于周期T求导,得到:
dC/dT = -c2*(Q/T^2)
3. 求使总费用最小的周期T
令导数dC/dT为0,解得最小周期T为:
T = sqrt(c2*Q/r)
4. 在matlab中求解
在matlab中,我们可以先定义出c1、c2、Q和r的值,然后按照上述公式计算出最小周期T。具体代码如下:
```matlab
c1 = 100; % 生产准备费
c2 = 1; % 每天每件产品的储存费
Q = 1000; % 产量
r = 50; % 每天的需求量
T = sqrt(c2*Q/r);
fprintf('最小周期T为:%f\n', T);
```
运行后得到最小周期T的值为22.3607。
阅读全文