[发明专利]一种改进标准混合蛙跳算法的方法在审

专利信息
申请号: 201610145791.6 申请日: 2016-03-15
公开(公告)号: CN105786759A 公开(公告)日: 2016-07-20
发明(设计)人: 杜江;袁中华 申请(专利权)人: 河北工业大学
主分类号: G06F17/10 分类号: G06F17/10
代理公司: 天津翰林知识产权代理事务所(普通合伙) 12210 代理人: 胡安朋
地址: 300130 天津市红桥区*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 改进 标准 混合 蛙跳 算法 方法
【权利要求书】:

1.一种改进标准混合蛙跳算法的方法,其特征在于:是将标准混合蛙跳算法中的种群 混合机制与子种群内部迭代机制进行了合并处理,并动态调整移动步长,借助于 MicrosoftVisualC++计算机软件实现改进后的算法,具体步骤如下:

第一步,确定需要初始化的参数及其初值:

参照标准混合蛙跳算法的参数初始化情况,确定改进后混合蛙跳算法需要初始化的参 数,包括:青蛙种群的个体数F、青蛙子种群数m、每个青蛙子种群的青蛙个体数n、每 只青蛙个体的位置Xi、最大混合迭代次数N、当前混合迭代次数i、最大移动步长Djmax、 进步阀值δ、移动步长变异系数dj、移动步长变异系数上限值dj_big、移动步长变异系数 下限值dj_small、移动步长调整结束标志S、预测原始数列长度p和最小允许误差Δ,其中, n=F/m,0<S<1,p≥4;

上述所设需要初始化的参数的初值的确定如下:当前混合迭代次数i需赋初值为0; 每只青蛙的位置Xi应在解空间内随机初始化,而解空间维度是用户根据求解问题的类型 来确定的;青蛙种群的青蛙个体数F、青蛙子种群数m、每个青蛙子种群的青蛙个体数n、 最大混合迭代次数N、最大移动步长Djmax、进步阀值δ、移动步长变异系数dj、移动步 长变异系数上限值dj_big、移动步长变异系数下限值dj_small、移动步长调整结束标志S、 预测原始数列长度p和最小允许误差Δ,这些参数的初值由用户从求解问题的类型、复杂 程度和期望求解精度方面综合考虑进而确定其初值;

第二步,计算每只青蛙个体的适应值,找出该青蛙种群的全局最优青蛙个体的适应值 及其位置:

借助MicrosoftVisualC++计算机软件编写人机界面,设置参数适应值Yg和位置Xg用 于记录该青蛙种群的全局最优青蛙个体的适应值及其位置,将第一步中设置的参数及其初 值输入人机界面中,根据青蛙种群的适应值函数,编写程序计算该青蛙种群中每只青蛙个 体所在位置Xi的适应值Yi,并通过循环比较法确定出该青蛙种群的全局最优青蛙个体的适 应值及其位置并分别赋给适应值Yg和位置Xg,具体操作如下:

当求解极大值问题时,适应值Yi较大的青蛙个体属于优势青蛙个体,适应值Yi较小的 青蛙个体属于劣势或称差势青蛙个体;当求解极小值问题时,适应值Yi较小的青蛙个体属 于优势青蛙个体,适应值Yi较大的青蛙个体属于劣势或称差势青蛙个体;

首先将第1只青蛙个体的适应值Y1及其位置X1暂时作为青蛙种群全局最优青蛙个体 的适应值及其位置分别赋给适应值Yg和位置Xg,之后将该青蛙种群全局最优青蛙个体的 适应值Yg轮流与其他青蛙个体的适应值Yi进行比较,将每次比较后较优的适应值及其位置 重新作为全局最优青蛙个体的适应值及其位置赋给适应值Yg和位置Xg,轮流比较结束之 后的适应值Yg和位置Xg即为该青蛙种群的全局最优青蛙个体的适应值及其位置;

第三步,对青蛙种群按适应值从优势到劣势进行降优排序:

根据第二步中得到的每只青蛙个体的适应值Yi,以及两只青蛙个体孰优孰劣的比较, 借助MicrosoftVisualC++计算机软件,编写冒泡法程序对第二步所述青蛙种群按照从 优到劣的顺序进行排序,具体操作如下:

