APP下载

基于模糊算法的多小脑神经网络在混凝投药系统中的应用

2016-11-08徐少川刘东昆刘宝伟

计算机应用与软件 2016年10期
关键词:感知器投药原水

徐少川 刘东昆 刘宝伟

1(东北大学信息科学与工程学院 辽宁 沈阳 110819)2(辽宁科技大学电子与信息工程学院 辽宁 鞍山 114051)



基于模糊算法的多小脑神经网络在混凝投药系统中的应用

徐少川1,2刘东昆2刘宝伟2

1(东北大学信息科学与工程学院辽宁 沈阳 110819)2(辽宁科技大学电子与信息工程学院辽宁 鞍山 114051)

净水工艺中的混凝投药是一个受多变量影响的非线性系统,无法建立准确的数学模型,且滞后时间较长。为了将混凝投药后的出水浊度控制在设定的范围内,并且有效地减少投药量,通过对混凝投药过程的分析,设计一种基于模糊算法的多小脑神经网络(CMAC神经网络)前馈控制器,并设计控制器离线建模和在线学习的方法。最后使用MATLAB进行仿真验证,结果表明,该前馈控制器能够在原水浊度和原水温度变化的情况下,有效地将浊度控制在设定的范围内,并且能够实现投药量的优化。

混凝投药多小脑神经网络前馈控制器

0 引 言

目前,我国的十大水系和62个主要湖泊中,将近40%的淡水达不到饮用水的要求,原水必须经过净水厂处理后才能供人们使用。而混凝投药作为净水工艺中的重要环节,受到了人们的高度关注。如何将出水浊度控制在人们可以使用的范围内,并且有效地减少投药量,是混凝投药过程中最关键的问题。针对该问题,文献[1]通过BP神经网络对含砷的原水进行建模,用以计算不同水质下的投药量,并将该模型应用于自动投药控制系统。文献[2]设计了短程反馈的控制模型,对不同季节的原水进行了控制。文献[3]将预测算法与PID控制器相结合,设计了预测函数PID控制器,对混凝投药过程进行了控制。预测算法在使用时需要依据精确的数学模型,而实际工程中由于参数多变,精确的数学模型往往很难建立,故该方法具有一定的局限性。另外,文献[4,5]通过净水工艺的改造实现了对出水浊度的有效控制。

CMAC神经网络是Albus根据小脑模型提出的一种神经网络,由于其结构简单且易于软件编程实现,所以目前CMAC神经网络被广泛应用于工业控制中的多个领域[6-8]。并且相对传统的BP神经网络、专家系统控制等智能控制算法,CMAC神经网络算法在复杂函数逼近、收敛速度、泛化能力方面均表现出独特的优势。文献[9]综合分析了网络结构参数、学习方法等因素对CMAC神经网络泛化性能的影响。同时,文献[10,11]通过将模糊算法与CMAC网络相结合,对常规CMAC神经网络的结构做出了改进,进一步提高了CMAC神经网络的泛化能力和学习精度,取得了较好的效果。

基于以上文献对混凝投药控制及CMAC神经网络的研究现状,为了将出水浊度有效地控制在设定范围内,并实现投药量的在线优化,本文在分析混凝投药过程的控制特性及原水浊度、原水温度及原水PH值对净水混凝效果的影响的基础上,设计了一种基于模糊算法的多CMAC神经网络前馈控制器,并使用取自现场的实际生产数据对控制器进行离线建模。为了不断提高控制器的准确性,适应环境的变化,实现投药量的在线优化,设计了控制器在线学习的方法。最后使用MATLAB对该控制器的实际应用效果进行了仿真和验证。

1 CMAC神经网络原理及特性分析

CMAC神经网络结构简单,不需要选择网络的层数及神经元个数,且相对传统神经网络来说,不需要大量数据进行离线建模,只需在每个量化等级内取一组数据进行训练即可。另外,CMAC神经网络在映射过程中只有一定的单元被激活,相近的输入所激活的单元有所重叠,故相近输入可获得相近输出。因此CMAC神经网络具有一定的泛化能力,学习精度高且学习速度较快。CMAC神经网络本质上是一种查表的方法,易于软件上的编程实现,非常适合工业中的应用,所以选择CMAC神经网络来构建混凝投药系统的控制器。

CAMC神经网络从输入量x到输出量y的运算过程可看作是由以下三个非线性映射顺序组成的:

