[0006] 本发明要解决的技术问题是提供一种基于人工蜂群和量子粒子群算法的一维水质模型参数率定方法。
[0007] 为了解决上述技术问题,本发明采用的技术方案是:基于人工蜂群和量子粒子群算法的一维水质模型参数率定方法,人工蜂群算法下称ABC,量子粒子群算法下称QPSO,包括以下步骤:
[0008] (1)选取要研究的河流,通过示踪实验获取示踪剂浓度随时间的变化数据;根据实测值与采用一维水质模型 计算值离差平方和最小的原则编制待优化的目标函数:
[0009] (2)输入算法的通用运行参数:种群数目、迭代次数、变量维数、变量取值范围、待优化目标函数;
[0010] (3)选取ABC、QPSO、QPSO+ABC和ABC+QPSO的一种或多种计算方法进行模型参数的率定计算;
[0011] (4)若只采用上述算法中的一种,直接判断结果是否满足优化要求;若采用上述算法中的二种及以上计算方法,综合比较计算结果及评价最优的结果是否满足此次优化的要求;
[0012] (5)若满足要求,运算结束,输出参数率定的结果和算法的迭代曲线;
[0013] (6)否则,修改算法的输入参数,重新计算,输出参数调整后的计算结果和迭代曲线,获取最终的优化结果。
[0014] 作为优选,目标函数是指一类可以转化为求极值的函数,如实验所得的实测值与根据理论进行计算的计算值之间的误差。
[0015] 作为优选,人工蜂群算法的计算步骤如下:
[0016] (1)根据各变量的自身取值范围按照种群数分别进行初始化,随后进行变量维数合并,形成蜂群初始种群xij,i=1,...,SN,j=1,...D,其中SN表示食物源的数量,D为变量的维数;
[0017] (2)计算种群的函数适应度值,并评价种群;
[0018] (3)采蜜蜂(xij)在食物源邻域内按公式(1)在其邻域附近产生新解vij:
[0019] vij=xij+φij(xij-xkj) (1)
[0020] 其中,xk是除xi之外随机选取的一个解,φij是一个变化范围在区间[-a,a]的随机数,a通常取1,然后,应用贪婪选择算法决定vi和xi的好坏;
[0021] (4)依据公式(2),根据适应度值(fiti)计算解xi的概率值pi:
[0022]
[0023] 其中,针对最小化问题,适应度值的计算按公式(3)计算:
[0024]
[0025] 其中,fi为目标函数值;
[0026] (5)对于观察蜂,在其所选择的食物源的邻域内产生新解,采用贪婪选择算法比较vi和xi的优劣;
[0027] (6)确定抛弃的解xi,采用公式(4)随机产生的一个新解x′i取代它,将其作为侦察蜂:
[0028] x/ij=x minj+rand(0,1)*(x maxj-x minj) (4)
[0029] 其中,x minj为参数j的取值范围下限,x maxj为参数j的取值范围上限;
[0030] (7)记忆目前最好的解,如果满足结束标准要求,算法停止,输出计算结果;否则,转到步骤(2)继续迭代。
[0031] 作为优选,人工蜂群算法的计算步骤3和步骤5中获得的新解,要对各个变量范围分别进行范围检查,使其不超出其自身变化的取值区间。
[0032] 本发明的有益效果是:
[0033] 选取人工蜂群算法和量子粒子群算法这两种所需输入参数少、优化性能强的群智能优化算法进行整合为一个通用计算平台,其具有以下优点:
[0034] (1)参数输入简单,操作方便;(2)用户通过编制自己的待优化目标函数,可以方便地解决其遇到的实际优化问题,具有广泛的应用前景和实用价值;(3)用户通过改变某种算法的设置参数,可以观察该算法参数变化对优化性能的影响规律;(4)针对同一优化问题,可以采用不同组合计算方式进行计算,比较计算结果的优化性能状况和优劣,从而选择最优的计算结果供使用;特别是两种混合计算方式(QPSO+ABC和ABC+QPSO),采用将前一种方法的优化结果直接植入后续算法的初始种群中参与后续迭代计算,增强了算法的优化性能。