当前位置: 首页 > news >正文

2022国赛E题完整成品文章数据代码模型--小批量物料的生产安排

图片

基于LSTM循环神经网络的小批量物料生产安排分析

摘要

某电子产品制造企业面临以下问题:在多品种小批量的物料生产中,事先无法知道物料的 实际需求量。企业希望运用数学方法,分析已有的历史数据,建立数学模型,帮助企业合理地 安排物料生产。

针对问题一,为了确保数据的真实可用性,对数据进行了异常检验,发现数据没有出现缺失值、离群值等异常值。基于附件中所给的物料需求数据,首先对数据进行 了描述性统计分析。其次,为了评价物料的受关注程度,选取频数、数量、趋势、销售单价和销售总额标准化后的数据作为评价指标,利用建立了层次分析模型,在指标层,对指标数值大小的等级划分采用的是百分位数作为划分依据,克服了主观性的划分导致各等级之间的区别度小的缺点,经过评估,选取了6种物料作为重点关注物料(见表15)。最后,由于LSTM神经网络模型与传统的LSTM神经网络模型相比,循环神经网络能够实时更新训练样本,精度更高,因此选择LSTM循环网络模型作为物料周期需求预测模型;对于物料需求的预测平均精度达到了89.27%,比BP神经网络和LSTM神经网络精度分别提升了20.85%和12.93%。

针对问题二,首先本文对需求特征指标进行了定义,为了防止预测结果过大导致库存量过多,引用了需求最大连续周期、需求平均连续周期来两个监督指标对预测结果进行判断;其次,了防止预测数据过低而导致缺货,因此引入需求最大间断周期、需求平均连续间断周期监督指标对其预测结果进行判断;最后,引入前三周期平均需求量指标对其输出结果进行补偿,最后对六种主要物料的生产进行安排,结果表明,六种物料的平均服务水平在96%左右,缺货率基本为0。

针对问题三,考虑到物料的价格,物料的库存需要占用资金。为了在库存量与服务水平之间达 到某种平衡,因此在模型种加入了三种惩罚函数:库存量、物料价格、库存量惩罚指数,改进后的模型对于库存的过剩和缺货更加敏感,对六种重点物料的生产重新安排,其结果表明,六种物料的平均周库存量、缺货量、服务水平分别为:0.21、0.14、93%。

针对问题四,由于问题二是在问题三的基础上增加需求的问题,因此,本文只考虑物料生产的期限在两周及两周以后的推广情况。为了适应不同的生产周其下的物料需求预测,对LSTM循环神经网络模型进行改进,使其参数进行自动寻优,即在不同的预测周期下能够有最有的参数,达到最优的精度。改进后的模型结果相比于未改进前,性能略有提升,说明该模型能够适应在不同的生产周下,对物料需求的预测。

关键词:物料需求预测;LSTM循环神经网络;综合评价;

图片

1 问题重述
1.1 问题背景
随着我国社会经济的飞速发展,人民生活水平得到极大提高,生活质量显著改善,人口的迅速增加,人们对于电子产品的需求日益增加。特别是近些年来,随着改革开放,我国已经成为全球最大的消费电子产品生产国、出口消费国,2018年,中国手机、计算机和彩电产量占到全球总产量的90%、90%和70%以上,均稳居全球首位。与此同时,诸多企业面临着在多种小批量的物料生产中,事先无法知道物料的实际需求,从而很容易造成较大的库存,或者出现较多的缺货,给企业带来经济和信誉方面的损失。因此,企业希望通过已有的历史数据,建立数学建模,帮助企业合理地安排物料生产。

1.2 问题相关信息
某电子企业提供了284种物料在2019年1月到2022年5月的需求量和销售单价的信息,为了合理地安排物料生产,建立数学模型,利用相关算法预测出物料未来的需求量,并根据预测数据、需求特征、库存量和缺货量等方面综合考虑,以便合理地安排生产。物件的需求信息和单价信息在附件1种给出。

1.3 需解决的问题
根据题目要求,研究附件所提供的数据信息及查阅的相关文献,运用数学建模的知识进行分析和研究:

问题一:请对附件中的历史数据进行分析,选择 6 种应当重点关注的物料,建立物料周期预测模型,并利用历史数据对预测模型进行评价。

