杨粟涵 于蕾
摘 要
BP神经网络算法的初始值和阈值用遗传算法来进行优化,用此优化后的遗传神经网络算法对城市区域圈物流量进行预测。以合肥都市圈为例,用2013-2018年与物流量相关的六个指标作为输入来预测2019年城市圈的物流货运量。使用Matlab7.0软件编码运行,结果证明,该算法时间少、精度高,预测效果更好。
关键词
物流量預测;遗传算法;BP神经网络
中图分类号: TP301.6 文献标识码: A
DOI:10.19694/j.cnki.issn2095-2457 . 2020 . 06 . 80
0 引言
区域经济一体化近年来发展迅速,各城市间生产要素自由流动,互利互惠,形成命运共同体。各城市间频繁地进行物资和信息的交换,仅仅一个城市的各种数据已不能满足相关部门对当地经济发展水平的衡量。城市区域圈内数据共享,形成协同效应,方能体现数据统计的准确性。本文以合肥都市圈为例,研究合肥,马鞍山,芜湖,淮南,六安,滁州六个城市的相关物流数据,通过对历史数据的分析来对下一年的物流数据进行预测。
城市的物流货运量反映了城市经济发展对物流运输的需求,在现代高速变化的经济形势下,物流货运需求量不断变化,及时准确地预测显得尤为重要。但是城市区域圈货运量受很多因素的影响,而且与其影响因素存在着复杂的非线性映射关系[1],很多传统的数据预测方法是基于时间序列,或者是因果关系[2],其数据的内部结构与复杂性不能完全被反映。因此,寻找有效较优的城市区域圈物流货运量预测方法甚为必要。
1 城市区域圈物流预测
对物流数据的预测方法很多,一般有两种:定性预测法和定量预测法。一般情况下的常用定性预测是专家预测法,常用的定量预测法主要包括概率统计和运筹学中的回归分析预测法、时间序列预测法、灰色预测法、弹性预测法等。合肥都市圈物流货运量受该区域经济形势、产业结构布局、货物运输量等其他因素影响,且其与影响因子之间存在非线性关系,因此采用传统的预测方法难以为继。合肥都市区域圈主要的物流货运量影响因子有:产业结构布局,包括第一产业、第二产业和第三产业增加值;区域社会居民消费,即区域社会消费品零售总额;区域进出口贸易,即区域进出口贸易总额;区域人口,即年末常住人口总量。因此,采集以上6个影响因子的数据,通过启发式算法建立模型来预测城市区域圈的物流货运量。
2 遗传神经网络算法
2.1 遗传算法
遗传算法是参照达尔文生物进化论和遗传学机理的一种模拟计算算法模型,是通过模拟生物进化来从可行解中搜寻最优解的方法[3]。遗传算法是从代表问题可行解解集的其中一个种群开始,种群则由经过编码的一定数目的个体所组成。个体实际上是带有特征的染色体实体。染色体是多个基因的集合,基因型决定了个体的外部表现。开始需要进行编码工作,初始代种群产生之后,按适者生存、优胜劣汰的原理,逐代演化出越来越优的近似解。在每一代进行个体选择时,是根据问题域中个体的适应度大小,并借助于自然遗传学的遗传算子进行组合、交叉、变异,产生出代表新的种群。
遗传算法的三种操作:(1)选择-复制:一个种群S,规模为N,每个染色体xi∈S的被选择概率为P(xi), 分N次从S中随机选定N个染色体,进行复制。
(2)交叉:就是互换两个染色体某些位上的基因。种群中产生了新个体,决定了遗传算法的全局搜索能力。把交叉率记为参加交叉运算的染色体占染色体总数的比例,记为Pc,取值范围可以从0.4到0.99。(3)变异:就是改变染色体某个(些)位上的基因。决定了遗传算法的局部搜索能力,同时保持种群的多样性。把变异率记为发生变异的基因位数占染色体基因总位数的比例,记为Pm,取值范围可以从0.0001到0.1。
算法步骤:(1)群体中个体适应度值的计算;(2)利用比例选择算子,计算个体被选中遗传到下一代的概率;(3)采用模拟轮盘赌操作来确定个体是否被遗传到下一代中。
2.2 BP神经网络算法
BP神经网络算法具有大规模地进行并行处理、分布式的信息存储方式、良好的自组织学习能力等优良性能[4],理论上可以逼近任意一个函数,有非常强的非线性映射的能力,并且网络中的中间的层数、各层的处理单元数、网络的学习系数等各项参数都可以根据实际情况来进行设定,灵活性非常大。
一般为两层BP网络结构,学习阶段有两个:(1)把学习样本输入,通过网络结构和上一次迭代的权值和阈值,从网络的第一层开始向后把各神经元的输出计算出来;(2)修改权值和阈值,从最后一层开始,向前计算各权值、阈值对总误差的影响,然后进行修改。两个阶段交替反复,直至达到条件收敛。
2.3 遗传神经网络算法建模
图1 BP神经网络算法流程图
BP神经网络算法能够解决大规模复杂非线性问题,但是其有局部寻优的特性,易陷入局部最优,引起震荡、收敛速度慢等。遗传算法是一种全局优化算法,通过其选择交叉变异操作,能够有效的摆脱陷入局部最优的困境,获得全局最优解。因此,可以采用遗传算法来优化BP神经网络的权值、阈值[5],并赋给神经网络作为初始权值与阈值,即可解决其局部最优的困境。
3 遗传神经网络算法实现
根据合肥区域圈物流货运量的影响因素,选取合肥,马鞍山,芜湖,淮南,六安,滁州六个城市的2013-2018年第一产业增加值、第二产业增加值、第三产业增加值、区域社会消费品零售总额、区域进出口贸易总额、年末常住人口总量六项指标作为城市区域圈物流货运量预测的输入变量。由于上述各个指标的数量级不一样、单位不一样,比如亿元和万元单位之间在量级上差别很大。该类数据直接输入,会使得神经网络发生震荡,难以收敛,同时也会使得遗传网络收敛速度降低,因此需要对原始数据进行归一处理,公式为:
其中,X(t)为数据归一化处理后的结果,min(d(t))为原始数据中的最小值,max(d(t))为原始数据中的最大值。归一化处理后保证后续数据处理的准确性,实验显示,归一后的数据在(0,1)之间。
使用 MATLAB 7.0软件环境进行遗传神经网络模型的训练与测试,用合肥城市区域圈2013-2018年相关物流影响因子数据作为输入,2019年城市圈物流货运量作为输出。主要部分为利用遗传算法对BP神经网络的权重以及初值进行优化。
(1)确定遗传算法个体编码的长度。设置全局变量,把输入所需的权值和阈值合并成一个个体,神经网络的权重包括两部分,输入层与隐含层之间的权值以及隐含层与输出层的权值。阈值包括中间隐含层的各神经元的阈值和输出层神经元的阈值,由此确定编码长度。
(2)根据解编码函数,将每一个个体拆分,分别赋权值,并通过传输函数,计算输出,并计算网络输出与实际值的误差平方和。
(3)计算各个体的适应值,用适应度函数确定,并返回给遗传算法主函数。
(4)遗传算法主函数中通过选择、交叉、变异,直至误差滿足设定的值。
(5)BP神经网络的训练和测试。是个不断迭代选择最佳参数的过程,不断训练计算各个神经元的权重,从而使输出误差结果能越来越小。
(6)结果输出。
4 结论
根据实验结果采用反归一法得到2019年合肥城市区域圈的物流货物量的预测值。可在本年末与真实数据进行对比,验证该算法的有效性。本文中的遗传神经网络算法是用遗传算法优化BP神经网络的初始权值和阈值,算法运行在收敛时间及解的质量精度上都比原始神经算法要有所改进,具有一定的可行性。城市区域圈物流量以及其他相似数据可以借助遗传神经算法进行预测,提供了一种客观,科学、有效的决策方法,为城市区域圈的经济发展及规划制定提供帮助。
参考文献
[1]王颖林,赖笈宇,郭丰敏.建设需求量预测分析中的人工神经网络和多元回归方法[J].武汉工程大学学报,2013:77-80,86.
[2]程学珍,林晓晓,朱春华,等.基于时序信息的模糊Petri 网电网故障诊断方法[J].电工技术学报,2017,32(14):229-237.
[3]王小平,曹立明.遗传算法:理论、应用及软件实现[M].西安:西安交通大学出版社,2002.
[4]侯媛彬,杜京义,汪梅.神经网络[M].西安:西安电子科技大学出版社,2007:8.
[5]马银军.基于BP 神经网络的物流量预测方法研究[J].物流科技,2010(05):81-83.