一种中药饮片中药材自动清洗过程水浊度神经网络预测控制方法与流程

文档序号:17302407发布日期:2019-04-03 05:12阅读:275来源:国知局
一种中药饮片中药材自动清洗过程水浊度神经网络预测控制方法与流程

本发明属于中药饮片生产过程自动控制领域,涉及一种中药饮片中药材自动清洗过程水浊度神经网络预测控制方法。



背景技术:

中药饮片是中药材经过按中医药理论、中药炮制方法,经过加工炮制后可直接用于中医临床的中药,比服用西药在人体内产生的副作用更小,中药饮片在治疗慢性病、免疫性疾病以及养生保健、延年益寿等方面具有独特的疗效。由于不同品种和产地的中药,其形状、表面特性不同,采收时携带的沙土含量不同,加上采收时间、采收方法以及预处理手段的不同,造成了中药原材料的沙土含量差异很大,在中药饮片制作过程中原材料的卫生指数是影响中药饮片质量的一个重要因素。在中药饮片药材清洗过程中,自动清洗池溢出水的浊度的变化表示清洗池中药材表面剩余沙土的质量变化,调节清洗池水泵喷出水的压力大小,可以改变中药材表面沙土脱落的速度和清洗池溢出水的量,进而改变水的浊度。通过对现有中药饮片中药材自动清洗过程水浊度控制方法的文献的检索发现,目前中药饮片中药材自动清洗水压大多是固定不可调的,现有的各种清洗设备设计更多的注重设备结构设计,少量的自动控制设备是采用了通过检测清洗池药材密度大小控制药材流量的方法,以及通过控制部分清洗设备特有的清洗刷转速的开环控制方法等,但是现有的各种自动清洗设备结构复杂多样,维修维护成本高,且不能随着药材流量的变化及药材携带泥土量的变化自动调节水泵水压,造成能源的浪费和水资源的浪费甚至清洗效果不佳;而通过检测清洗池药材密度大小控制药材流量的方法虽然能够在一定程度上提高药材的清洗效果,但是会降低药材清洗效率,增加清洗时间;提高清洗刷转速的方法很有可能会破坏药材表皮,造成药材的污染以及药效的流失。在中药饮片中药材清洗过程中,药材流量以及药材所携带的沙土量并不是一成不变的,因此,中药饮片中药材自动清洗过程水浊度神经网络预测控制方法是针对中药清洗过程提出的一种新的控制方法,可以满足在保证清洗质量的前提下实现低耗、节水的需要。



技术实现要素:

为了克服现有中药饮片中药材清洗设备不能自动根据实际情况优化水压、资源浪费和清洗质量不可控的不足,本发明提供一种理解直观、设计简单、易于实现的中药饮片中药材自动清洗过程水浊度神经网络预测控制方法。

本发明解决其技术问题所采用的技术方案是:

一种中药饮片中药材自动清洗过程水浊度神经网络预测控制方法,所述方法包括如下步骤:

1)、记录当前中药饮片中药材自动清洗过程清洗池溢出水浊度与清洗水泵水压的值;

2)、建立神经网络预测模型,采用两层的列文伯格-马夸特(levenberg–marquardt)神经网络模型,参见式(1):

其中,时间变量k表示当前时刻,x(k)、x(k+1)、…、x(k+p)分别为第k、k+1、…、k+p时刻神经网络预测模型的输入矢量,控制量u(k-1)、u(k-2)、…、u(k-m)分别为第k-1、k-2、…、k-m时刻记录的实际清洗水泵水压,y(k-1)、y(k-2)、…、y(k-n)分别为第k-1、k-2、…、k-n时刻记录的实际清洗池水浊度,输出量ym(k)、ym(k+1)、…、ym(k+p)分别为神经网络预测模型预测在第k、k+1、…、k+p时刻的水浊度输出量,m和n分别为神经网络预测模型输入矢量中控制量和输出量的长度,p为预测步长;

3)、设在k时刻之后的j个时刻中控制量维持不变,u(k+j)=u(k+j-1)=…=u(k+1)=u(k),x(k+j)=[u(k),…,u(k),u(k-1),…,u(k+j-m),ym(k+j-1),…,ym(k),y(k-1),…,y(k+j-n)];

设神经网络连接权参数矢量w=[w1,w2,…,wm+n]t,则第k+j时刻模型预测输出参见式(2):

ym(k+j)=g[x(k+j)·w],j=1,2,…,p(2)

其中,符号“t”表示向量的转置,x(k+j)为第k+j时刻模型的输入矢量,g(x)为激活函数,取单极性sigmoid函数,

4)、训练神经网络预测模型,首先,给定输入量u(k),采集控制对象的阶跃响应yr(i),i=1,2,…,p;然后根据预测模型输出计算式(2)计算输出ym(k+i),i=0,1,…,p;采用levenberg–marquardt算法来修正连接权参数矢量w,设误差指标函数,参见式(3):

