文件名称:单机遗传算法求解多峰函数极值-文本数据可视化表示
文件大小:685KB
文件格式:PDF
更新时间:2024-07-05 21:29:11
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的并行遗传算法求解多峰函数极值