问题二:为了避免物料生产造成生较大的库存,或者出现较多的缺货,给企业带来经济和信誉方面的损失。从需求量的预测值、需求特征、库存量和缺货量等方面综合考虑,提供一种制定生产计划的方法,对6种关注物料的生产计划进行安排,使得平均服务水平不低于85%,并将生产计划和综合结果分别填写在表种。

问题三:考虑到物料的价格,物料的库存需要占用资金。为了在库存量与服务水平之间达 到某种平衡,如何调整现有的周生产计划,并说明理由。请根据新的周生产计划,对问题 1 选 定的 6 种物料重新计算。

问题四:如果本周计划生产的物料只能在两周及以后使用,请重新考虑问题 2 和问题 3。将方法推广到一般情况

2 问题分析
2.1 问题一的分析
在整个研究过程开始前,数据需要进行预处理,发现数据并没有出现异常值和缺失值后,因此用原数据进行后续分析。要选取6种重点关注的物料,首先,先要进行物料被重视程度的评价指标的选取,由于附件中的数据只有物料的需求量和单价信息,因此需要对数据进行变换,找出能够反映物料被重视程度的指标。其次,在查阅相关文献后,发现物料需求出现的频数、数量、趋势、销售单价和销售总额能够反映物料被重视程度,然后本文在对该类指标进行了定义,建立了综合评价模型来反映物料的被重视程度,将评价得分前6名的物料作为重点关注的物料。最后,在预测模型的选取方面,由于对物料需求量的预测是对时间序列的预测,虽然LSTM神经网络模型相比于传统的CNN神经网络具有良好的记忆能力,能够保留数据更多的细节,但是在时间预测周期越长的情况下,模型的精度会越低。因此可以构建LSTM循环神经网络,对数据进行动态预测,实时更新训练样本,更加符合企业生产的实际需要,克服预测周期对模型精度的影响。

2.2 问题二的分析
针对问题而问题二,由于需要从需求量的预测值、需求特征、库存量和缺货量等方面综合考虑,以便更合理地安排生产;预测值、库存量和缺货量是显然的指标,而需求特征并没有具体的定义,因此要先对需求特征进行定义,对于需求特征,可以从需求最大连续周期、需求平均连续周期、需求最大间断周期、需求平均连续间断周期和

前三周期需求量平均值方面进行分析,然后再把各指标的数据进行转换,将指标考虑到模型里去,对预测模型进行求解。

2.3 问题三的分析
考虑到物料的价格,物料的库存需要占用资金。为了在库存量与服务水平之间达 到某种平衡,因此在模型种加入了三种惩罚函数:库存量、物料价格、库存量惩罚指数,改进后的模型对于能够对于库存的过剩和缺货更加敏感,最后再对六种重点物料的生产重新安排。

2.4 问题四的分析
由于问题二是在问题三的基础上增加需求的问题,因此,本文只考虑物料生产的期限在两周及两周以后的推广情况。该问题实质上模型是在不同的预测周期里的,对模型的预测能力的影响评估,为了使得为了模型有更好的推广性,因此,对LSTM循环神经网络模型进行改进,使其参数进行自动寻优,即在不同的预测周期下能够有最有的参数,达到最优的精度。

图片
图片

本题中评价模型的代码如下

disp(‘请输入判断矩阵A’)

A=input(‘A=’);

[n,n] = size(A);

% % % % % % % % % % % % %方法1:算术平均法求权重% % % % % % % % % % % % %

Sum_A = sum(A);

SUM_A = repmat(Sum_A,n,1);

Stand_A = A ./ SUM_A;

disp(‘算术平均法求权重的结果为:’);

disp(sum(Stand_A,2)./n)

% % % % % % % % % % % % %方法2:几何平均法求权重% % % % % % % % % % % % %

Prduct_A = prod(A,2);

Prduct_n_A = Prduct_A .^ (1/n);

disp(‘几何平均法求权重的结果为:’);

disp(Prduct_n_A ./ sum(Prduct_n_A))

% % % % % % % % % % % % %方法3:特征值法求权重% % % % % % % % % % % % %

[V,D] = eig(A);

Max_eig = max(max(D));

[r,c]=find(D == Max_eig , 1);

disp(‘特征值法求权重的结果为:’);

disp( V(:,c) ./ sum(V(:,c)) )

% % % % % % % % % % % % %下面是计算一致性比例CR的环节% % % % % % % % % % % % %

