一种新型混沌自适应烟花优化方法与流程

文档序号:18887648发布日期:2019-10-15 21:11阅读:500来源:国知局
一种新型混沌自适应烟花优化方法与流程

本发明属于人工智能技术领域,具体涉及一种新型混沌自适应烟花优化方法。



背景技术:

随着人工智能的发展,人们解决的问题的复杂程度也随之增加,群体智能算法应运而生,例如,蚁群算法、粒子群算法、蜂群算法、萤火虫算法、人工鱼群算法等,这些算法的特点是群体中个体之间通过直接或间接的相互协作和相互作用从整体上表现出了复杂的智能行为,具有十分强大的问题解决能力,成为解决复杂困难问题的重要工具,但是各个算法都具有优缺点,而传统自适应烟花收敛速度较慢,精度不高。



技术实现要素:

本发明的目的是提供一种新型混沌自适应烟花优化方法,解决了传统自适应烟花收敛速度较慢,精度不高的问题。

本发明所采用的技术方案是,一种新型混沌自适应烟花优化方法,具体包括如下步骤:

步骤1:参数初始化,包括烟花种群数、爆炸火花数、爆炸半径、高斯火花个数、优化范围;

步骤2:采用混沌算法优化随机产生的烟花,选择其中最优的n个烟花作为初始烟花;

步骤3:计算初始烟花的适应度;

步骤4:计算最优烟花除外的各个烟花的爆炸半径及所有烟花的爆炸数目;

步骤5:生成高斯变异火花;

步骤6:计算所有火花的适应度值;

步骤7:计算最优烟花半径;

步骤8:根据选择策略产生下一代烟花;

步骤9:采用混沌算法优化选择策略产生的烟花,选择最优的n个烟花,作为下一代烟花,假若未达到最大迭代次数,则执行步骤4,否则输出最优烟花及其适应度值。

本发明的特点还在于:

步骤2的具体过程如下:

首先将解空间中初始化烟花个体xi的每一维的位置映射到混沌区域(-1,1),映射规则为

其中,ai表示混沌搜索范围的下边界,bi表示混沌搜索范围的上边界;

然后对式(1)中映射产生的值,按照式(2)进行迭代,生成混沌序列

yi+1=1-2×(yi)2yi∈(-1,1)(2)

最后混沌序列逆映射,将混沌区域的值逆映射到解空间。逆映射规则为

当yi≠0和yi≠0.5时就会有混沌发生。

步骤4的具体步骤如下:

用式(4)和(5)计算最优烟花除外的各个烟花的爆炸半径及所有烟花的爆炸数目;

式中:和m分别为最大爆炸半径和爆炸产生火花的最大数量;ymin和ymax是适应度值最好的和最差的个体的适应度值;f(xi)为个体xi的适应度值;ε为极小的常数;

为避免火花数量不均影响性能,将si改为:

式中:round()为取整函数,a和b为给定常数。

步骤5的具体步骤如下:

生成高斯火花,高斯火花的计算公式为

其中,e为符合均值为0,方差为1的高斯分布的随机数;为当前种群中适应度值最优的烟花在第k维的位置;

对超出范围的火花采用随机映射规则,计算公式为

其中,u(0,1)为[0,1]区间上的均匀分布随机数。

步骤7的具体步骤如下:

计算所有火花的适应度值,计算最优烟花半径。最优烟花半径的计算:为计算自适应半径,需要选择一个个体,并用它与最优个体之间的距离作为下一次爆炸的半径。这个个体需要满足2个条件:

(1)适应度值比这一代烟花的适应度值差:

f(si)>f(x)

其中f(si)表示所有烟花的适应度值,f(x)表示这一代烟花的适应度值;

(2)到最优个体的距离是满足①中的个体中最短的距离:

r=min(d(si,s*))

其中s*为所有火花和烟花中适应度值最好的,d表示si和s*的距离。初始化半径为整个求解范围。

步骤8的具体步骤如下:

选择下一代烟花采用精英-随机选择策略:首先选择出种群中适应度最优的个体:

s*=min(s)

其中s为所有火花和烟花的适应度;

然后对其余烟花的选择采用随机策略:

x=rand(s-s*)。

步骤9的具体步骤如下:

用混沌算法对产生的烟花进行优化,首先将解空间中选择产生的烟花个体xi的每一维的位置映射到混沌区域(-1,1),映射规则为

然后对式(8)中映射产生的值,按照式(9)进行迭代,生成混沌序列

yi+1=1-2×(yi)2yi∈(-1,1)(9)

最后混沌序列逆映射,将混沌区域的值逆映射到解空间。逆映射规则为

选择混沌优化后的适应度值最好的前n个烟花,作为下一代烟花。

本发明的有益效果是:本发明一种新型混沌自适应烟花优化方法,对复杂问题求解提供了一种新的方法,提高了求解精度及算法收敛速度,提升了算法的性能。

附图说明

图1是本发明一种新型混沌自适应烟花优化方法的流程图;

具体实施方式

下面结合附图和具体实施方式,对本发明进行详细说明。

本发明一种新型混沌自适应烟花优化方法,如图1所示,具体步骤如下:

步骤1,参数初始化,包括烟花种群数、爆炸火花数、爆炸半径、高斯火花个数、优化范围。

步骤2,采用混沌算法优化随机产生的烟花,选择其中最好的n个烟花作为初始烟花。

步骤3,计算初始烟花的适应度。

步骤4,计算最优烟花除外的各个烟花的爆炸半径及所有烟花的爆炸数目。

