基于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