摘 要: 采用MATLAB的遗传算法,利用强大的数学计算能力和遗传工具箱,在全局搜索空间内寻找极值点,能够有效地对多元多峰值函数进行优化,避免了利用传统优化方法在多元多峰值函数优化过程中陷入局部极值点的优化误区。同时简要介绍了遗传算法的特点、流程和优化工具箱,通过实际编程优化,说明基于MATLAB的遗传算法是一种具有良好的全局寻优的优化工具。
关键词: 遗传算法;全局寻优;多元多峰值函数优化
多元多峰值函数[1-2]在定义域内有多个局部极值点,许多传统的优化方法都是单点搜索,这种点对点的搜索方法,对于多元多峰值函数的搜索空间常常会陷入局部的某个单峰的极值点。相反,遗传算法同时对群体中多个个体进行并行处理[3],即同时对搜索空间中的多个解进行评估,在搜索过程中能以很大的概率找到全局最优。遗传算法提供了一种求解非线性、多模型、多目标等复杂系统优化问题的通用框架,它不依赖问题领域的具体性,已广泛应用于众多工程领域,用以解决多变量、多目标、多峰值等约束的优化问题。
1 遗传算法
1.1 遗传算法的优点
(1)遗传算法采用不确定性规则,强调利用概率转换规则[4]来引导搜索过程;
(2)遗传算法随机产生多个初始点,通过选择、交叉和变异三种遗传操作产生下一代种群;
(3)遗传算法具有较高的搜索能力和极强的鲁棒性;
(4)遗传算法采用概率的变迁规则来指导其搜索方向[5],对一个被编码的参数空间进行高效搜索;
(5)遗传算法是一个多学科相结合与渗透的产物,其研究方向极其广泛。
1.2 遗传算法运算流程
完整的遗传算法的运算流程可以用图1来描述。可以看