其中,第i个训练误差ei=ym(k+i)-yr(i),若e(w)<ε,则连接权参数矢量w可用,训练结束,其中ε为训练误差允许值;否则,连接权参数矢量进行迭代修正,迭代公式参见式(4):

wl+1=wl+δwl,l=1,2,…,l(4)

其中,l为当前迭代次数,l为迭代次数上限,δwl为修正增量,参见式(5):

δwl=[jt(wl)j(wl)+μi]-1jt(wl)e(wl)(5)

其中,i为m+n维度单位矩阵,μ为学习率常数,j(wl)为雅可比矩阵

连接权参数矢量w迭代规则:将计算式(5)得到的δwl代入式(4)得到wl+1,将得到的wl+1代入式(2),再用式(3)计算e(wl+1),若e(wl+1)<e(wl),则令μ=μ·β,l=l+1,完成该次迭代;若e(wl+1)>e(wl),则令μ=μ÷β,重新用式(5)计算δwl,计算式(4)、(2)、(3)得到e(wl+1)并与e(wl)比较,重复此计算,直至e(wl+1)<e(wl),令l=l+1,完成该次迭代;当e(wl)<ε或迭代次数达到设定上限l时迭代结束,保存当前连接权参数矢量w,得到神经网络预测模型(1),其中,β为自适应因子常数;

5)、反馈校正:设预测模型输出与实际输出之间校正误差为d(k)=y(k)-ym(k),修正后的输出参见式(6):

yc(k+j)=ym(k+j)+h·d(k),j=1,2,…,p,(6)

其中,h为修正因子;

6)、滚动优化:设定水浊度的目标值ys,设性能指标函数

其中,qj为误差加权系数,ri为控制增量加权系数,m为控制时域,p为预测时域,将性能指标函数写成矢量形式,参见式(7):

c(k)=[yc(k)-ys]tq[yc(k)-ys]+δut(k)rδu(k)(7)

其中,yc(k)=[yc(k+1),yc(k+2),…,yc(k+p)]t,q和r分别称为误差加权矩阵和控制增量加权矩阵

采用差分进化算法对性能指标(7)进行优化计算,将性能指标函数(7)作为适应度函数,控制增量作为个体;

差分进化算法由初始化种群、变异、交叉和选择组成;

初始化过程:随机均匀产生n个个体,构成种群,个体

δua(0)=[δua,1(0),δua,2(0),…,δua,m(0)],a=1,2,…,n,第a个个体中的第b维取值参见式(8):

δua,b(0)=δumin+rand(0,1)·(δumax-δumin)(8)

其中,序号b=1,2,…,m,rand(0,1)为0~1之间的随机数,δumin为水压控制增量变化的最小幅值,δumax水压控制增量变化的最大幅值,m为控制时域;

变异过程:从种群中随机选择3个个体δup1(g),δup2(g),δup3(g),且p1≠p2≠p3≠a,生成的变异向量参见式(9):

其中,称为子代实验个体,f为缩放因子;

交叉过程:子代个体δua(g+1)通过子代实验个体与其父代个体δua(g)进行交叉操作得到,参见式(10):

其中,cr为交叉因子,取值范围为0~1;

选择过程:子代与父代竞争,优者替代劣者,参见式(11):

当进化代数达到最大进化代数g或当前代中的最优个体与最差个体的适应度之差小于设定最小差值eps时差分进化算法终止,最优个体作为最优控制增量序列,将最优控制增量序列的第1个元素作用于下一时刻,下一时刻控制输入参见式(12):

u(k+1)=u(k)+δu(k)(12)

通过在下一时刻进行新一次的预测、输出采样、反馈校正和优化计算,即得到下下一时刻的控制输入,周而复始,实现中药饮片中药材自动清洗过程水浊度神经网络预测控制。

本发明的技术构思为:针对中药饮片中药材自动清洗过程水压不能根据实际的清洗药量和沙土量调节喷水量的问题,提出一种中药饮片中药材自动清洗过程水浊度神经网络预测控制方法,采用levenberg–marquardt算法训练中药饮片中药材自动清洗过程溢出水浊度与清洗水泵水压神经网络预测模型,通过差分进化算法极小化未来一段时间内的水浊度跟踪偏差与水泵水压变化量的一个累积函数,实时计算中药饮片中药材自动清洗过程清洗泵水压的大小,实现中药饮片中药材自动清洗过程水浑浊度跟踪设定值的优化自动控制。