CI = (Max_eig - n) / (n-1);

RI=[0 0.0001 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59]; %注意哦,这里的RI最多支持 n = 15

% 这里n=2时,一定是一致矩阵,所以CI = 0,我们为了避免分母为0,将这里的第二个元素改为了很接近0的正数

CR=CI/RI(n);

disp(‘一致性指标CI=’);disp(CI);

disp(‘一致性比例CR=’);disp(CR);

if CR<0.10

disp('因为CR<0.10,所以该判断矩阵A的一致性可以接受!');

else

disp('注意:CR >= 0.10,因此该判断矩阵A需要进行修改!');

end

相关文章:

2022国赛E题完整成品文章数据代码模型--小批量物料的生产安排

基于LSTM循环神经网络的小批量物料生产安排分析 摘要 某电子产品制造企业面临以下问题&#xff1a;在多品种小批量的物料生产中&#xff0c;事先无法知道物料的 实际需求量。企业希望运用数学方法&#xff0c;分析已有的历史数据&#xff0c;建立数学模型&#xff0c;帮助企业…...

学生党,快来 Azure 一起学习 OpenAI (一):注册 Azure 和申请 OpenAI

大家好我是微软学生大使 Jambo , 在刚结束的微软学生开发者峰会 2023中我们了解到微软为学生提供了 Azure for Student 大礼包&#xff0c;通过 Azure for Student 除了学习和部署云原生的应用外&#xff0c;还可以申请使用 Microsoft OpenAI Service 。在这个 AIGC 火热的年代…...

深入理解【正则化的L1-lasso回归和L2-岭回归】以及相关代码复现

正则化--L1-lasso回归和L2-岭回归1- 过拟合 欠拟合 模型选择2- 正则L1与L23- L2正则代码复现3-1 底层逻辑实现3-2 简洁实现1- 过拟合 欠拟合 模型选择 1-1 欠拟合&#xff1a; 在训练集和测试集上都不能很好的拟合数据【模型过于简单】 原因&#xff1a; 学习到的数据特征过少 …...

入侵检测——如何实现反弹shell检测?

反弹shell的本质&#xff1a;就是控制端监听在某TCP/UDP端口&#xff0c;被控端发起请求到该端口&#xff0c;并将其命令行的输入输出转到控制端。reverse shell与telnet&#xff0c;ssh等标准shell对应&#xff0c;本质上是网络概念的客户端与服务端的角色反转。 反弹shell的结…...

Python常用语句学习

人生苦短&#xff0c;我用Python。 ——吉多范罗苏姆 文章目录前言一、判断语句&#xff08;一&#xff09;if语句1. 作用2. 构成3. 语法4. 样例5.说明&#xff08;二&#xff09;if嵌套二、循环语句&#xff08;一&#xff09;while循环1. 作用2. 语法3. 样例4. 说明&#xff…...

测试3年还不如应届生,领导一句点醒:“公司不是只雇你来点点点的”

你的身边&#xff0c;是否有这样的景象&#xff1f; A&#xff1a;写了几年代码&#xff0c;写不下去了&#xff0c;听说测试很好上手&#xff0c;先来做几年测试 。 B&#xff1a;小文员一枚&#xff0c;想入行 IT&#xff0c;听说测试入门简单&#xff0c;请问怎么入行 。 …...

华为网络设备之路由策略,前缀列表(使用,规则)

华为网络之路由策略 前言&#xff1a;在企业网络的设备通信中&#xff0c;常面临一些非法流量访问的安全性及流量路径不优等问题&#xff0c;故为保证数据访问的安全性、提高链路带宽利用率&#xff0c;就需要对网络中的流量行为进行控制&#xff0c;如控制网络流量可达性、调…...

白噪音简介与实现

一、简介&#xff1a; 白噪音&#xff08;White Noise&#xff09;是一种具有平均功率频谱密度的噪音信号&#xff0c;其功率在所有频率上均匀分布。白噪音是一种随机信号&#xff0c;其包含所有频率成分的等幅随机振荡。因此&#xff0c;白噪音看起来像是一种随机的“嘈杂声”…...

Springboot结合线程池的使用

