用matlab计算2.一个车间内有10台相同的车床,每台车床运行时每小时创造40元的利润,且平均每小时损坏一次。而一位修理工修复一台车床平均需要4小时。以上时间均服从指数分布。设一位修理工每小时工资为60元,试求: (1)该车间应设多少名修理工,使总费用最小? (2)若要求不能运转的车床的期望数小于4台,则应设多少名修理工? (3)若要求损坏机器等待修理的时间少于4小时,又应设多少名修理工?

时间: 2024-03-04 09:49:25 浏览: 22
1. 该车间应设多少名修理工,使总费用最小? 设该车间设 $n$ 名修理工,则每小时总利润为 $40\times 10=400$ 元。由题意,每台车床每小时损坏的次数服从参数为 $\lambda=1$ 的指数分布,每位修理工修复一台车床的时间服从参数为 $\mu=4$ 的指数分布,因此每台车床等待修理的时间也服从参数为 $\mu=4$ 的指数分布。 设 $X_i$ 表示第 $i$ 台车床等待修理的时间,则 $X_i$ 服从参数为 $\mu=4$ 的指数分布。设 $Y$ 表示所有车床等待修理的总时间,则 $Y=\sum_{i=1}^{10}X_i$,因此 $Y$ 服从参数为 $\lambda=10$,$\mu=40$ 的 Erlang 分布。 设 $C_n$ 表示设 $n$ 名修理工时的总费用,则有 $$ C_n=60n+\frac{400n}{n+\lambda\mu} $$ 其中第一项为修理工的工资,第二项为每小时的总利润除以平均每小时的总修理时间。 为了使总费用最小,需要对 $C_n$ 求导数,令其等于0,解出最优的 $n$。具体地,有 $$ \frac{dC_n}{dn}=\frac{400\lambda\mu^2}{(n+\lambda\mu)^2}-\frac{400\lambda\mu}{n+\lambda\mu}=\frac{400\lambda\mu(n-\lambda\mu)}{(n+\lambda\mu)^2}=0 $$ 因此,$n=\lambda\mu=4$ 时总费用最小,此时总费用为 $$ C_4=60\times 4 + \frac{400\times 4}{4+10\times 40}=640 $$ 因此,该车间应设 4 名修理工,这样总费用最小。 在 MATLAB 中,可以使用以下代码计算: ```matlab lambda = 1; % 每台车床每小时损坏的次数 mu = 4; % 每位修理工修复一台车床的时间 n = 1:10; % 修理工数量 Cn = 60*n + 400*n./(n+lambda*mu); % 总费用 [minC, idx] = min(Cn); % 最小总费用及对应的修理工数量 fprintf('该车间应设 %d 名修理工,总费用为 %.2f 元\n', n(idx), minC); ``` 2. 若要求不能运转的车床的期望数小于 4 台,则应设多少名修理工? 设 $X_i$ 表示第 $i$ 台车床等待修理的时间,$I_i$ 表示第 $i$ 台车床是否在 $t$ 时刻不能运转,则 $I_i$ 是一个 0/1 随机变量,其取值为 1 表示该车床在 $t$ 时刻不能运转,取值为 0 表示该车床在 $t$ 时刻能够运转。由题意,$I_i$ 服从参数为 $\lambda=1$ 的泊松分布。因此,车间内不能运转的车床的数量 $N_t=\sum_{i=1}^{10}I_i$ 服从参数为 $\lambda=10$ 的泊松分布。 设 $C_n$ 表示设 $n$ 名修理工时的总费用,则有 $$ C_n=60n+\frac{400n}{n+\lambda\mu}+\mathbb{P}(N_t<4)\times 2000 $$ 其中第一项为修理工的工资,第二项为每小时的总利润除以平均每小时的总修理时间,第三项为期望不能运转的车床数小于 4 台时的惩罚成本,即需要乘以一个系数 2000。 为了使总费用最小,需要对 $C_n$ 求导数,令其等于0,解出最优的 $n$。具体地,有 $$ \frac{dC_n}{dn}=\frac{400\lambda\mu^2}{(n+\lambda\mu)^2}-\frac{400\lambda\mu}{n+\lambda\mu}+\frac{d}{dn}\mathbb{P}(N_t<4)\times 2000=0 $$ 因此,需要求出 $\mathbb{P}(N_t<4)$ 对 $n$ 的导数。由于 $\mathbb{P}(N_t<4)$ 是一个分段函数,可以分别计算其在各个区间内的导数: 当 $n+\lambda\mu\leq 4$ 时,有 $\mathbb{P}(N_t<4)=1$,因此 $$ \frac{d}{dn}\mathbb{P}(N_t<4)=0 $$ 当 $n+\lambda\mu>4$ 时,有 $\mathbb{P}(N_t<4)=\sum_{k=0}^{3}\frac{(\lambda\mu)^k}{k!}e^{-\lambda\mu}$,因此 $$ \frac{d}{dn}\mathbb{P}(N_t<4)=\frac{d}{dn}\sum_{k=0}^{3}\frac{(\lambda\mu)^k}{k!}e^{-\lambda\mu}=-\frac{4(\lambda\mu)^3}{(n+\lambda\mu)^4}e^{-\lambda\mu} $$ 将以上导数带入 $C_n$ 的导数中,有 $$ \frac{dC_n}{dn}=\frac{400\lambda\mu(n-\lambda\mu)}{(n+\lambda\mu)^2}-\frac{400\lambda\mu}{n+\lambda\mu}+\frac{d}{dn}\mathbb{P}(N_t<4)\times 2000=-\frac{800\lambda\mu(\lambda\mu-n)(n-2\lambda\mu)}{(n+\lambda\mu)^3}+2000\frac{4(\lambda\mu)^3}{(n+\lambda\mu)^4}e^{-\lambda\mu}=0 $$ 因此,需要使用数值方法求解方程 $f(n)=0$,其中 $f(n)$ 为上式左边的函数即可。 在 MATLAB 中,可以使用以下代码计算: ```matlab lambda = 1; % 每台车床每小时损坏的次数 mu = 4; % 每位修理工修复一台车床的时间 n = 1:10; % 修理工数量 Cn = zeros(size(n)); % 总费用 for i = 1:numel(n) Cn(i) = 60*n(i) + 400*n(i)/(n(i)+lambda*mu) + (poisscdf(3, lambda*mu)*2000); end [minC, idx] = min(Cn); % 最小总费用及对应的修理工数量 fprintf('该车间应设 %d 名修理工,总费用为 %.2f 元\n', n(idx), minC); ``` 3. 若要求损坏机器等待修理的时间少于 4 小时,又应设多少名修理工? 设 $X_i$ 表示第 $i$ 台车床等待修理的时间,则 $X_i$ 服从参数为 $\mu=4$ 的指数分布。设 $C_n$ 表示设 $n$ 名修理工时的总费用,则有 $$ C_n=60n+\frac{400n}{n+\lambda\mu}+\mathbb{P}(\max_{i=1}^{10}X_i<4)\times 2000 $$ 其中第一项为修理工的工资,第二项为每小时的总利润除以平均每小时的总修理时间,第三项为要求损坏机器等待修理的时间少于 4 小时的惩罚成本,即需要乘以一个系数 2000。 由于 $X_i$ 服从参数为 $\mu=4$ 的指数分布,因此 $\max_{i=1}^{10}X_i$ 服从参数为 $\mu=4/\ln 10$ 的对数正态分布。设 $Y=\max_{i=1}^{10}X_i$,则可以使用 MATLAB 中的 lognstat 函数计算 $Y$ 的均值和标准差。 设 $f_n$ 表示 $\mathbb{P}(\max_{i=1}^{10}X_i<4)$,则有 $$ f_n=\prod_{i=1}^{10}\mathbb{P}(X_i<4)=\prod_{i=1}^{10}(1-e^{-\frac{4}{\mu}})=\left(1-e^{-\frac{4}{\mu}}\right)^{10} $$ 因此,有 $$ C_n=60n+\frac{400n}{n+\lambda\mu}+\left(1-e^{-\frac{4}{\mu}}\right)^{10}\times 2000 $$ 为了使总费用最小,需要对 $C_n$ 求导数,令其等于0,解出最优的 $n$。具体地,有 $$ \frac{dC_n}{dn}=\frac{400\lambda\mu^2}{(n+\lambda\mu)^2}-\frac{400\lambda\mu}{n+\lambda\mu}-\frac{10\ln(1-e^{-\frac{4}{\mu}})e^{-\frac{4}{\mu}}\left(1-e^{-\frac{4}{\mu}}\right)^9}{n+\lambda\mu}=0 $$ 因此,需要使用数值方法求解方程 $f(n)=0$,其中 $f(n)$ 为上式左边的函数即可。 在 MATLAB 中,可以使用以下代码计算: ```matlab lambda = 1; % 每台车床每小时损坏的次数 mu = 4; % 每位修理工修复一台车床的时间 n = 1:10; % 修理工数量 Cn = zeros(size(n)); % 总费用 for i = 1:numel(n) Cn(i) = 60*n(i) + 400*n(i)/(n(i)+lambda*mu) + (1 - logncdf(4, log(mu/10), sqrt(2*log(10))))^10*2000; end [minC, idx] = min(Cn); % 最小总费用及对应的修理工数量 fprintf('该车间应设 %d 名修理工,总费用为 %.2f 元\n', n(idx), minC); ```