步骤5,生成高斯变异火花。

步骤6,计算所有火花的适应度值。

步骤7,计算最优烟花半径。

步骤8,根据选择策略产生下一代烟花。

步骤9,采用混沌算法优化选择策略产生的烟花,选择最优的n个烟花,作为下一代烟花,如果未达到最大迭代次数,则执行步骤4,否则输出最优烟花及其适应度值。

步骤1的具体过程如下:

经过大量实验,烟花种群数一般为5,爆炸火花数为50,参数a为0.8,参数b为0.04,爆炸半径为40,高斯火花个数为5,具体问题需对参数进行微调。

步骤2的具体过程如下:

首先将解空间中初始化烟花个体xi的每一维的位置映射到混沌区域(-1,1),映射规则为

其中,ai表示混沌搜索范围的下边界,bi表示混沌搜索范围的上边界。

然后对式(1)中映射产生的值,按照式(2)进行迭代,生成混沌序列

yi+1=1-2×(yi)2yi∈(-1,1)(2)

最后混沌序列逆映射,将混沌区域的值逆映射到解空间。逆映射规则为

当yi≠0和yi≠0.5时就会有混沌发生。

选择混沌优化后的烟花中适应度值最优的n个烟花作为初始烟花(一般n=5)。

假设烟花为3维,烟花的位置为x=(4,7,8),3维的搜索半径都为[0,10],将x映射到混沌区域,则根据式(1)可以求得y=(-0.2,0.4,0.6),将y按照式(2)迭代3次生成混沌序列,则有:

y1=(-0.2,0.4,0.6)y2=(0.92,0.68,0.28)y3=(-0.6928,0.0752,0.8432)

然后在将y1,y2,y3映射到解空间

x1=(4,7,8)x2=(9.6,8.4,6.4)x3=(1.536,5.376,9.216)

步骤4的具体步骤如下:

用式(4)和(5)计算最优烟花除外的各个烟花的爆炸半径及所有烟花的爆炸数目;

式中:和m分别为最大爆炸半径和爆炸产生火花的最大数量;ymin和ymax是适应度值最好的和最差的个体的适应度值;f(xi)为个体xi的适应度值;ε为极小的常数。

为避免火花数量不均影响性能,将si改为:

式中:round()为取整函数,a和b为给定常数。

假设n=5,5个烟花的适应度值分别为1,3,4,7,9,ε=0.0000001,则按照公式(4)和(5)、(6)可以求得适应度为3的烟花的爆炸半径为5.714288,爆炸火花数目40。

步骤5的具体步骤如下:

生成高斯火花,高斯火花的计算公式为

其中,e为符合均值为0,方差为1的高斯分布的随机数;为当前种群中适应度值最优的烟花在第k维的位置。

对超出范围的火花采用随机映射规则,计算公式为

其中,u(0,1)为[0,1]区间上的均匀分布随机数。

假如火花的位置为(3,6,7),最优烟花的位置为(2,3,3)则高斯火花按照式(6)得出可能为(2.5,4.5,5)。

若火花超出取值范围按照式(7),将其映射到范围内,假设搜索边界为[-10,10],而火花为11时,将火花映射到搜索范围,按照式(7)火花可能为6。

步骤7的具体步骤如下:

计算所有火花的适应度值,计算最优烟花半径。最优烟花半径的计算:为计算自适应半径,需要选择一个个体,并用它与最优个体之间的距离作为下一次爆炸的半径。这个个体需要满足2个条件:

(1)适应度值比这一代烟花的适应度值差:

f(si)>f(x)

其中f(si)表示所有烟花的适应度值,f(x)表示这一代烟花的适应度值。

(2)到最优个体的距离是满足①中的个体中最短的距离:

r=min(d(si,s*))

其中s*为所有火花和烟花中适应度值最好的,d表示si和s*的距离。初始化半径为整个求解范围。

假设当前烟花的适应度值为2,产生火花的适应度值为2.5,3,4,1,0.8,3.2,则最优个体为适应度值为0.8的个体,满足条件1的个体有适应度值为2.5,3,4,3.2的个体,满足条件2的个体为适应度值为2.5的个体,则最优烟花的爆炸半径则为适应度值为0.7和2.5的个体之间的距离。

步骤8的具体步骤如下:

选择下一代烟花采用精英-随机选择策略:首先选择出种群中适应度最优的个体:

s*=min(s)

其中s为所有火花和烟花的适应度。

然后对其余烟花的选择采用随机策略:

x=rand(s-s*)

假如所有烟花和火花的适应度值为0.5,2,1,0.8,2.4,3.6,5.5,1.7,则下一代烟花首先保留适应度值为0.5的个体,其余烟花则随机选择。

步骤9的具体步骤如下:

用混沌算法对产生的烟花进行优化,首先将解空间中选择产生的烟花个体xi的每一维的位置映射到混沌区域(-1,1),映射规则为

然后对式(8)中映射产生的值,按照式(9)进行迭代,生成混沌序列

yi+1=1-2×(yi)2yi∈(-1,1)(9)

最后混沌序列逆映射,将混沌区域的值逆映射到解空间。逆映射规则为

选择混沌优化后的适应度值最好的前n个烟花(n一般取5),作为下一代烟花。

本发明一种新型混沌自适应烟花优化方法的特点是通过混沌算法与自适应烟花算法相结合的方式,将随机初始化改变为混沌初始化,并采用混沌算法对选择策略产生的子代烟花进行筛选,弥补其不足。

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