本发明涉及一种基于单形邻域与多角色进化策略的智能优化算法,实现在给定搜索空间搜索到全局最优点位置,属于新型智能全局优化算法计算领域。
背景技术:
近年来,为了解决大量实际应用问题中的全局优化问题,许多全局优化算法被提出,其中,基于群体智能的智能优化算法越来越成为优化算法研究的热点。如遗传算法,免疫算法,粒子群算法,差分进化算法,蜂群算法,焰火算法等。但这些算法也存在一些缺点,如搜索容易陷入局部最优点,无法收敛到全局最优点;算法收敛到全局最优点的性能依赖算法的控制参数;算法收敛到全局最优点的稳定性不好,方差偏大。同时,针对这些算法的改进算法大都是通过增加算法复杂度,引入更多控制参数实现更好的算法性能。
技术实现要素:
本发明要解决的技术问题是提供一种基于单形邻域与多角色进化策略的智能优化算法,用于复杂目标函数的全局优化。针对智能优化算法的这些问题,以多角色态实现粒子搜索多样性,算法结构简单的群体智能优化算法。
本发明的技术方案是:
一种基于单形邻域与多角色进化策略的智能优化算法,首先以均匀分布概率在搜索空间随机初始化粒子位置;然后每个粒子利用单形邻域搜索算子搜索新位置,并利用测试函数,评价每个粒子新位置的优劣,再根据粒子新位置的优劣,确定每个粒子的三个角色位置,最后记录本迭代周期中最优粒子及其最优位置,结束本迭代搜索周期,启动下一个迭代搜索周期,直至粒子收敛到全局最优点位置。
所述搜索空间粒子的初始化采用均匀分布概率函数产生。
所述搜索空间中粒子单形邻域搜索方式最终确定新粒子的方式如下:
在搜索空间rn中,以均匀分布方式随机选取两个维度p,q,构建搜索子空间r2,在此搜索子空间,群体中每个粒子单形邻域搜索算子,定义如下:
其中,
所述群体中每个粒子具有三个角色态,分别为:中心角色态,开采角色态,勘探角色态,分别定义如下:
中心角色态,定义为每个粒子搜索到的最优位置;
开采角色态,定义为每个粒子搜索到的最新位置;
勘探角色态,定义为每个粒子以均匀分布在搜索空间随机定位的位置。
所述在搜索空间搜索全局最优点的具体步骤如下:
s1、将m个粒子基于均匀分布在搜索空间进行初始化随机定位;
其中,
s2、对于群体中的每个粒子i,在搜索空间rn中,以均匀分布方式随机选取两个维度p,q,构建搜索子空间r2,在此搜索子空间,每个粒子利用单形邻域搜索算子和多角色态搜索策略搜索新位置,定义如下:
其中,
s3、对于群体中的每个粒子i,利用步骤s2在搜索子空间r2搜索到的4个新中心角色位置:
s4、根据适应度函数f(x)评价每个粒子的优劣,确定每个粒子的三个角色态:中心角色态,开采角色态,勘探角色态,定义分别如下:
中心角色态——以贪婪性为原则,定义为每个粒子搜索到的最优位置:xic(t+1);
开采角色态——以最近性为原则,定义为每个粒子搜索到的最新位置,即:
xil(t+1)={xic1(t+1),xic2(t+1),xic3(t+1),xic4(t+1)}(14)
勘探角色态——以均匀分布的随机性为原则,定义为每个粒子以均匀分布在搜索空间随机定位的位置:xig(t+1);
s5、记录群体中最优粒子的位置:xoc(t+1),返回s2,开始下一个搜索周期,直至群体中粒子收敛到最优位置,即群体中最优粒子的位置稳定不变到给定精度。
本发明的有益效果是:
1、在全局搜索性能方面,利用这领域中经典的测试函数对这一智能优化算法的性能进行测试。测试结果表明:对于所有测试函数,尤其是多模态测试函数,算法均以高精度收敛到了全局最优点。说明该算法在全局搜索性能方面较好。
2、在局部收敛性能方面,利用这领域中经典的测试函数对这一智能优化算法的性能进行测试。测试结果表明:与其它经典智能优化算法及其改进算法相比,对于所有测试函数,该算法的收敛速度均达到与它们一致或优于它们。
3、在算法控制参数方面,该算法只有一个控制参数——群体数量。相较其它经典与改进的智能优化算法有较多控制参数,而且其性能与其控制参数相关,本算法体现了较强优势。
4、在算法可靠性方面,利用这领域中经典的测试函数对这一智能优化算法的性能进行测试。测试结果表明:在50次不同随机初始化下,本算法均未出现偏离全局最优点的例外。相较其它经典与改进的智能优化算法在不同随机初始化下会出现例外性收敛,表明该算法收敛性能的方差指标较好,有较高的可靠性。
附图说明
图1为本发明的算法流程图;
图2为本发明实施例1使用测试函数的分布图;
图3本发明实施例1中算法搜索到最优值的收敛迭代图;
图4本发明实施例2使用测试函数的分布图;
图5本发明实施例2中算法搜索到最优值的收敛迭代图。
具体实施方式
为了说明该算法的实施情况,分别选取一个多模态函数与一个单模态函数的优化为实例进行说明。
实施例1:实施过程参见图1,图2,图3所示。具体如下:
一个待优化的目标函数为:
其是一个包含大量局部最优点的多模态函数,定义域为[-600,600]n,而其全局最优值为0,其二维分布如图2所示。本算法将在定义域设定的搜索空间内,以均匀分布随机定位每个粒子的初始位置,随后,算法将引导群体中的所有粒子收敛到全局最优点。
参见图1,所述搜索算法的具体步骤如下:
s1)、将m个粒子基于均匀分布在搜索空间进行初始化随机定位;
其中,
s2)、对于群体中的每个粒子i,在搜索空间rn中,以均匀分布方式随机选取两个维度p,q,构建搜索子空间r2。在此搜索子空间,每个粒子利用单形邻域搜索算子和多角色态搜索策略搜索新位置,定义如下:
其中,
s3)、对于群体中的每个粒子i,利用步骤s2在搜索子空间r2搜索到的4个新中心角色位置:
s4),根据适应度函数f(x)评价每个粒子的优劣,确定每个粒子的三个角色态:中心角色态,开采角色态,勘探角色态,定义分别如下:
中心角色态——以贪婪性为原则,定义为每个粒子搜索到的最优位置:xic(t+1)。
开采角色态——以最近性为原则,定义为每个粒子搜索到的最新位置,即:
xil(t+1)={xic1(t+1),xic2(t+1),xic3(t+1),xic4(t+1)}(21)
勘探角色态——以均匀分布的随机性为原则,定义为每个粒子以均匀分布在搜索空间随机定位的位置:xig(t+1)。
s5),记录群体中最优粒子的位置:xoc(t+1),返回s2),开始下一个搜索周期,直至群体中粒子收敛到最优位置,即群体中最优粒子的位置稳定不变到给定精度。
图3展示了本实例中,群体数量分别为20与30时,发明算法收敛到优化目标函数最优点的进化曲线,其中,横坐标为迭代次数,纵坐标为每次迭代搜索到最优值(为了体现搜索到最优值的精度,对搜索到最优值取了以10为底的对数)。从该进化曲线可以看出:随着迭代次数增加,算法逐步收敛到全局最优点,精度为10-16。
实施例2:实施过程参见图1,图4,图5所示。具体如下:
一个待优化的目标函数为:
其是一个包含大量局部最优点的多模态函数,定义域为:[-100,100]n,而其全局最优点为:0,其二维分布如图4所示。本算法将在定义域搜索空间内以均匀分布随机定位每个粒子的初始位置,随后,算法将引导群体中的所有粒子收敛到全局最优点。
参见图1,所述搜索算法的具体步骤如下:
s1)、将m个粒子基于均匀分布在搜索空间进行初始化随机定位;
其中,
s2)、对于群体中的每个粒子i,在搜索空间rn中,以均匀分布方式随机选取两个维度p,q,构建搜索子空间r2。在此搜索子空间,每个粒子利用单形邻域搜索算子和多角色态搜索策略搜索新位置,定义如下:
其中,
s3)、对于群体中的每个粒子i,利用步骤s2在搜索子空间r2搜索到的4个新中心角色位置:
s4),根据适应度函数f(x)评价每个粒子的优劣,确定每个粒子的三个角色态:中心角色态,开采角色态,勘探角色态,定义分别如下:
中心角色态——以贪婪性为原则,定义为每个粒子搜索到的最优位置:xic(t+1)。
开采角色态——以最近性为原则,定义为每个粒子搜索到的最新位置,即:
xil(t+1)={xic1(t+1),xic2(t+1),xic3(t+1),xic4(t+1)}(32)
勘探角色态——以均匀分布的随机性为原则,定义为每个粒子以均匀分布在搜索空间随机定位的位置:xig(t+1)。
s5),记录群体中最优粒子的位置:xoc(t+1),返回s2),开始下一个搜索周期,直至群体中粒子收敛到最优位置,即群体中最优粒子的位置稳定不变到给定精度。
图5中展示本实例中,群体数量分别为20与30时,发明算法收敛到优化目标函数最优点的进化曲线,其中,横坐标为迭代次数,纵坐标为每次迭代搜索到最优值(为了体现搜索到最优值的精度,对搜索到最优值取了以10为底的对数)。从该进化曲线可以看出:随着迭代次数增加,算法逐步收敛到全局最优点,精度为10-60。
为了更能直观清楚的表示本发明的效果,下面列举出14个经典评价函数,如表1所示。利用本发明算法对这些评价函数在matlab平台下进行实例测试,记录了反映算法收敛速度的算法迭代次数指标,反映算法收敛精度的最优值平均值指标,反映算法收敛稳定性的最优值方差指标,结果如表2和表3。表中同时与其它算法——快速进化规划算法(fep)和正交遗传算法(oga/q)的性能指标进行了对比。
综合分析表1,表2,表3的数据,说明本发明算法无论在收敛速度,收敛精度,收敛稳定性方面均具有较好的优势。
表1:算法测试函数
表2:算法性能比较
表3:算法性能比较
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。