【文件属性】:
文件名称:单机遗传算法求解多峰函数极值-文本数据可视化表示
文件大小:685KB
文件格式:PDF
更新时间:2021-06-16 03:42:31
hadoop
2.1 Shubert多峰函数
多峰函数是指存在多个峰值点的函 数。本 文
以Shubert函数[8]为例,该函数是一个典型的多峰
函数。根据 Matlab的 分 析,在-10到10的 区 间
上,该函数 有760个 局 部 最 大 值,18个 全 局 最 大
值。其 Matlab的仿真图如图1所示,函 数 形 式 如
下:
f(x,y)=∑
5
i=1
i cos[(i+1)x+i]×
∑
5
i=1
i cos[(i+1)y+i],
-10<x<10,-10<y<10
Figure 1 Shubert function simulation
图1 Shubert函数仿真图
在实际应用中,对于具有多个峰值的函数往往
要求取全局最大值及备选的局部最大值,而传统求
极值算法通常效率缓慢,准确率低,且容易陷入局
部最优的困境。
2.2 单机遗传算法求解多峰函数极值
遗传算法是借鉴生物进化过程发展而来的一
种全局搜索寻优策略,相比较其他传统寻优算法,
更加适合解决多峰函数求极值问题。
多峰函数求极值的单机GA算法具体流程(见
图2)如下所示:
(1)种 群 初 始 化:随 机 产 生 -10~10 的
200 000对随机 数,然 后 映 射 到0~2 048,生 成22
位二进制编码,不足的部分首位补0。
(2)计算适应度:考虑到个体适应度为非负值,
对Shubert函数做线性非负转换,计算出个体所对
应的适应度。
112刘 鹏等:基于Spark的并行遗传算法求解多峰函数极值