x→S

(1)

S→A

(2)

A→yCMAC

(3)

其中,x为CMAC神经网络的输入量,S为量化等级存储空间,A为感知器存储空间,yCMAC为神经网络的输出量。CMAC神经网络的结构如图1所示。

图1 CMAC神经网络的结构

1)x→S映射:根据量化等级的精度N,将输入量x映射到量化等级存储空间S(S由N个量化等级顺序排列组成,即S1~SN)。映射过程计算公式如下:

(4)

(5)

2)S→A映射:将量化等级Si按照指针的方式顺序激活感知器存储空间A(A由N+C-1个感知器组成,即a1~aN+C-1)中C个感知器ai~ai+C-1,其中C为CMAC神经网络的泛化常数;

3)A→y映射:感知器存储空间A中各感知器都对应一个权值,将S→A映射过程中所激活的感知器对应的权值相加得到CAMC神经网络的输出yCMAC。

用向量的方式表示上述过程,计算公式如下:

yCMAC=aTw

(6)

a=[a1,a2,…,aN+C-1]T

(7)

w=[w1,w2,…,wN+C-1]T

(8)

向量a中各元素表示各感知器的被激活情况。若在S→A映射过程中某感知器被激活,则向量a中相应元素置“1”,其余未被激活的感知器其相应的元素置“0”。

由S→A映射可以看出,相邻的量化等级在该过程所激活的感知器有一定的重叠。距离越相近,重叠的感知器的数量越多,CMAC神经网络的输出也越相近;反之,距离较远的量化等级之间,重叠的感知器数量较少或没有重叠的感知器。因此CMAC神经网络具有一定的泛化能力,即相近输入能获得相近输出,不相近的输入所获得的输出则存在一定的差异。另外在S→A映射过程中,只有部分感知器被激活,所以CMAC神经网络较其他神经网络学习速度较快。

2 混凝投药前馈控制器的设计

2.1混凝投药过程的特性分析

混凝投药的工艺流程如图2所示。一定浊度的原水进入混合器后进行投药(混凝剂)处理,原水在混凝剂的作用下,通过一系列的物理化学反应后,失去稳定性,再经絮凝池和沉淀池作用后形成浊度较低的出水,进入下一阶段进行其他处理。在原水进入混合器前会对原水浊度等变量进行检测,在处理后的出水进入下一阶段前会对出水浊度进行检测。

图2 混凝投药工艺流程图

混凝投药的控制过程是以批量处理的方式进行的,即一定流量体积的原水进入混合器内进行净水处理,该批原水处理完进入下一阶段之后,再继续处理下一批原水。由于在原水混合器中的反应时间较长,通常需要40分钟,无法通过原水浊度的检测值实时调节投药量,所以对于一批原水只进行一次投药。

混凝投药过程出水的浊度主要受原水浊度、原水温度及原水PH值的影响。其中原水浊度是影响出水浊度的最主要因素,对于一定流量体积的原水,在投药量相等的情况下,出水浊度与原水浊度呈非线性的正比关系。当原水浊度值较大时,若想将出水浊度控制在设定的范围内,则需要投加较多的混凝剂。

原水温度与原水PH值对混凝投药过程的影响相似。当原水温度高于常温时,即T>17℃时,混凝剂的净水效果较好。当原水温度T<17℃时,混凝剂的净水效果随原水温度的降低逐渐变差。同样,当原水的酸碱性呈中性或碱性时,即PH>6.5时,混凝剂的效果最佳;当原水呈酸性时,混凝剂的净水效果则较差。若想将出水浊度控制在设定的范围内,则需要投加较多的混凝剂。

2.2前馈控制器的设计

根据2.1节中对混凝投药过程的分析,由于一批原水的反应周期较长,无法通过浊度检测值调节投药量,所以PID控制器无法实现对混凝投药过程的控制。同时,由于混凝投药过程受多个变量的影响,根据人工经验进行操作,可能出现投药量过多,即造成混凝剂的浪费的情况。所以需要采用具有自学习功能的前馈控制器对混凝投药过程进行控制。

根据2.1节中对原水浊度、原水温度及原水PH值的分析,由于原水PH值受地域的影响较大,固定地域内原水PH值基本稳定或以微小的趋势进行变化。而原水PH值这种微小的变化对前馈控制器精度造成的影响,可以通过控制器的在线学习加以消除,所以选择原水浊度和原水温度作为前馈控制器的输入。设计了基于模糊算法的多CMAC神经网络前馈控制器,其结构如图3所示。