1.使用配置文件配置线程的参数 配置文件 thread-pool:core-size: 100max-size: 100keep-alive-seconds: 60queue-capacity: 1配置类 Component ConfigurationProperties("thread-pool") Data public class ThreadPoolConfig {private int coreSize;private int ma…...

AOP工作流程

AOP工作流程3&#xff0c;AOP工作流程3.1 AOP工作流程流程1:Spring容器启动流程2:读取所有切面配置中的切入点流程3:初始化bean流程4:获取bean执行方法验证容器中是否为代理对象验证思路步骤1:修改App类,获取类的类型步骤2:修改MyAdvice类&#xff0c;不增强步骤3:运行程序步骤…...

Modbus相关知识点及问题总结

本人水平有限&#xff0c;写得不对的地方望指正 困惑&#xff1a;线圈状态的值是否是存储在线圈寄存器里面&#xff1f;是否有线圈寄存器的说法&#xff1f;网上有说法说是寄存器占两个字节&#xff0c;但线圈的最少操作单位是位。类似于继电器的通断状态&#xff0c;直接根据电…...

【MySQL】函数

文章目录1. DQL执行顺序2. 函数2.1 字符串函数2.2 数值函数2.3 日期函数2.4 流程函数2.5 窗口函数2.5.1 介绍2.5.2 聚合窗口函数2.5.3 排名窗口函数2.5.4 取值窗口函数1. DQL执行顺序 2. 函数 2.1 字符串函数 函数功能concat(s1,s2,…sn)字符串拼接&#xff0c;将s1,s2…sn拼…...

MySQL高级

一、基础环境搭建 环境准备&#xff1a;CentOS7.6&#xff08;系统内核要求是3.10以上的&#xff09;、FinalShell 1. 安装Docker 帮助文档 : https://docs.docker.com/ 1、查看系统内核&#xff08;系统内核要求是3.10以上的&#xff09; uname -r2、如果之前安装过旧版本的D…...

带你弄明白c++的4种类型转换

目录 C语言中的类型转换 C强制类型转换 static_cast reinterpret_cast const_cast dynamic_cast RTTI 常见面试题 这篇博客主要是帮助大家了解和学会使用C中规定的四种类型转换。首先我们先回顾一下C语言中的类型转换。 C语言中的类型转换 在C语言中&#xff0c;如果赋…...

8个明显可以提升数据处理效率的 Python 神库

在进行数据科学时&#xff0c;可能会浪费大量时间编码并等待计算机运行某些东西。所以我选择了一些 Python 库&#xff0c;可以帮助你节省宝贵的时间 文章目录1、Optuna技术提升2、ITMO\_FS3、Shap-hypetune4、PyCaret5、floWeaver6、Gradio7、Terality8、Torch-Handle1、Optun…...

互联网公司吐槽养不起程序员,IT岗位的工资真是虚高有泡沫了?

说实话&#xff0c;看到这个话题的时候又被震惊到。 因为相比以往&#xff0c;程序员工资近年来已经够被压缩的了好嘛&#xff1f; 那些鼓吹泡沫论的&#xff0c;真就“何不食肉糜”了~~~ 而且这种逻辑就很奇怪&#xff0c; 程序员的薪资难道不是由行业水平决定么&#xff…...

Excel 进阶|只会 Excel 也能轻松搭建指标应用啦

现在&#xff0c;Kyligence Zen 用户可在 Excel 中对指标进行更进一步的探索和分析&#xff0c;能够实现对维度进行标签筛选、对维度基于指标值进行筛选和排序、下钻/上卷、多样化的透视表布局、本地 Excel 和云端 Excel 的双向支持等。业务人员和分析师基于现有分析习惯就可以…...

RabbitMQ中TTL

目录一、TTL1.控制后台演示消息过期2.代码实现2.1 队列统一过期2.2 消息过期一、TTL TTL 全称 Time To Live&#xff08;存活时间/过期时间&#xff09;。 当消息到达存活时间后&#xff0c;还没有被消费&#xff0c;会被自动清除。 RabbitMQ可以对消息设置过期时间&#xff0…...

Ceres简介及示例(4)Curve Fitting(曲线拟合)

文章目录1、Curve Fitting1.1、残差定义1.2、 Problem问题构造1.3、完整代码1.4、运行结果2、Robust Curve Fitting1、Curve Fitting 到目前为止&#xff0c;我们看到的示例都是没有数据的简单优化问题。最小二乘和非线性最小二乘分析的原始目的是对数据进行曲线拟合。 以一个…...

音质最好的骨传导蓝牙耳机有哪些,推荐几款不错的骨传导耳机

​骨传导耳机也称为“不入耳式”耳机&#xff0c;是一种通过颅骨、骨迷路、内耳淋巴液和听神经之间的信号传导&#xff0c;来达到听力保护目的的一种技术。由于它可以开放双耳&#xff0c;所以在跑步、骑行等运动时使用十分安全&#xff0c;可以避免外界的干扰。这种耳机在佩戴…...

计算机操作系统安全

操作系统安全是计算机系统安全的重要组成部分&#xff0c;目的是保护操作系统的机密性、完整性和可用性。在当前的网络环境下&#xff0c;操作系统面临着许多威胁&#xff0c;如病毒、木马、蠕虫、黑客攻击等等。为了保护操作系统的安全&#xff0c;需要采取各种措施来防范这些…...

超详细从入门到精通,pytest自动化测试框架实战教程-用例标记/执行(三)

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 pytest可以通过标记…...

Java SE 基础(5) Java 环境的搭建

Java 虚拟机——JVM JVM &#xff08;Java Virtual Machine &#xff09;&#xff1a;Java虚拟机&#xff0c;简称JVM&#xff0c;是运行所有Java程序的假想计算机&#xff0c;是Java程序的运行环境&#xff0c;是Java 最具吸引力的特性之一。我们编写的Java代码&#xff0c;都…...

银行数字化转型导师坚鹏:银行对公客户数字化场景营销案例萃取

银行对公客户数字化场景营销案例萃取与行动落地课程背景&#xff1a; 很多银行存在以下问题&#xff1a;不清楚银行数字化营销与场景营销内涵&#xff1f;不知道如何开展对公客户数字化营销工作&#xff1f;不知道对公业务数字化场景营销成功案例&#xff1f; 学员收获&a…...

get和post的区别

1.用途上 get请求用来向服务器获取资源&#xff1b; post请求用来向服务器提交数据&#xff1b; 2.表单提交方式上 get请求直接将表单数据拼接到URL上&#xff0c;多个参数之间通过&符号连接&#xff1b; post请求将表单数据放到请求头或者请求体中&#xff1b; 3.传…...

Java调用Oracle存储过程

文章目录 Java调用Oracle存储过程Java调用Oracle存储过程 使用Java实现存储过程的步骤: 1、数据表、存储过程【已完成】 2、引入依赖包、数据源配置 3、Java实现【已完成】 – Oracle 创建数据表 CREATE TABLE STUDENT ( ID NUMBER (20) NOT NULL ENABLE PRIMARY KEY, NAME V…...

ubuntu如何设置qt环境变量

Qt 是一个1991年由Qt Company开发的跨平台C图形用户界面应用程序开发框架。它既可以开发GUI程序&#xff0c;也可用于开发非GUI程序&#xff0c;比如控制台工具和服务器。Qt是面向对象的框架&#xff0c;使用特殊的代码生成扩展&#xff08;称为元对象编译器(Meta Object Compi…...

高管对谈|揭秘 NFT 技术背后的研发方法论

有人说&#xff0c;元宇宙是未来&#xff0c;NFT 则是通往这个可能的未来的数字通行证。 经过一度热炒之后&#xff0c;NFT 逐渐回归理性的「大浪淘沙」轨迹。NXTF_&#xff08;廿四未来&#xff09;正是一家将 NFT 向实体经济靠拢并与之结合的公司。 NXTF_利用区块链技术&am…...

是面试官放水,还是企业实在是缺人?这都没挂,字节原来这么容易进...

“字节是大企业&#xff0c;是不是很难进去啊&#xff1f;”“在字节做软件测试&#xff0c;能得到很好的发展吗&#xff1f;一进去就有9.5K&#xff0c;其实也没有想的那么难”直到现在&#xff0c;心情都还是无比激动&#xff01; 本人211非科班&#xff0c;之前在字节和腾讯…...

JVM 本地方法栈

本地方法栈的作用 Java虚拟机栈于管理Java方法的调用&#xff0c;而本地方法栈用于管理本地方法的调用。本地方法栈&#xff0c;也是线程私有的。允许被实现成固定或者是可动态扩展的内存大小&#xff08;在内存溢出方面和虚拟机栈相同&#xff09; 如果线程请求分配的栈容量超…...