本发明的有益效果主要表现在:1、中药饮片中药材自动清洗过程水浊度神经网络预测控制方法设计简单、容易理解、在线实施简便、实用性强;2、中药饮片中药材清洗过程清洗池溢出水浊度在偏离目标值时能实现水压的自动调节,从而可以适用更复杂多样的中药材情况,满足中药饮片中药材清洗过程节约能源与水资源的需要,提高中药饮片中药材自动清洗过程清洗系统的控制水平。

附图说明

图1为中药饮片中药材自动清洗过程清洗设备的组成原理结构图;

图2为中药饮片中药材自动清洗过程清洗池水浊度控制结构图,其中虚线表示电信号的传输,实线表示水的流动传输;

图3为中药饮片中药材自动清洗过程清洗池溢出水浊度神经网络预测控制结构图;

图4为中药饮片中药材自动清洗过程清洗池溢出水浊度神经网络预测控制算法流程图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1~图4,一种中药饮片中药材自动清洗过程水浊度神经网络预测控制方法,所述方法包括如下步骤:

1)、记录当前中药饮片中药材自动清洗过程清洗池溢出水浊度与清洗水泵水压的值;

2)、建立神经网络预测模型,采用两层的列文伯格-马夸特(levenberg–marquardt)神经网络模型,参见式(1):

其中,时间变量k表示当前时刻,x(k)、x(k+1)、…、x(k+p)分别为第k、k+1、…、k+p时刻神经网络预测模型的输入矢量,控制量u(k-1)、u(k-2)、…、u(k-m)分别为第k-1、k-2、…、k-m时刻记录的实际清洗水泵水压,y(k-1)、y(k-2)、…、y(k-n)分别为第k-1、k-2、…、k-n时刻记录的实际清洗池水浊度,输出量ym(k)、ym(k+1)、…、ym(k+p)分别为神经网络预测模型预测在第k、k+1、…、k+p时刻的水浊度输出量,m和n分别为神经网络预测模型输入矢量中控制量和输出量的长度,p为预测步长;

3)、设在k时刻之后的j个时刻中控制量维持不变,u(k+j)=u(k+j-1)=…=u(k+1)=u(k),x(k+j)=[u(k),…,u(k),u(k-1),…,u(k+j-m),ym(k+j-1),…,ym(k),y(k-1),…,y(k+j-n)];

设神经网络连接权参数矢量w=[w1,w2,…,wm+n]t,则第k+j时刻模型预测输出参见式(2):

ym(k+j)=g[x(k+j)·w],j=1,2,…,p(2)

其中,符号“t”表示向量的转置,x(k+j)为第k+j时刻模型的输入矢量,g(x)为激活函数,取单极性sigmoid函数,

4)、训练神经网络预测模型,首先,给定输入量u(k),采集控制对象的阶跃响应yr(i),i=1,2,…,p;然后根据预测模型输出计算式(2)计算输出ym(k+i),i=0,1,…,p;采用levenberg–marquardt算法来修正连接权参数矢量w,设误差指标函数,参见式(3):

其中,第i个训练误差ei=ym(k+i)-yr(i),若e(w)<ε,则连接权参数矢量w可用,训练结束,其中ε为训练误差允许值;否则,连接权参数矢量进行迭代修正,迭代公式参见式(4):

wl+1=wl+δwl,l=1,2,…,l(4)

其中,l为当前迭代次数,l为迭代次数上限,δwl为修正增量,参见式(5):

δwl=[jt(wl)j(wl)+μi]-1jt(wl)e(wl)(5)

其中,i为m+n维度单位矩阵,μ为学习率常数,j(wl)为雅可比矩阵

连接权参数矢量w迭代规则:将计算式(5)得到的δwl代入式(4)得到wl+1,将得到的wl+1代入式(2),再用式(3)计算e(wl+1),若e(wl+1)<e(wl),则令μ=μ·β,l=l+1,完成该次迭代;若e(wl+1)>e(wl),则令μ=μ÷β,重新用式(5)计算δwl,计算式(4)、(2)、(3)得到e(wl+1)并与e(wl)比较,重复此计算,直至e(wl+1)<e(wl),令l=l+1,完成该次迭代;当e(wl)<ε或迭代次数达到设定上限l时迭代结束,保存当前连接权参数矢量w,得到神经网络预测模型(1),其中,β为自适应因子常数;

5)、反馈校正:设预测模型输出与实际输出之间校正误差为d(k)=y(k)-ym(k),修正后的输出参见式(6):

yc(k+j)=ym(k+j)+h·d(k),j=1,2,…,p,(6)

其中,h为修正因子;

6)、滚动优化:设定水浊度的目标值ys,设性能指标函数

其中,qj为误差加权系数,ri为控制增量加权系数,m为控制时域,p为预测时域,将性能指标函数写成矢量形式,参见式(7):

c(k)=[yc(k)-ys]tq[yc(k)-ys]+δut(k)rδu(k)(7)

