基于遗传算法的函数寻优算法

2015-05-30 10:23沈晓芳
课程教育研究 2015年3期
关键词:遗传算法

沈晓芳

【摘要】遗传算法对问题的依赖性小,是一种全局优化算法,可用于函数寻优。本文利用Maflab优化工具箱,有效地实现了用遗传算法求解函数优化问题,实验结果表明该算法收敛速度快,寻优性能良好。

【关键词】遗传算法 函数寻优 目标函数

【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2015)03-0152-01

遗传算法(Genetic Algorithm,GA)起始于20世纪60年代,主要由美国密执根大学的John Holland与同事和学生研究形成了较为完整的理论和方法,是一种重要的现代优化算法。遗传算法对问题的依赖性小,是一种全局优化算法,所以在很多领域获得了广泛的应用。

遗传算法基本思想:将“优胜劣汰,适者生存”的生物进化思想引入优化参数形成的编码串联群体中,按所选择的适配值函数并通过遗传中的选择、交叉及变异对个体进行筛选,使适配值高的个体被保留下来,组成新的群体,这样周而复始,群体中的个体适应度不断升高,直到满足一定的条件。遗传算法的一个重要应用是函数寻优,该算法对于寻优的函数基本无限制,既不要求函数连续,更不要求函数可微;既可以是函数解析式所表达的显函数,又可以是映射矩阵等隐函数,应用范围很广。

一、遗传算法的实现

1.遗传算法的应用步骤

(1)确定决策变量及各种约束条件,即确定出个体的表现型和问题的解空间。(2)建立优化模型,即确定出目标函数的类型及数学描述形式或量化方法。(3)确定表示可行解的染色体编码方法,即确定出个体的基因型及遗传算法的搜索空间。(4)确定解码方法,即确定出由个体基因型到个体表现型的对应关系或转化方法。(5)确定个体适应度的量化评价方法,即确定出由目标函数值到个体适应度函数的转换规则。(6)设计遗传算子,即确定选择运算、交叉运算、变异运算等算子的具体操作方法。(7)确定遗传算法的有关运行参数。

2.遗传算法的操作

图1 遗传算法操作流程图

3.遗传算法工具箱

谢菲尔德(Sheffield)遗传算法工具箱是英国谢菲尔德大学开发的遗传算法工具箱,是用Matlab语言编写的m文件,为用户提供很多实用函数。常用函数:crtrp,crtbp(创建初始种群);ranking(适应度计算)select(選择函数);xovsp(单点交叉);mutate(变异函数)Bs2rv(二进制转换到实值)等等。

二、遗传算法应用举例

1.利用遗传算法计算以下函数的最小值

f(x)=■,x∈[1,2] (1)

(1)选择二进制编码,遗传算法参数设置如表1所示

表1:参数设置表

(2)仿真结果如图2

图2:目标函数图及最优解的进化过程

函数优化问题是遗传算法的经典应用领域,也是对遗传算法进行性能评价的常用算例.Matlab软件工具箱,是整个Matlab体系的基座。在Matlab环境中用遗传算法实现函数优化问题,能有效地收敛到全局最优值,寻优性能良好。

参考文献:

[1]孙增祈,邓志东,张再兴.智能控制理论与技术[M].第二版.清华大学出版社,2011.

[2]蒋冬初,何飞,向继文.遗传算法求解函数优化问题的Matlab实现[J].吉首大学学报. 2005,26(2):98-100.

[3]刘勇,刘宝坤,李光泉.基于Maflab平台的遗传算法工具包[J].天津大学学报.2001,34(4):48—51.

猜你喜欢
遗传算法
遗传算法对CMAC与PID并行励磁控制的优化
基于自适应遗传算法的CSAMT一维反演
基于遗传算法的建筑物沉降回归分析
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
遗传算法识别模型在水污染源辨识中的应用
协同进化在遗传算法中的应用研究
软件发布规划的遗传算法实现与解释
基于遗传算法的三体船快速性仿真分析
基于改进的遗传算法的模糊聚类算法