图3 混凝投药前馈控制结构

在原水浊度和原水温度两个变量中,由于原水温度受季节影响,在固定季节内变化不大,在全年时间内变化缓慢,结合2.1节中原水温度对混凝投药的影响的分析,为了降低CMAC神经网络的维度,避免CMAC神经网络出现“维数灾”对存储空间造成过大负担,所以对原水温度进行模糊化处理。建立不同的模糊子集,在不同的模糊子集下分别建立一维的CMAC神经网络,根据原水温度属于不同模糊子集的隶属度值对各CMAC神经网络的输出进行去模糊化运算得到前馈控制器的输出。其中一维CMAC神经网络的输入为原水浊度,输出为投药量。

基于模糊算法的多CMAC神经网络前馈控制器的算法具体描述如下:

Step1 原水温度的论域为[0,30]。根据工程实际情况,选择5个模糊子集{低,较低,中,较高,高},在原水温度论域内建立各模糊子集的隶属度函数,如图4所示。

图4 原水温度的隶属度函数曲线

根据图4计算原水温度属于各模糊子集的隶属度值,即v1、v2、v3、v4和v5。

Step2 根据第2节中的描述计算各模糊子集下各CMAC神经网络的输出,即yCMAC1、yCMAC2、yCMAC3、yCMAC4和yCMAC5;

Step3 根据模糊规则对各CMAC神经网络的输出进行去模糊化运算,模糊规则如下:

IFT=低,THENy=yCMAC1

(9)

IFT=较低,THENy=yCMAC2

(10)

IFT=中,THENy=yCMAC3

(11)

IFT=较高,THENy=yCMAC4

(12)

IFT=高,THENy=yCMAC5

(13)

式中,T表示原水温度。各CMAC神经网络的输出进行去模糊化的计算公式如下:

(14)

3 前馈控制器的离线建模及在线学习

3.1CMAC神经网络权值修正方法的设计

CMAC神经网络通常采用有导师制进行权值修正[12],修正过程如下:

(15)

(16)

wn=wn-1+Δwn+α(wn-1-wn-2)

(17)

式中,n、n-1、n-2分别表示学习次数,ei表示权值修正的指标,yi表示网络的期望输出值,Δw表示权值修正量,η表示学习率,α表示惯性常数。根据文献[13]的研究,CMAC神经网络收敛的充分条件为η∈[0,2],α∈[0,1]。

为了保证CMAC神经网络在学习过程中同时保证收敛速度与收敛过程的平滑性,即在学习过程中加快收敛速度的同时又不至于产生较大的震荡,本文对式(16)权值的修正量进行了改进,通过权值修正的指标ei动态调整学习率,计算公式如下:

(18)

(19)

式中,β表示平滑因子,本文中β=10。通过式(18)可以看出,当ei较大时,学习率较大,可以使得网络加快收敛速度;随着学习次数的增加使得ei逐渐减小时,学习率也随着ei的减小而逐渐减小,以保证收敛的平滑性,不至于产生较大的震荡。

3.2CMAC神经网络离线建模的方法

本文是以北方某净水厂实际生产数据为例进行的,下文提到的经验数据、过程参数及浊度设定值等也是取自该厂的实际生产数据。

采用增量式的学习方法,对CMAC1~CMAC5分别进行训练,原水浊度的变化范围为6~24NTU,量化等级的精度N取60,泛化常数C取5。按照2.2节中前馈控制器的构建方法以及CMAC神经网络的特性,分别在原水温度各模糊子集范围内,原水浊度的每个量化等级内取一组样本,并将各组样本按照原水浊度的大小顺序排列,构成训练样本集。共5个训练样本集,每个样本集中包含60组样本,以此作为CMAC1~CMAC5的训练样本集。需要注意的是,在样本选取过程中,需要剔除异样的数据,以保证数据的有效性。

增量式学习算法具体描述如下:

Step1 初始化:令w=0,j=1,m=1,其中j用于标记样本集中的样本数,m用于标记训练的总次数;

Step2 将样本集中第j组数据输入CMAC神经网络,并通过第1节中介绍的映射方法,计算输出yCMAC;

Step3 根据Step2中计算得到的yCMAC,通过3.1节中权值修正方法的设计对权值向量w进行修正;