相关推荐

最新推荐

recommend-type

MATLAB计算分形维数的2种方法.docx

记录了MATLAB编程计算图片分形维数和使用内置插件计算分形维数的2种方法。使用Fraclab工具箱进行二值化图像的分形维数的计算
recommend-type

matlab学习笔记—中南大学(科学计算与MATLAB语言).doc

超详细MATLAB学习笔记,此笔记是跟随中南大学的《科学计算与MATLAB语言》课程所记录,可以从B站搜索视频配套学习!!!
recommend-type

matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例

主要介绍了matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

MATLAB计算微带线特性阻抗.docx

微带线是最受欢迎的传输线形式,给定微带线线宽,微带线厚度,PCB板材的相对介电常数εr ,设计一款计算器,这款计算器可以快速地计算出微带线的特征阻抗Zo,而且这款计算器的准确度丝毫不逊于商业软件。
recommend-type

Matlab的AIC和BIC的计算方法-关于AIC.doc

Matlab的AIC和BIC的计算方法-关于AIC.doc 关于AIC.doc AIC和BIC的计算方法 AIC和BIC的计算方法,留作备用
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

spring添加xml配置文件

1. 创建一个新的Spring配置文件,例如"applicationContext.xml"。 2. 在文件头部添加XML命名空间和schema定义,如下所示: ``` <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。