一个青蛙种群的个体数F的青蛙种群,将第1只青蛙个体与第2只青蛙个体按第二步 中所述适应值比较方法进行比较,当第1只青蛙个体优于第2只青蛙个体时,两只青蛙个 体排列次序不变,否则交换两只青蛙个体的排列次序;将第2只青蛙个体与第3只青蛙个 体进行比较,当第2只青蛙个体优于第3只青蛙个体时,两只青蛙个体排列次序不变,否 则交换两只青蛙个体的排列次序;…将第F-1只青蛙个体与第F只青蛙个体进行比较,当 第F-1只青蛙个体优于第F只青蛙个体时,两只青蛙个体排列次序不变,否则交换两只青 蛙个体的排列次序;至此,该青蛙种群最差青蛙个体排到最后位置;按照此种方式重复操 作F-1次,就完成了该青蛙种群按适应值从优势到劣势进行降优排序;

第四步,划分青蛙子种群:

将第三步所述的青蛙种群分为m个青蛙子种群,具体划分方法如下:

青蛙种群按照第三步的方法排序后,第1只青蛙个体分给第1青蛙子种群,第2只青 蛙个体分给第2青蛙子种群,…,第m只青蛙个体分给第m青蛙子种群,第m+1只青蛙个 体分给第1青蛙子种群,第m+2只青蛙个体分给第2青蛙子种群,…,第m+m只青蛙个 体分给第m青蛙子种群,第2m+1只青蛙个体分给第1青蛙子种群,第2m+2只青蛙个体分 给第2青蛙子种群,…,第F-1只青蛙个体分给第m-1青蛙子种群,第F只青蛙个体分给 第m青蛙子种群;

第五步,找出每个青蛙子种群中适应值最优和最差的青蛙个体的位置:

根据第三步中对青蛙种群按适应值从优势到劣势进行降优排序,加之第四步的划分青 蛙子种群,可知,每个青蛙子种群中第1只青蛙个体的位置和最后1只青蛙个体的位置分 别为该青蛙子种群中适应值最优的青蛙个体位置Xb和适应值最差的青蛙个体位置Xw

第六步,对每个青蛙子种群中适应值最差的青蛙个体位置进行更新处理:

在第五步中得到每个青蛙子种群中适应值最优和最差的青蛙个体的位置之后,借助 MicrosoftVisualC++计算机软件编写程序,实现每个青蛙子种群中最差青蛙个体位置的 更新处理,具体步骤如下:

(6.1)局部深度搜索:利用公式(1)使青蛙子种群适应值最差青蛙个体向青蛙子种 群适应值最优青蛙个体方向前进一步:

Xw(new)=Xw(old)+rand()×dj×(Xb-Xw)(1)

公式(1)中,Xw(old)和Xw(new)分别是搜索前青蛙子种群中适应值最差青蛙个体位 置和该青蛙个体进行搜索后的位置,rand()为0到1之间的随机数,Xb为搜索前该青蛙子 种群中适应值最优的青蛙位置,Xw为搜索前该青蛙子种群中适应值最差的青蛙位置,此 时的移动步长为rand()×dj×(Xb-Xw),且需要满足-Djmax≤rand()×dj×(Xb-Xw)≤Djmax,当 Xw(new)的适应值优于Xw(old)的适应值,则确定执行局部深度搜索并跳转至第七步,否则 抛弃局部深度搜索;

(6.2)全局深度搜索:利用公式(2)使青蛙子种群适应值最差青蛙个体向青蛙种群 适应值最优青蛙个体方向前进一步:

Xw(new)=Xw(old)+rand()×dj×(Xg-Xw)(2)

公式(2)中Xg为青蛙种群适应值最优青蛙个体的位置,此时的移动步长为 rand()×dj×(Xg-Xw),且需要满足-Djmax≤rand()×dj×(Xg-Xw)≤Djmax,当Xw(new)的适应值 优于Xw(old)的适应值,则确定执行全局深度搜索并跳转至第七步,否则抛弃全局深度搜 索;

(6.3)利用公式(3)对青蛙子种群中适应值最差青蛙个体进行随机移动:

Xw(new)=Xw(old)+rand()×Djmax(3);

第七步,计算每个青蛙子种群中被更新位置的青蛙个体的适应值,并找出此时青蛙种 群全局最优适应值及其位置:

根据第六步更新每个青蛙子种群中适应值最差的青蛙个体位置之后,借助Microsoft VisualC++计算机软件,编写程序重新计算每个青蛙子种群中在第六步中被更新位置的青 蛙个体的适应值,并仍旧通过上述第二步所述的循环比较法确定出该青蛙种群的全局最优 青蛙个体的适应值Yg及其位置Xg

第八步,实现下次迭代后青蛙种群最优适应值的预测,进而调整移动步长变异系数dj 及步骤间的跳转:

借助MicrosoftVisualC++计算机软件,编写程序实现下次迭代后青蛙种群最优适 应值的预测,进而调整移动步长变异系数dj及步骤间的跳转,具体步骤如下:

(8.1)当当前混合迭代次数i<预测原始数列长度p时,则执行第九步,否则执行下 一步(8.2);

(8.2)当当前混合迭代次数i>移动步长调整结束标志S×最大混合迭代次数N时, 则给移动步长变异系数dj赋移动步长变异系数下限值dj_small,执行第九步,否则执行下 一步(8.3);

(8.3)当当前混合迭代次数i≥预测原始数列长度p且当前混合迭代次数i≤移动步 长调整结束标志S×最大混合迭代次数N时,编写程序实现下次迭代后的最优适应值Yg_per的预测,进而根据预测结果调整移动步长变异系数dj,具体步骤如下:

(8.3.1)设置原始序列:x=(x(1),x(2),...,x(p)),其中p≥4,x(1),x(2),...,x(p)分别是最近 的连续p次迭代的青蛙种群全局最优适应值;

(8.3.2)级比平滑检验:利用公式(4)进行级比平滑检验:

σ(q)=x(q-1)x(q)---(4)]]>

公式(4)中,q={2,3,...,p},当级比σ(q)∈(0.1353,7.389)不成立,则给移动步长变异系数 dj赋移动步长变异系数下限值dj_small,并执行第九步;

(8.3.3)白化型GM(1,1)建模:

①利用公式(5)进行AGO处理:

x(1)(q)=x(1)(q-1)+x(q)(5)

公式(5)中,1≤q≤p,且当q=1时,x(1)(1)=x(1);

②利用公式(6)进行MEAN处理:

z(1)(q)=0.5×x(1)(q)+0.5×x(1)(q-1)(6)

公式(6)中,2≤q≤p;

③利用公式(7)和公式(8)求得发展系数a和灰作用量b:

a=Σq=2pz(1)(q)×Σq=2px(q)-(q-1)×Σq=2pz(1)(q)×x(q)(q-1)×Σq=2pz(1)(q)2-[Σq=2pz(1)(q)]2---(7)]]>

b=Σq=2px(q)×Σq=2pz(1)(q)2-Σq=2pz(1)(q)×Σq=2pz(1)(q)×x(q)(q-1)×Σq=2pz(1)(q)2-[Σq=2pz(1)(q)]2---(8)]]>

④利用公式(9)和公式(10)求得GM(1,1)白化响应式:

xper(1)(q+1)=(x(1)-ba)×e-a×q+ba---(9)]]>

xper(q+1)=xper(1)(q+1)-xper(1)(q)---(10)]]>

公式(9)和公式(10)中,x(1)=(x(1)(1),x(1)(2),...,x(1)(p))、z(1)=(z(1)(2),z(1)(3),...,z(1)(p))、 和xper=(xper(1),xper(2),...,xper(p+1))仅为中间过渡变量,没有实 际含义,其中

由此完成白化型GM(1,1)建模;

(8.3.4)利用公式(11)预测下一次迭代后的青蛙种群全局最优适应值Yg_per

Yg_per=xper(p+1)=xper(1)(p+1)-xper(1)(p)---(11)]]>

(8.3.5)当(Yg_per-Yg)<δ,则给移动步长变异系数dj赋移动步长变异系数上限值 dj_big,否则给移动步长变异系数dj赋移动步长变异系数下限值dj_small;

第九步,判断是否满足结束条件:

判断是否达到最大混合迭代次数N或者满足最小允许误差Δ,若否,则重新执行第三 步;若是,则结束迭代并将优化结果显示在人机界面上。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河北工业大学,未经河北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610145791.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top