Step4 判断j=60?若等于则进行下一步,若不等于则令j=j+1后返回Step2;

Step5 判断m=100?若等于则该CMAC神经网络离线建模结束,若不等于则令m=m+1、j=1后返回Step2。

在本文中将训练总次数作为结束离线建模的标准。对于CMAC的离线建模也可选择平均误差小于某设定值作为结束离线建模的标准。

3.3前馈控制器在线学习的方法

前馈控制器的在线学习过程将权值修正的指标ei修改为出水浊度值与设定值的偏差,通过修正的指标ei对各CMAC神经网络进行权值的修正,这里设定值指的是出水浊度设定范围的中点值。通常混凝投药出水浊度低于1NTU即可达到人们正常用水的标准,但考虑到混凝剂的成本因素,及原水温度、原水PH值发生波动时对出水浊度造成的影响,故将出水浊度的设定范围定为0.7~0.9NTU。前馈控制器的在线学习的算法具体描述如下:

Step1 计算ei,公式如下:

ei=e(t)=Z1m-Z1(t)

(20)

Step2 判断ei>0.1NTU,若大于则进行下一步,对前馈控制器各CMAC神经网络进行在线学习;

Step3 偏差ei乘以比例因子λ映射至投药量的控制区间,这里λ取0.14;

Step4 将式(19)及式(17)修改为下式,对前馈控制器各CMAC神经网络的权值进行修正:

(21)

(22)

式中,i为CMAC神经网络的标记,i=1,2,…,5。

在线运行过程中,若设定范围大于出水浊度时,说明投药量过多造成出水浊度值较低;若设定范围小于出水浊度时,说明投药量过少造成出水浊度值较高,所以式(22)选择负的权值修正量对权值向量进行反向调整。

4 仿真验证

使用MATLAB进行编程仿真。通过对文献[14]中提出的浊度模型进行参数回归拟合,得到如下模型:

(23)

式中,Z1表示出水浊度,T表示原水温度(单位:℃),m表示投药量,Z0表示原水浊度,以模型近似代替浊度模型进行仿真。

根据原水浊度及原水温度的变化特性设定仿真条件如下:原水浊度按正弦规律变化,原水温度在第1、21、41和61个采样时刻分别给定30、20、10和5 ℃。

在该仿真条件下对该净水厂原有的专家比例控制策略、基于BP神经网络的控制策略及本文设计的基于模糊算法的多CMAC神经网络前馈控制器进行了仿真,仿真结果如图5-图7所示。其中BP神经网络的输入输出与本文设计的控制器相同,隐含层节点数为25,并使用相同的经验数据进行离线建模,训练次数也为100。

图5 原水浊度、温度值波形

图6 出水浊度响应曲线

图7 投药量曲线

如图5和图6所示,当原水浊度较大时,在专家比例控制策略下,虽然出水浊度被控制在1.0NTU以下,但却超出了设定的0.7~0.9NTU的范围;在BP神经网络控制下效果略好,而FuzzyMultipleCMAC前馈控制器则将出水浊度有效地控制在了设定的范围内。通过图7可以看出,当原水浊度较大时,在FuzzyMultipleCMAC前馈控制器控制下投药量较少。由于专家比例控制是通过专家经验对温度进行分档处理,在相同范围内使用相同比例进行投药,故存在一定偏差,而这种情况在第21个采样时刻开始原水温度降低后更加明显。

如图7所示,FuzzyMultipleCMAC前馈控制器控制下使用的投药量都较少。在整个控制周期内,FuzzyMultipleCMAC前馈控制器控制下平均每吨水使用25.7g混凝剂,BP神经网络控制器作用下平均每吨水使用32.1g混凝剂,专家比例控制作用下每吨水使用35.7g混凝剂。该结果表明,FuzzyMultipleCMAC控制策略能够实现投药量优化的目的。

5 结 语

本文通过对混凝投药系统的分析,采用模糊算法与多CMAC神经网络相结合的方法,设计了前馈控制器,并使用采自现场的实际经验数据对该前馈控制器进行离线建模。为了不断提高控制器的精度,设计了控制器在线学习的方法。仿真结果表明:该基于模糊算法的多CMAC神经网络前馈控制器能够在原水浊度和原水温度变化的条件下,有效地将出水浊度控制在设定的范围内,并且能够实现投药量的优化,具有较强的应用推广价值。

