数学建模--蒙特卡洛算法之电子管更换刀片寿命问题

目录

1.电子管问题重述

2.电子管问题分析

3.电子管问题求解

4.刀片问题重述

5.刀片问题分析

6.刀片问题求解


1.电子管问题重述

某设备上安装有4只型号规格完全相同的电子管,已知电子管寿命服从100~200h之间的均匀分布.

只要有一个电子管损坏,设备就不能工作。

电子管损坏时有两种维修方案:

一、是每次更换损坏的那只;

二、是当其中1只损坏时4只同时更换.

已知更换时间为换1只时需1h,4只同时更换为2h.

更换时机器因停止运转每小时的损失为20元,又每只电子管价格10元,试用模拟方法确定哪一个方案经济合理?

这个里面是出现了两个方案,方案一就是每一次只用去更换掉损坏的那一个;

第二个方案就是当一个损坏的时候,全部更换掉;

这个里面无论是方案一还是方案二,都会产生一个停止运转(更换时间以内)的损失问题,我们要综合考虑这个更换成本和更换损失,计算出这个最经济的方案(就是两个的和最小,即损失加成本的和最小);

2.电子管问题分析

我们在分析问题的时候就去建立这个对应的数学模型,对于这个出现在模型里面的变量代表的含义,我们一定要搞清楚,这个对于我们的后续代码的编写很重要;

我们的这个思路就是去使用成本加上这个换电子管的损失费用之和相比较,费用低的就是经济的选择,c表示的就是一个电子管的更换成本,f表示每次更换的时候的损失成本,肯呢个有些同学会好奇这个里面的n代表的实际意义是什么,实际上这个n表示的是一个次数,下面我们细讲一下;

我们标题就说了,这个里面的两个问题就是蒙特卡洛算法的问题,而我们的蒙特卡洛算法的实质就是多次模拟,实际上这个关系是这样的:仿真模拟问题里面有很多的案例,这个蒙特卡洛算法就是这个里面的一种仿真模拟的方法,两个的实质很相似,都是多次模拟;

而我们写的这个四个人相互追逐的问题也属于方仿真问题,只不过这个属于过程仿真,需要我们在坐标系里面去解决,他们两个的关系就是下面的图里面的展示结果;

理清了关系,我们介绍思路,这个电子管问题涉及到了时间,我们却要进行多次仿真模拟,这个时候,我们就可以设置一个较长的时间,在这个实际上里面会进行多次的仿真模拟,但是也是会有一些不在这个范围里面,比如一个小写的数据,就1000小时,我们在这个时间里面进行模拟多次,可能有些电子管在这个时间的最后没有完全完成更换,就是这个时间可能不会完全使用完毕,我们只需要计算这个时间里面的完整电子管的相关费用即可,具体到matlab代码里面就是使用length函数求解一个向量的长度,这个长度就是我们这个图片里面的n的数值;

3.电子管问题求解

clc
clear
c=10;  %单个电子管的价格
f=20;  %单位时间的更换损失
ct1=1; %方案1的更换时间
ct2=2; %方案2的更换时间T=10000;%仿真观测时间tic %开始计时for i=1:1000  %仿真次数R=100+100*rand(4,100); %模拟产生4乘100只电子管的寿命t=cumsum(R,2);          %转换为时间轴的时刻%按照方案1计算成本tt1=sort(reshape(t,1,[])); %将所有的故障时刻转换到同一时间轴 并排序t1=tt1(find(tt1<=T));      %筛选出截止时间T以内的数据C1(i)=length(t1)*(c+f*ct1);  %方案1的总成本%%按照方案2计算成本tt2=cumsum(min(R));     %每次找到寿命最短的电子管更换t2=tt2(find(tt2<=T));  %筛选出截止时间T以内的数据C2(i)=length(t2)*(4*c+f*ct2); %方案2的成本
endMC1=mean(C1)
MC2=mean(C2)
toc  %结束计时

这个代码里面有很清楚的注释,下面简单的说明几点:

***length(t1)这些就是我们的分析里面说到的,选出来这个有效时间里面的数据的个数,作为我们的n的具体的数值;

***这个里面实际上是绘制的这个模拟过程的时间轴,就是把每一个灯管做成一个时间轴,每一次进行模拟的时候都会进行累积的,我们最后的mean函数再去求解这个平均值;

***rand函数就是生成的随机数,只不过这个里面是有4灯管,每一个模拟次数是100次,总共的模拟时间就是10000小时;

***R是电子管的寿命的具体的数值,这个我们如何去进行时间轴的转换呢,就是使用的cumsum函数,这个函数的第一个参数R就是寿命的时间长短,2表示行方向上进行求和;

***就是每一个电子管在模拟时间里面多次进行更换,我们cumsum参数2就是行方向求和(默认的话就是列方向求和),这样的话每一个电子管的使用寿命时长就会累加,产生一个类似于时间轴的效果;

4.刀片问题重述

5.刀片问题分析

上面这个刀片问题,很多人无法理解(最开始的时候我自己想了很长时间都想不明白),为了帮助大家理解这个问题,下面通过一个简单的图形帮助大家去理解问题:

就是我们有很多的刀片,我们可能在一个时间去更换他,但是这个刀片的寿命是不一样的,有的长,有的短,我们如果过早地更换,可能这个刀片产生的利润就不是很多,但是时间过长的话,我们的利润多,可能会使得一些刀片损坏而产生损失的费用,比如,我们把这个更换周期设置为T1,这个时候只有刀片11会产生损失,其他的都是产生的利润,更换周期变长之后,这个利润会变多,例如T2,但是损坏的刀片的数量也会变多,这个损失费用也会变大,这个也有优化问题的成分,让我们去求解利润最大的时候的更换时间,相当于是一个最优解;

6.刀片问题求解

我们在这个过程里面有很多的中间变量,为了帮助大家理解,我把这个相关的中间结果也展示在了实时脚本里面;

下面是代码:

clc
clear
N=10000;  %%刀具数目为N
RC=10:10:1000; %%设定状态变化量离散点 刀具使用时间for j=1:100     %%设定仿真次数for i=1:length(RC)  %%不同的更换周期R=normrnd(500,100,1,N);  %%产生正态分布随机数RR=R;                 %%用于记录R的原始值Rc=RC(i);             %%读取第i个刀具更换周期r=find(R>Rc);         %%查询寿命大于设定更换周期的刀具序号RR(r)=Rc;      %%替换为每把刀具的实际加工时间,RR代表了所有刀具的实际加工时间n1=length(r);  %%寿命大于设定时间的刀具n2=N-n1;       %%寿命小于设定时间的刀具get=sum(RR)*10;   %%计算毛收益lost=n2*3000;     %%计算危害损失get2(i,j)=get-lost;  %%计算净收益end
endfigure
plot(RC,mean(get2'))
xlabel('刀具更换周期/h')
ylabel('净收益')
g=mean(get2');
k=find(g==max(g))
RC(k)

***这个里面的normrnd函数,第一个参数是均值,第二个是方差,1,N表示的就是1行N列的矩阵

***find函数查找的就是寿命长,没有损坏的刀片,把这个更换的时间作为其实际工作时间去更新数据矩阵;

***mean函数求解平均值,默认的话就是对于列求解平均值,其他的注释都很清楚,这里不再赘述,有问题欢迎评论区或者私信留言~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/395327.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在线办公小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;通知公告管理&#xff0c;员工管理&#xff0c;部门信息管理&#xff0c;职位信息管理&#xff0c;会议记录管理&#xff0c;待办事项管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首…

Android经典实战之如何获取图片的经纬度以及如何根据经纬度获取对应的地点名称

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 在Android中&#xff0c;可以通过以下步骤获取图片的经纬度信息以及根据这些经纬度信息获取对应的地点名称。这里主要涉及两部分&#xff1a;从…

从0开始搭建vue + flask 旅游景点数据分析系统(七):可视化前后端对接实现

这一期继续编写flask后端&#xff0c;并且完成echarts折线图、柱状图和饼图的对接。 1 新增一些依赖 pip install Flask-SQLAlchemy Flask-Marshmallow pymysql修改 init.py文件&#xff0c;下面给出完整代码&#xff1a; from flask import Flask from flask_sqlalchemy im…

leetcode70_爬楼梯

思路 动态规划 爬到第n阶楼梯的方法数为&#xff1a;第n-1阶楼梯的方法数 第n-2阶楼梯的方法数 func climbStairs(n int) int {if n < 2 {return 1}dp : make([]int, n1)dp[1] 1dp[2] 2for i:3; i<n; i {dp[i] dp[i-1] dp[i-2]}return dp[n] }

Kubernetes中的PV)和 PVC深度剖析

在容器化的世界里&#xff0c;持久化存储一直是一个重要且复杂的问题。Kubernetes&#xff08;以下简称K8s&#xff09;为了解决容器中的数据持久化问题&#xff0c;提出了Persistent Volume&#xff08;PV&#xff09;和Persistent Volume Claim&#xff08;PVC&#xff09;这…

大数据信用报告查询哪家平台的比较好?

相信在搜索大数据信用的你&#xff0c;已经因为大数据信用不好受到了挫折&#xff0c;想详细了解一下自己的大数据信用&#xff0c;但是找遍了网络上的平台之后才发现&#xff0c;很多平台都只提供查询服务&#xff0c;想要找一个专业的平台查询和讲解很困难。下面本文就为大家…

LeetCode 150.逆波兰表达式求值

LeetCode 150.逆波兰表达式求值 思路&#x1f9d0;&#xff1a; 用栈存储该字符串&#xff0c;如果遇到数字就入栈&#xff0c;遇到符号就将数字出栈计算后再入栈&#xff0c;当整个字符串遍历完后&#xff0c;栈顶值就是该表达式的值。 代码&#x1f50e;&#xff1a; class …

【OpenCV C++20 学习笔记】范围阈值操作

范围阈值操作 原理HSV颜色空间RGB与HSV颜色空间之间的转换 代码实现颜色空间的转换范围阈值操作 原理 HSV颜色空间 HSV(色相hue, 饱和度sarturation, 色明度value)颜色空间与RGB颜色空间相似。hue色相通道代表颜色类型&#xff1b;saturation饱和度通道代表颜色的饱和度&…

MySQL-MHA高可用配置及故障切换

目录 案例搭建 1&#xff1a;所有服务器关闭防火墙 2&#xff1a;设置hosts文件 3&#xff1a;安装 MySQL 数据库 4&#xff1a;修改参数 5&#xff1a;安装 MHA 软件 6&#xff1a;配置无密码认证 7&#xff1a;配置 MHA 8&#xff1a;模拟 master 故障 MHA(MasterHi…

【Python修改所有可执行程序的图标】

孩子还小&#xff0c;不懂事写着玩的 警告&#xff1a;请谨慎使用。该程序会修改全系统所有可执行文件图标(其实就是注册表)&#xff0c;在重新开机后生效 演示&#xff1a; 把应用程序图标改为记事本&#x1f5d2; 原理&#xff1a; Windows 操作系统通过注册表来存储和管…

不懂期权怎么交易?看这个例子就懂了

期权就是股票&#xff0c;唯一区别标的物上证指数&#xff0c;会看大盘吧&#xff0c;期权交易两个方向认购做多&#xff0c;认沽做空&#xff0c;双向t0交易没了&#xff0c;跟期货一样&#xff0c;对的&#xff0c;玩的也是合约&#xff0c;唯一区别没有保证金不会爆仓&#…

CAD二次开发IFoxCAD框架系列(15)- IFox的介绍和初始化

背景介绍 因为本人在光伏行业从事软件研发&#xff0c;最近我一直在做CAD方面技术的预研和探索。在研究CAD的SDK的时候&#xff0c;发现很多写法比较繁琐&#xff0c;所以一直想封装工具&#xff0c;提高开发效率&#xff0c;也做了很多的CAD工具的封装&#xff0c;大家可以看…

一文读懂如何选择视频孪生三维建模方式及建模精度等级

导言/INTRODUCTION 三维模型是视频孪生应用的基础&#xff0c;建模方式与模型精度将直接影响到最终孪生场景的呈现和应用效果。各种建模方式和模型精度在成本、场景还原真实度、实施周期方面都有自己的特点&#xff0c;因而有着各自的优劣势和适用场景&#xff0c;同一场景可能…

鸿蒙开发5.0【应用异常处理】运维

应用异常处理 介绍 本示例介绍了通过应用事件打点hiAppEvent获取上一次应用异常信息的方法&#xff0c;主要分为应用崩溃、应用卡死两种。 效果图预览 使用说明 点击构建应用崩溃事件&#xff0c;3s之后应用退出&#xff0c;然后打开应用进入应用异常页面&#xff0c;隔1mi…

pdf怎么加密码怎么设置密码?pdf加密码的几种设置方法

在数字化时代&#xff0c;信息的保密性与安全性日益成为我们不可忽视的重要环节。尤其对于包含敏感信息或个人隐私的PDF文档而言&#xff0c;保护其免受未授权访问的侵扰显得尤为重要。通过为PDF文档设置密码保护&#xff0c;我们能够筑起一道坚实的防线&#xff0c;确保只有拥…

Java常见面试题-13-FastDFS

文章目录 FastDFS 是什么&#xff1f;FastDFS 组成FastDFS 的流程FastDFS 如何现在组内的多个 storage server 的数据同步&#xff1f; FastDFS 是什么&#xff1f; FastDFS 是一个开源的轻量级分布式文件系统&#xff0c;它可以对文件进行管理&#xff0c;功能包括&#xff1…

创意指南丨VR游览沉浸式空间体验

欢迎来到我们制作的VR幻想世界。玩家的起点是一条蓝色水晶大道&#xff0c;让我们一起探索这个如梦似幻的境地。 在这条大道的两侧&#xff0c;漂浮着半透明的大水晶水母。它们轻盈地在空中飘动&#xff0c;仿佛在欢迎我们的到来。这条道路上方&#xff0c;一个个半圆环不停地…

【数据结构】Map与Set

前言 前两篇文章我们研究了二叉搜索树与哈希表的结构与特点&#xff0c;他们二者是Map与Set这两个接口实现的底层结构&#xff0c;他们利用了搜索树与哈希表查找效率高这一特点&#xff0c;是一种专门用来进行搜索操作的容器或数据结构。本篇文章就让我们一起来梳理这两个接口的…

基于Hadoop的国内手机销售大数据分析与可视化研究【百万数据集】

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍 绪论研究背景研究目的研究意义 相关技术理论介绍Hadoop相关理论HIve数据仓库flume组件介绍sqoop组件介绍Pyecharts介绍 数据来源及处理数据介绍数据预处理 Hadoop集群搭建Hadoop全…

开源wiki知识库工具zyplayer-doc

zyplayer-doc是一款适合团队和个人私有化部署使用的在线知识库、笔记、WIKI文档管理工具。它不仅提供了知识库管理的基本功能&#xff0c;还包含了数据库管理、API接口管理等模块&#xff0c;能够满足用户多样化的需求。 体验地址&#xff1a;文档管理系统 仓库地址&#xff…