多策略人工蜂群优化的水体溶解氧浓度预测方法与流程

文档序号:11860932阅读:266来源:国知局

本发明涉及水体溶解氧浓度预测领域,尤其是涉及一种多策略人工蜂群优化的水体溶解氧浓度预测方法。



背景技术:

水体溶解氧是养殖水产品赖以生存的必要物质。水体中溶解氧的浓度直接反映了养殖水体的质量。溶解氧浓度的预测有助于促进水产品的健康养殖,提高养殖的生产效率。由此可见,实时动态地把握溶解氧的浓度在水产养殖产业中具有重要的实际意义。然而养殖池中溶解氧的浓度变化是一个非常复杂的物理、化学和生物过程。传统的溶解氧浓度预测方法往往存在着预测精度不高、预测误差较大的问题。

近年来,许多研究人员利用智能计算的方法来预测溶解氧的浓度,并取得了一定的效果。例如,郭连喜等利用模糊神经网络来预测池塘溶解氧的浓度(郭连喜,邓长辉.基于模糊神经网络的池塘溶解氧预测模型[J].水产学报,2006,30(2):225-229.)。缪新颖采用遗传算法来优化设计神经网络,并利用优化设计后的神经网络来预测池塘溶解氧的浓度(缪新颖,葛廷友,高辉,等.基于神经网络和遗传算法的池塘溶解氧预测模型[J].大连海洋大学学报,2011,26(3):264-267.)。李道亮等发明了一种基于最小二乘支持向量机的水产养殖溶解氧浓度在线预测方法(专利号:201110047876.8)。韩红桂等发明了一种基于自组织径向基神经网络的溶解氧模型预测控制方法(专利号:201310000516.1)。

众多的研究成果表明基于智能计算的水体溶解氧浓度预测方法是一项很有潜力的技术。近年来,人工蜂群算法已成为了智能计算中的一个研究热点,它已经应用到了溶解氧的浓度预测中,并取得了一定的预测精度(苏彩红,向娜,林梅金.基于ABC优化算法的神经网络水溶解氧预测[J].计算机仿真,2013,30(11):325-329.)。然而,传统人工蜂群算法在水体溶解氧浓度预测中容易出现收敛速度慢,预测精度不高的缺点。



技术实现要素:

本发明针对传统人工蜂群算法在水体溶解氧浓度预测中容易出现收敛速度慢,预测精度不高的缺点,提出一种多策略人工蜂群优化的水体溶解氧浓度预测方法。本发明能够提高水体溶解氧浓度的预测精度。

本发明的技术方案:一种多策略人工蜂群优化的水体溶解氧浓度预测方法,包括以下步骤:

步骤1,在需要预测区域内连续LD天采集水样,然后检测采集水样的水质指标:温度、亚硝酸盐、氨氮、总氮、硝酸盐、溶解氧,并将采集到的水质指标数据作为样本数据集;然后归一化处理所采集到的水质指标样本数据集,并将前70%设置为支持向量机的训练数据集,后30%设置为测试数据集;

步骤2,用户初始化预测跨度天数ND,种群规模Popsize,个体最大未改善次数Limit,最大评价次数MAX_FEs;

步骤3,当前演化代数t=0,当前评价次数FEs=0,并令支持向量机的优化设计参数个数D=3;

步骤4,随机产生初始种群其中:个体下标i=1,2,...,Popsize,并且表示种群Pt中的第i个个体,其随机产生公式为:

<mrow> <msubsup> <mi>B</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>t</mi> </msubsup> <mo>=</mo> <msub> <mi>LO</mi> <mi>j</mi> </msub> <mo>+</mo> <mi>r</mi> <mi>a</mi> <mi>n</mi> <mi>d</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&times;</mo> <mrow> <mo>(</mo> <msub> <mi>UP</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>LO</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中维数下标j=1,2,3;表示了支持向量机的3个优化设计参数的值,即是支持向量机的惩罚因子C,是支持向量机的径向基核参数g,是支持向量机的不敏感损失函数中参数ε;rand(0,1)是在[0,1]之间产生随机实数的函数,LOj和UPj分别为支持向量机的第j个优化设计参数的搜索区间的下界和上界;

步骤5,计算种群Pt中每个个体的适应值其中个体下标i=1,2,...,Popsize,个体的适应值的计算方法为:利用个体作为支持向量机的训练参数,并用训练数据集训练支持向量机,其中支持向量机的输入变量为归一化的一天的水质指标数据:温度、亚硝酸盐、氨氮、总氮、硝酸盐、溶解氧;支持向量机的输出为归一化的ND天后的水体溶解氧浓度值;然后计算训练好的支持向量机在测试数据集上的均方误差NEi,再令个体的适应值

步骤6,令种群Pt中所有个体的未改善次数其中个体下标i=1,2,...,Popsize,并令当前评价次数FEs=FEs+Popsize;

步骤7,保存种群Pt中的最优个体Bestt

步骤8,令策略因子STU=0.6;

步骤9,雇佣蜂执行其搜索操作;

步骤10,根据种群Pt中个体的适应值计算每个个体的选择概率;

步骤11,观察蜂根据种群Pt中每个个体的选择概率选择出个体执行适应性多策略搜索操作生成新个体,然后执行选择操作并更新个体的未改善次数,具体步骤如下:

步骤11.1,令计数器i=1,令策略因子列表UList为空;

步骤11.2,根据种群Pt中每个个体的选择概率采用轮盘赌策略选择出个体并令新个体

步骤11.3,在[1,D]之间随机产生一个正整数RJ;

步骤11.4,产生一个高斯随机数GU=normrnd(STU,0.2),如果GU的值超出了[0,1]之间的范围,则采用同样的方法重新产生高斯随机实数GU,直到GU的值不超出[0,1]之间的范围,其中normrnd(STU,0.2)表示为以STU为均值,0.2为标准差的高斯随机数产生函数;

步骤11.5,令策略序号STI=floor(GU×3)%3,其中floor为向下取整函数,%为取余运算符号;

步骤11.6,如果STI等于0则转到步骤11.7;否则判断STI是否等于1,如果STI等于1,则转到步骤11.12,否则转到步骤11.15;

步骤11.7,在[1,Popsize]之间随机产生一个整数RI1,并令随机权值RK=rand(0,1);

步骤11.8,令均值

步骤11.9,令标准差

步骤11.10,以MeanU为均值,STDV为标准差产生一个高斯随机实数Val,如果Val的值超出了[LORJ,UPRJ]之间的范围,则采用同样的方法重新产生高斯随机实数Val,直到Val的值不超出[LORJ,UPRJ]之间的范围,然后令

步骤11.11,转到步骤11.16;

步骤11.12,在[1,Popsize]之间随机产生两个不相等的整数RI2和RI3;

步骤11.13,令

步骤11.14,转到步骤11.16;

步骤11.15,令

步骤11.16,计算新个体Ut的适应值Fit(Ut);

步骤11.17,如果新个体Ut比个体更优,则将GU添加到策略因子列表UList中;

步骤11.18,在个体与新个体Ut之间执行选择操作并更新个体的未改善次数

步骤11.19,令计数器i=i+1;

步骤11.20,如果计数器i小于或等于Popsize,则转到步骤11.2,否则转到步骤11.21;

步骤11.21,计算策略因子列表UList中数据的平均值MeanLU;

步骤11.22,令STU=0.9×STU+0.1×MeanLU,然后转到步骤12;

步骤12,令当前评价次数FEs=FEs+Popsize×2;

步骤13,侦察蜂执行其搜索操作;

步骤14,保存种群Pt中的最优个体Bestt

步骤15,当前演化代数t=t+1;

步骤16,重复步骤9至步骤15直至当前评价次数FEs达到MAX_FEs后结束,将执行过程中得到的最优个体Bestt作为支持向量机的训练参数,并用训练数据集来训练支持向量机,然后将归一化的一天的水质指标数据:温度、亚硝酸盐、氨氮、总氮、硝酸盐、溶解氧输入到训练好的支持向量机,计算支持向量机的输出即可预测ND天后的水体溶解氧浓度值。

本发明采用支持向量机作为水体溶解氧浓度的预测模型,利用多策略人工蜂群算法对支持向量机的惩罚因子C、径向基核参数g和不敏感损失函数中参数ε进行优化设计。在多策略人工蜂群算法中,融合了多种搜索策略,并在优化过程中根据当前的演化状态适应性地选择出搜索策略来进行寻优,从而提高算法的优化能力。与同类方法相比,本发明能够提高水体溶解氧浓度的预测精度。

附图说明

图1为本发明的流程图。

具体实施方式

下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。

实施例:

步骤1,确定需要预测水体溶解氧浓度的区域,并连续LD=55天采集所确定区域内的水样,然后检测采集水样的水质指标:温度、亚硝酸盐、氨氮、总氮、硝酸盐、溶解氧,并将采集到的水质指标数据作为样本数据集;然后归一化处理所采集到的水质指标样本数据集,并将前70%设置为支持向量机的训练数据集,后30%设置为测试数据集;

步骤2,用户初始化预测跨度天数ND=2,种群规模Popsize=50,个体最大未改善次数Limit=100,最大评价次数MAX_FEs=300000;

步骤3,当前演化代数t=0,当前评价次数FEs=0,并令支持向量机的优化设计参数个数D=3;

步骤4,随机产生初始种群其中:个体下标i=1,2,...,Popsize,并且表示种群Pt中的第i个个体,其随机产生公式为:

<mrow> <msubsup> <mi>B</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>t</mi> </msubsup> <mo>=</mo> <msub> <mi>LO</mi> <mi>j</mi> </msub> <mo>+</mo> <mi>r</mi> <mi>a</mi> <mi>n</mi> <mi>d</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&times;</mo> <mrow> <mo>(</mo> <msub> <mi>UP</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>LO</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中维数下标j=1,2,3;表示了支持向量机的3个优化设计参数的值,即是支持向量机的惩罚因子C,是支持向量机的径向基核参数g,是支持向量机的不敏感损失函数中参数ε;rand(0,1)是在[0,1]之间产生随机实数的函数,其中LO=[0 0 0],UP=[10000 1 1],LOj和UPj分别为支持向量机的第j个优化设计参数的搜索区间的下界和上界;

步骤5,计算种群Pt中每个个体的适应值其中个体下标i=1,2,...,Popsize,个体的适应值的计算方法为:利用个体作为支持向量机的训练参数,并用训练数据集训练支持向量机,其中支持向量机的输入变量为归一化的一天的水质指标数据:温度、亚硝酸盐、氨氮、总氮、硝酸盐、溶解氧;支持向量机的输出为归一化的2天后的水体溶解氧浓度值;然后计算训练好的支持向量机在测试数据集上的均方误差NEi,再令个体的适应值

步骤6,令种群Pt中所有个体的未改善次数其中个体下标i=1,2,...,Popsize,并令当前评价次数FEs=FEs+Popsize;

步骤7,保存种群Pt中的最优个体Bestt

步骤8,令策略因子STU=0.6;

步骤9,雇佣蜂执行其搜索操作;

步骤10,根据种群Pt中个体的适应值计算每个个体的选择概率;

步骤11,观察蜂根据种群Pt中每个个体的选择概率选择出个体执行适应性多策略搜索操作生成新个体,然后执行选择操作并更新个体的未改善次数,具体步骤如下:

步骤11.1,令计数器i=1,令策略因子列表UList为空;

步骤11.2,根据种群Pt中每个个体的选择概率采用轮盘赌策略选择出个体并令新个体

步骤11.3,在[1,D]之间随机产生一个正整数RJ;

步骤11.4,产生一个高斯随机数GU=normrnd(STU,0.2),如果GU的值超出了[0,1]之间的范围,则采用同样的方法重新产生高斯随机实数GU,直到GU的值不超出[0,1]之间的范围,其中normrnd(STU,0.2)表示为以STU为均值,0.2为标准差的高斯随机数产生函数;

步骤11.5,令策略序号STI=floor(GU×3)%3,其中floor为向下取整函数,%为取余运算符号;

步骤11.6,如果STI等于0则转到步骤11.7;否则判断STI是否等于1,如果STI等于1,则转到步骤11.12,否则转到步骤11.15;

步骤11.7,在[1,Popsize]之间随机产生一个整数RI1,并令随机权值RK=rand(0,1);

步骤11.8,令均值

步骤11.9,令标准差

步骤11.10,以MeanU为均值,STDV为标准差产生一个高斯随机实数Val,如果Val的值超出了[LORJ,UPRJ]之间的范围,则采用同样的方法重新产生高斯随机实数Val,直到Val的值不超出[LORJ,UPRJ]之间的范围,然后令

步骤11.11,转到步骤11.16;

步骤11.12,在[1,Popsize]之间随机产生两个不相等的整数RI2和RI3;

步骤11.13,令

步骤11.14,转到步骤11.16;

步骤11.15,令

步骤11.16,计算新个体Ut的适应值Fit(Ut);

步骤11.17,如果新个体Ut比个体更优,则将GU添加到策略因子列表UList中;

步骤11.18,在个体与新个体Ut之间执行选择操作并更新个体的未改善次数

步骤11.19,令计数器i=i+1;

步骤11.20,如果计数器i小于或等于Popsize,则转到步骤11.2,否则转到步骤11.21;

步骤11.21,计算策略因子列表UList中数据的平均值MeanLU;

步骤11.22,令STU=0.9×STU+0.1×MeanLU,然后转到步骤12;

步骤12,令当前评价次数FEs=FEs+Popsize×2;

步骤13,侦察蜂执行其搜索操作;

步骤14,保存种群Pt中的最优个体Bestt

步骤15,当前演化代数t=t+1;

步骤16,重复步骤9至步骤15直至当前评价次数FEs达到MAX_FEs后结束,将执行过程中得到的最优个体Bestt作为支持向量机的训练参数,并用训练数据集来训练支持向量机,然后将归一化的一天的水质指标数据:温度、亚硝酸盐、氨氮、总氮、硝酸盐、溶解氧输入到训练好的支持向量机,计算支持向量机的输出即可预测2天后的水体溶解氧浓度值。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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