[1] 段春毅,赵志领,杨佳露.基于BP神经网络的地下水强化除砷建模研究[J].中国给水排水,2015,31(1):45-48.

[2] 蒋邵阶,仇洪建,段果,等.基于短程反馈BP神经网络的混凝投药控制中试[J].中国给水排水,2013,29(11):26-29.

[3] 龚海涛,何健.基于预测函数PID控制的混凝投药控制系统[J].控制系统,2014(7):48-51,56.

[4] 宋武昌,陈家全,石容千,等.常规工艺水厂低温浊度期的强化混凝生产性实验研究[J].水处理技术,2015,41(6):71-74.

[5] 张禾,薛罡,刘振鸿,等.大型工业园污水处理厂深度处理中试研究[J].中国给水排水,2015,31(5):76-78.

[6] 石勇,齐自达,张连瑜,等.基于CMAC神经网络前馈控制的柴油机发电机组转速控制研究[J].内燃机工程,2014,35(2):98-101,106.

[7] 姜静,崔涛,张超.基于CMAC神经网络的PID控制算法在温度控制中的仿真研究[J].仪表技术,2013(6):34-36.

[8]SabourinC,YuWW,MadaniK.GaitPatternBasedonCMACNeuralNetworkforRoboticApplications[J].NeuralProcessingLetters,2013,38(2):261-279.

[9] 周姝春.CMAC学习性能及泛化性能研究综述[J].计算机仿真,2005,22(6):5-7,31.

[10] 邓志东,孙增圻,张再兴.一种模糊CMAC神经网络[J].自动化学报,1995,21(3):288-294.

[11] 孙炜,王耀南.模糊CMAC及其在机器人轨迹跟踪控制中的应用[J].控制理论与应用,2006,23(1):38-42.

[12] 刘金琨.先进PID控制MATLAB仿真[M].北京:电子工业出版社,2004.

[13] 何超,徐立新,张宇河.CMAC算法收敛性分析及泛化能力研究[J].控制与决策,2001,16(5):523-529,534.

[14] 唐德翠,朱学峰,邹振裕.城市供水过程最优待滤水浊度数学模型研究[J].水处理技术,2011,37(12):24-27.

APPLICATIONOFFUZZYALGORITHM-BASEDMULTIPLECMACNEURALNETWORKSINCOAGULANTDOSINGSYSTEM

XuShaochuan1,2LiuDongkun2LiuBaowei2

1(CollegeofInformationScienceandEngineering,NortheasternUniversity,Shenyang110819,Liaoning,China)2(SchoolofElectronicandInformationEngineering,UniversityofScienceandTechnologyLiaoNing,Anshan114051,Liaoning,China)

Coagulantdosingofwaterpurificationprocessisanonlinearsystemaffectedbymultiplevariables,itisdifficulttobuildaccuratemathematicalmodel,andhasquitelongtimedelay.Inordertocontrolthecoagulantdosedeffluentwaterturbiditywithinthesetrangeandeffectivelyreducedosage,wedesignedafuzzyalgorithm-basedmultipleCMACneuralnetworksfeed-forwardcontroller,whichisbasedontheanalysisoftheprocessofcoagulantdosingprocess.Moreover,wealsodesignedthemethodsofoff-linemodellingandonlinelearning.Finally,weusedMATLABforsimulationverification,resultshowedthatthefeed-forwardcontrollercouldeffectivelycontroltheturbiditywithinthesetrangeundertheconditionofrawwater’sturbidityandtemperatureallchanging,andthedosagecouldbeoptimisedaswell.

CoagulantdosingMultiplecerebellarmodelarithmeticcomputerneuralnetworksFeed-forwardcontroller

2015-08-09。国家自然科学基金项目(61273011)。徐少川,副教授,主研领域:复杂工业系统智能建模方法。刘东昆,硕士生。刘宝伟,硕士生。

TP

BDOI:10.3969/j.issn.1000-386x.2016.10.012

猜你喜欢

感知器投药原水
丙烯酰胺强化混凝去除黑河原水浊度的研究
滨海新区水厂引滦原水问题分析与措施研究
原水大阵
感知器在矿井突水水源识别中的应用
AI超市
尿湿感知器
原水臭氧氧化生成溴酸盐的影响因素研究进展
畜禽投药的技术方法
家禽饮水投药应讲究科学
舌下含服粉尘螨滴剂治疗不同年龄组变应性鼻炎的疗效评估