一个车间内有10台相同的车床,每台车床运行时每小时创造40元的利润,且平均每小时损坏一次。而一位修理工修复一台车床平均需要4小时。以上时间均服从指数分布。设一位修理工每小时工资为60元,试求: (1)该车间应设多少名修理工,使总费用最小? (2)若要求不能运转的车床的期望数小于4台,则应设多少名修理工? 若要求损坏机器等待修理的时间少于4小时,又应设多少名修理工?用matlab脚本求解
时间: 2024-03-04 13:49:24 浏览: 17
好的,我会尽力回答您的问题。对于问题一,我们可以将每名修理工的总费用表示为工资和修理费用之和。设 $n$ 为修理工人数,则总费用为:
$$
C(n) = 60n + \frac{40}{1-\frac{1}{e}} \cdot \frac{10}{n}
$$
其中,$60n$ 为工资,$\frac{40}{1-\frac{1}{e}}$ 为每台车床的平均利润,$\frac{10}{n}$ 为每小时平均损坏的车床数量。这里用了一个常用的技巧,即将指数分布的期望转化为 $\frac{1}{1-\frac{1}{e}}$ 倍的均值。
我们要求的是总费用最小值,可以对 $C(n)$ 求导,并令其等于零:
$$
C'(n) = 60 - \frac{400}{n^2(1-\frac{1}{e})} = 0
$$
解得 $n = \sqrt{\frac{400}{60(1-\frac{1}{e})}} \approx 5$。因为车床数量是整数,所以最终结果应该是 5。
对于问题二,要求不能运转的车床期望数小于 4 台,即 $\frac{10}{n} < 4$,解得 $n > \frac{10}{4} = 2.5$。因为车床数量是整数,所以修理工人数应该至少为 3。
要求损坏机器等待修理的时间少于 4 小时,我们可以计算出每台车床等待修理的时间 $T$ 的期望:
$$
E(T) = \frac{1}{\lambda} + E(Y)
$$
其中,$\lambda=1$ 为车床损坏的速率,$E(Y)=4$ 为修理时间的期望。因为 $T$ 和 $n$ 呈负相关,我们可以把 $n$ 看作 $T$ 的函数,即 $n=n(T)$,求出 $n(T)$ 的表达式,然后找到最小的 $T$,使得 $n(T)$ 大于等于 10。
具体地,我们可以将 $n$ 表示为 $T$ 的函数:
$$
n(T) = \frac{10}{1+\frac{T}{4}}
$$
注意到 $n(T)$ 是单调递减的,因此我们只需要找到最小的 $T$,使得 $n(T) \geq 10$。可以使用二分法或者牛顿迭代法求解,这里给出一个简单的二分法实现:
```matlab
lambda = 1;
EY = 4;
n = @(T) 10 ./ (1 + T / EY);
f = @(T) n(T) - 10;
tol = 1e-6;
a = 0;
b = 10;
while b - a > tol
c = (a + b) / 2;
if f(c) > 0
a = c;
else
b = c;
end
end
T = (a + b) / 2;
n_min = n(T);
```
运行结果为 $T \approx 3.4539$,$n(T) \geq 10$,所以最少需要 1 名修理工。