其中,yc(k)=[yc(k+1),yc(k+2),…,yc(k+p)]t,q和r分别称为误差加权矩阵和控制增量加权矩阵

采用差分进化算法对性能指标(7)进行优化计算,将性能指标函数(7)作为适应度函数,控制增量作为个体;

差分进化算法由初始化种群、变异、交叉和选择组成;

初始化过程:随机均匀产生n个个体构成种群,个体

δua(0)=[δua,1(0),δua,2(0),…,δua,m(0)],a=1,2,…,n,第a个个体中的第b维取值参见式(8):

δua,b(0)=δumin+rand(0,1)·(δumax-δumin)(8)

其中,序号b=1,2,…,m,rand(0,1)为0~1之间的随机数,δumin为水压控制增量变化的最小幅值,δumax水压控制增量变化的最大幅值,m为控制时域;

变异过程:从种群中随机选择3个个体δup1(g),δup2(g),δup3(g),且p1≠p2≠p3≠a,生成的变异向量参见式(9):

其中,称为子代实验个体,f为缩放因子;

交叉过程:子代个体δua(g+1)通过子代实验个体与其父代个体δua(g)进行交叉操作得到,参见式(10):

其中,cr为交叉因子,取值范围为0~1;

选择过程:子代与父代竞争,优者替代劣者,参见式(11):

当进化代数达到最大进化代数g或当前代中的最优个体与最差个体的适应度之差小于设定最小差值eps时差分进化算法终止,最优个体作为最优控制增量序列,将最优控制增量序列的第1个元素作用于下一时刻,下一时刻控制输入参见式(12):

u(k+1)=u(k)+δu(k)(12)

通过在下一时刻进行新一次的预测、输出采样、反馈校正和优化计算,即得到下下一时刻的控制输入,周而复始,实现中药饮片中药材自动清洗过程水浊度神经网络预测控制。

如图1所示,中药饮片中药材自动清洗机由虚线框中的清洗机控制器、喂料电机、送料网带、清洗水泵、喷淋器和清洗池构成,净水池、输水泵和储水池是清洗机外接的污水收集处理和净水储存设备,当启动药材自动清洗机时,药材自动清洗机控制器控制喂料电机运转带动送料网带,将需要清洗的药材送入清洗池,同时,药材自动清洗机控制器控制清洗水泵运转,清洗水泵从储水池中抽水送往喷淋器,从喷淋器中喷出的水对清洗池中送料网带上的药材进行冲洗,当清洗池中的水位达到溢出口位置,水从溢出口溢出流入净水池中,经净化后的水将通过输水泵输送到储水池中以供清洗水泵抽取。

如图2所示,中药饮片中药材自动清洗机控制器发送控制信号给清洗水泵,清洗水泵从储水池抽水输送到喷淋器,在清洗水泵和喷淋器之间的压力传感器,将实时监测到的清洗水压信号传递给清洗机控制器,喷淋器喷出的水在清洗池中清洗药材之后经清洗池溢出口流出,流入净水池,在清洗池溢出口的位置装有浊度传感器对溢出的水进行浊度检测,并将溢出水浊度信号传递给清洗机控制器,清洗机控制器根据收到的清洗水压信号和溢出水浊度信号,使用神经网络预测模型对未来预测时域的水浊度输出进行预测并加以校正,再使用差分进化算法对未来控制时域的清洗水泵控制信号进行优化计算,得到下一时刻的清洗水泵控制信号,并作用于系统。

如图3所示,中药饮片中药材自动清洗过程水浊度神经网络预测模型使用当前控制对象的控制输入u(k)和输出y(k)进行预测得预测输出ym(k+j),j=1,2,…,p,使用当前时刻实际输出y(k)跟上一时刻预测输出ym(k)之间的差值对当前预测输出ym(k+j)进行反馈校正,将校正后的预测输出yc(k+j)与水浊度目标值ys比较,使用差分进化算法对性能指标函数进行优化求解,得到新的控制输入u(k+1),作用于清洗水泵,实现中药饮片中药材自动清洗过程水浊度神经网络预测控制。

如图4所示,本实施例的中药饮片中药材自动清洗过程水浊度神经网络预测控制方法,首先是使用记录的历史数据和采样的阶跃响应序列对神经网络预测模型进行离线学习,学习后的神经网络预测模型根据系统当前实际清洗水泵控制输入预测未来p个时刻的水浊度输出,采样系统当前实际溢出水浊度信号对预测水浊度输出进行反馈校正,将校正后的水浊度输出通过差分进化算法优化求解得到控制增量序列,取控制增量序列第一个值计算得到下一时刻的控制输入作用于系统,周而复始循环操作,实现中药饮片中药材自动清洗过程水浊度神经网络预测控制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1