一种自适应布谷鸟算法及其在化工优化中的应用方法与流程

文档序号:16508258发布日期:2019-01-05 09:10阅读:269来源:国知局
本发明属于化工
技术领域
:,尤其涉及一种自适应布谷鸟算法及其在化工优化中的应用方法。
背景技术
::随着环境和能源问题的日益突出,化工过程的优化越来越受到人们的关注。化工过程的数学模型一般均为动态优化模型形式。因此,对化工过程的动态优化的分析是一个研究热点。化工动态优化就是寻求控制化工过程中的-个或几个操作变量,使得过程的某个指标达到最优。目前为止,国内外学者通过很多方法对化工动态优化问题进行研究,其中主要的方法有:基于庞特里亚金的极值原理;贝尔曼最佳原理;线性规划法;迭代动态规划法;智能算法等。由于传统的算法在求解动态优化问题时需要求出梯度,而复杂的实际模型很难做到’因此利用智能算法分析该问题已成为了近年来一个研究方向。布谷鸟搜索(cuckoosearch)算法是-种新型的元启发式群智能算法,它是在2009年由学者xinsheyang等提出的,由于其简单、易于实现、可调参数少等特点而受到了学者们的广泛关注。cs一经提出就显不了它相对于目前已有的遗传算法(ga)和粒子群算法(pso)等的优势。算法已在设计最优化商业最优化,相平衡计算,可靠性最优化職优化,酬获得应用。但该算法也存在自身的-些不足,比如计算精度不高、收敛速度较慢等。针对这些问题,本文提出-种变步长自适应cs算法,测试结果表明了改进的算法能够提高cs算法的求解精度以及收敛速度,最后将所提出的算法应用于化工动态优化问题中,获得了满意的效果。综上所述,现有技术存在的问题是:群智能算法求解此类优化问题时不可避免地存在后期收敛速度慢、求解精度的不高等不足。技术实现要素:针对现有技术存在的问题,本发明提供了一种自适应布谷鸟算法及其在化工优化中的应用方法。本发明是这样实现的,一种自适应布谷鸟算法及其在化工优化中的应用方法包括以下步骤:步骤一,将基本布谷鸟搜索(cs)算法中的随机步长改进成根据迭代次数自适应调整的步长;步骤二,通过15个标准测试函数的测试;步骤三,最后将改进的算法用于批示反应器、管式反应器、生物反应器等3个典型的化工动态优化问题中。进一步,所述动态优化问题的描述:动态优化问题的一般形式如下:问励实质就是在满足约束条件下选择控制策略u,使性能指标j达到最优。进一步,所述基本cs算法:基本的cs算法中,设定了如下3个理想状态:(1)布合鸟每次只产一1蛋,并随机寻找鸟窝进行孵化;(2)随机寻找的鸟窝中,最好的鸟窝位置将被保留进入下一代;(3)外来鸟蛋被鸟窝的主人发现的概率是pα∈[0,1]。布谷鸟寻找鸟窝位置的更新公式是:其中,表示第i个鸟窝在第t代的鸟窝位置,表示点对点乘法,α是步长控制量,l(λ)是lévy随机搜索路径,而且l~u=t-λ,(1<λ≤3)。通过位置更新后,用随机数r∈[0,1]与pα作对比,若r>pα,则对随机改变,反之则不变。最后保留适应值较好的一组鸟窝的位置。进一步,所述变步长策略:cs算法中位置更新的步长是结合鸟类和果蝇的特殊的levyflight进行随机移动的。在移动过程中步长越小,越容易进行局部搜索,但同时收敛速度越慢,也容易陷入局部极值;步长越大,具有一定的全局搜索能力,且收敛速度越快,但也容易跃过最优值,出现震荡现象。而采用levylfight产生的步长虽然具有随机性,但缺乏自适应性。为使算法既有较好的全局寻优能力,也有较高的搜索精度,借鉴文献中的步长更新公式对布cs算法进行改进以提高其自适性。其中,stepmin是步长的最小值,本文取值是0.002;p是大于1的整数,取范围是[1,30],图2画出了p分别取1,3,5,10,20,30时a随t/tmax的变化曲线,t为当前迭代次数,tmax为规定的最大迭代次数。从(3)式可以看出,鸟窝位置的移动步长随着迭代次数t的增加而逐渐减小,在算法迭代初期保持一个较大的步长使算法快速地收敛到最优鸟窝位置,同时也避免算法过早的陷入局部最优位置,随着迭代次数的增加,步长逐渐减小,到算法运行后期,找到全局最优位置的附近之后,算法就演化成局部搜索,在最优位置附近进行更精细的搜索,这样就使得cs算法具有更好的自适应性,因此cs算法的收敛速度和求解精度都将有较大的提高。文献曾将这种变步长策略运用于萤火虫群优化算法,将萤火虫的固定步长改进成以上的变步长模式,保证保证离最优萤火虫较远的个体有更大的步长,使萤火虫能在大范围内搜索,从而可以更快搜索全局最优的邻域;而在最优邻域附近的个体具有较小的步长,使萤火虫可以更精确的靠近全局最优。通过对标准测试函数的结果对比,验证了改进的算法提高了gso算法的全局搜索能力和求解精度。进一步,所述变步长自适应cs(vsacs)算法流程:step1:设置布谷鸟鸟窝个数n,搜索空间的维数d,鸟窝的位置初始化为找出其中最优的鸟窝位置和最优解fmin。step2:(循环体)保留上一代最优鸟窝位置t是当前迭代次数,利用位置更新公式对其他鸟窝的位置进行更新,得到一组新的鸟窝位置,对这组鸟窝位置进行评价,与上一代产生的鸟窝的位置进行对比,用适应值较好的鸟窝位置代替适应值较差的鸟窝位置,从而得到一组更优的鸟窝位置(存安去险)用服从均匀分布的随机数r∈[0,1]作为鸟窝的主人发现外来鸟蛋的概率并与pα比较,保留gt中被发现概率较小的那部分鸟窝位置,并随机改变被发现概率较大的鸟窝位置,得到一组新的鸟窝位置,对这组鸟窝位置进行评价,与gt中每个鸟窝位置的适应值进行对比,用适应值较好的鸟窝位置代替适应值较差的鸟窝位置,得到一组新的更优的鸟窝位置:step3:找出步骤2中最后得到的中最优的一个鸟窝位置和最优值fmin。若达到规定的迭代次数或指定精度,则输出全局最优解fmin和对应的全局最优位置反之,返回步骤2继续进行迭代。本发明的优点及积极效果为:本发明提出一种变步长自适应布谷鸟搜索算法(vsacs),将基本布谷鸟搜索(cs)算法中的随机步长改进成根据迭代次数自适应调整的步长。通过15个标准测试函数的测试,结果验证了改进的算法有较快的收敛速度和较高的求解精度。最后将改进的算法用于批示反应器、管式反应器、生物反应器等3个典型的化工动态优化问题中,获得了满意的实验结果,同时也进一步表明该算法的有效性。附图说明图1是本发明实施提供的自适应布谷鸟算法及其在化工优化中的应用方法流程图。图2是本发明实施提供的系数α的变化曲线示意图。图3是本发明实施提供的生物反应器的优化结果示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面结合附图对本发明的应用原理作进一步描述。如图1所示,本发明提供一种自适应布谷鸟算法及其在化工优化中的应用方法包括以下步骤:步骤s101,将基本布谷鸟搜索(cs)算法中的随机步长改进成根据迭代次数自适应调整的步长;步骤s102,通过15个标准测试函数的测试;步骤s103,最后将改进的算法用于批示反应器、管式反应器、生物反应器等3个典型的化工动态优化问题中。本发明提供的动态优化问题的描述:动态优化问题的一般形式如下:问励实质就是在满足约束条件下选择控制策略u,使性能指标j达到最优。本发明提供的基本cs算法:基本的cs算法中,设定了如下3个理想状态:(1)布合鸟每次只产一1蛋,并随机寻找鸟窝进行孵化;(2)随机寻找的鸟窝中,最好的鸟窝位置将被保留进入下一代;(3)外来鸟蛋被鸟窝的主人发现的概率是pα∈[0,1]。布谷鸟寻找鸟窝位置的更新公式是:其中,表示第i个鸟窝在第t代的鸟窝位置,表示点对点乘法,α是步长控制量,l(λ)是lévy随机搜索路径,而且l~u=t-λ,(1<λ≤3)。通过位置更新后,用随机数r∈[0,1]与pα作对比,若r>pα,则对随机改变,反之则不变。最后保留适应值较好的一组鸟窝的位置。本发明提供的变步长策略:cs算法中位置更新的步长是结合鸟类和果蝇的特殊的levyflight进行随机移动的。在移动过程中步长越小,越容易进行局部搜索,但同时收敛速度越慢,也容易陷入局部极值;步长越大,具有一定的全局搜索能力,且收敛速度越快,但也容易跃过最优值,出现震荡现象。而采用levylfight产生的步长虽然具有随机性,但缺乏自适应性。为使算法既有较好的全局寻优能力,也有较高的搜索精度,借鉴文献中的步长更新公式对布cs算法进行改进以提高其自适性。其中,stepmin是步长的最小值,本文取值是0.002;p是大于1的整数,取范围是[1,30],图2画出了p分别取1,3,5,10,20,30时a随t/tmax的变化曲线,t为当前迭代次数,tmax为规定的最大迭代次数。从(3)式可以看出,鸟窝位置的移动步长随着迭代次数t的增加而逐渐减小,在算法迭代初期保持一个较大的步长使算法快速地收敛到最优鸟窝位置,同时也避免算法过早的陷入局部最优位置,随着迭代次数的增加,步长逐渐减小,到算法运行后期,找到全局最优位置的附近之后,算法就演化成局部搜索,在最优位置附近进行更精细的搜索,这样就使得cs算法具有更好的自适应性,因此cs算法的收敛速度和求解精度都将有较大的提高。文献曾将这种变步长策略运用于萤火虫群优化算法,将萤火虫的固定步长改进成以上的变步长模式,保证保证离最优萤火虫较远的个体有更大的步长,使萤火虫能在大范围内搜索,从而可以更快搜索全局最优的邻域;而在最优邻域附近的个体具有较小的步长,使萤火虫可以更精确的靠近全局最优。通过对标准测试函数的结果对比,验证了改进的算法提高了gso算法的全局搜索能力和求解精度。本发明提供的变步长自适应cs(vsacs)算法流程:step1:设置布谷鸟鸟窝个数n,搜索空间的维数d,鸟窝的位置初始化为找出其中最优的鸟窝位置和最优解fmin。step2:(循环体)保留上一代最优鸟窝位置t是当前迭代次数,利用位置更新公式对其他鸟窝的位置进行更新,得到一组新的鸟窝位置,对这组鸟窝位置进行评价,与上一代产生的鸟窝的位置进行对比,用适应值较好的鸟窝位置代替适应值较差的鸟窝位置,从而得到一组更优的鸟窝位置(存安去险)用服从均匀分布的随机数r∈[0,1]作为鸟窝的主人发现外来鸟蛋的概率并与pa比较,保留gt中被发现概率较小的那部分鸟窝位置,并随机改变被发现概率较大的鸟窝位置,得到一组新的鸟窝位置,对这组鸟窝位置进行评价,与gt中每个鸟窝位置的适应值进行对比,用适应值较好的鸟窝位置代替适应值较差的鸟窝位置,得到一组新的更优的鸟窝位置:step3:找出步骤2中最后得到的中最优的一个鸟窝位置和最优值fmin。若达到规定的迭代次数或指定精度,则输出全局最优解fmin和对应的全局最优位置反之,返回步骤2继续进行迭代。1、函数测试1.1标准测试函数为了验证vsacs算法的有效性,本文采用了如下15个标准测试函数进行测试,表1给出了搜索范围,理论最优值,并给定了维数分别为10、30时测试函数的标精度1.2测试结果实验环境为处理器:amdathlo主频2.00ghz;内存:512mb;操作系统:windowsxp;集成成开发环境:matlab2012a。vsacs算法中的参数设置如下:种群规模为25,pα=0.25,α=1,最大迭代次数为500次,通过实验,变长策略中的p取为30对每个测试函数在维数为10和30时分别独立运行20次,通过算法的收敛所需的迭代次数、收敛次数、求解精度和标准差四方面进行对比。这里的收敛是指c和vsacs在规定的最大迭代次数的条件下,如果算法能够达到指定的求解精度则认为收敛,否则不收敛。表2和表3分别给出了维数10和30时的实验结果。收敛次数说明了在20次实验中最大迭代次数为500时算法求解达到目标精度的次数。最优值、最差值和平均值反映了求解的质量,而标准差反映在给定的迭代次数下能达到的求解精度,同时也反映了算法求解的鲁棒性和稳定性。从表2可知,从收敛次数来看,除了f5之外,vsacs比cs都有明显的提高,其中f4,f7,f10,f12分别提高了14、11、10、16次。对每个测试函数,vsacs收敛所需的平均迭代次数均比cs的要小,部分函数少了200多次或更多,其中f1少了294次,f2少了335次,f7少了229次,f8少了330次,f9少了263次,f10少了364次,f12少了319次,f14少了323次。从标准差来看除了f5,vsacs的求解精度相对于cs都有提高,其f1,f2,f8,f9,f10,f12,f14分别提髙了11、8、7、16、45、8、16个数量级。表1测试函数及其参数设置table1standardtestfunetionsanditsparametersettings.从表3可以看出,维数为30的时候,vsacs算法对于大部分的测试函数仍然是有效的。从收敛次数来看,f8提高了2次,f13提高4次;f1,f2,f10提高5次,f7,f11提高6次;f14提高7次;f9,f12提高了16次;从平均迭代次数来看,仍然有部分函数少200次以上,其中f1少了212次f2少了273次,f8少了252次,f10少了368次,f12少了264次。从标准差来看,仍有大部位分函数的精度有提高,其中f1,f2,f9,f12提高了2个数量级,f5,f8提高了1个数量级,f10提高了46个数量级。2、变步长自适应布谷鸟搜索算法(vsacs)s数学模型如在化工动态优化中的应用本文选取了批式反应器、管式反应器、生物反应器这3种典型的具有不同控制特点的化工动态优化过程,用vsacs进行目标函数的求解。2.1批式反应器其数学模型如下:maxj(tf)=cb(tf)在该反应器中发生a→b→c的反应,在过程中控制反应温度t,使得在反应结束时,中间产物b的浓度能够达到最优。q表示物质j的浓度,表示物质5浓度。2.2管式反应器其数学模型如下:maxj(zf)=1-xa(zf)-xb(zf)在该反应器中,在2种催化剂的作用下发的反应,z为管式反应器的长度,u(z)表示第一种催化剂在管中点z处的含量,优化目的是对催化剂采取最优分配使得反应结束时目标产物c的浓度达到最大。2.3park-ramirez生物反应器(pr-b)maxj(tf)=z1z5其中,为蛋白质分泌速率常数,优化目的是使在反应结束时分泌蛋白的产量j(tf)=z1z5达到最大。表2维数为10时的实验结果table2experimentalresultsof10dimensions.表3维数为30时实验结果table3experimentalresultsof30dimensions.表4不同方法对3个化工动态优化问题的优化结果table4resultsof3chemicaldynamicoptimizationproblemsbydifferentmethods.2.4实验结果及讨论对以上3个案例的时域分别离散10、20、100份,并独立运行20次。表4给出了vsacs算法与其他文献的最优的比较,同时给出pr-b的最优曲线图3。因为传统的方法求解动态优化问题时需要求梯度,而对于3个案例来说状态方程比较复杂,尤其案例3,状态方程呈现强烈非线性,局部极值点较多,所以求解梯度难度大,本文用vsacs算法,通过时域离散以及runge-kutta方法对3个案例进行求解。避免了求解梯这一难题。从表4可以看出vsacs算法能够取得较满的结果。由表4可知,对于案例1和2,vsacs算法能够求出更优的解;对于案例3,虽然最优值不能达到已知最优值,但在规定的离散分数下求得最差值比文献中的最差值要好,而且在规定最大迭代次数的情况下所求得解的最优值和最差值相差不大,这说明了vsacs所求的解的最优值和最差值相差不大,这说明了vsacs算法求解的稳健性。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1