各种优化算法求解函数优化问题1.遗传算法的简单介绍及流程1.1遗传算法的基本原理遗传算法(GeneticAlgorithm,简称GA)是近年来迅速发展起来的一种全新的随机搜索优化算法。与传统搜索算法不同,遗传算法从一组随机产生的初始解(称为群体)开始搜索。群体中的每个个体是问题的一个解,称为染色体。这些染色体在后续迭代中不断进化,称为遗传。遗传算法主要通过交叉、变异、选择运算实现。交叉或变异运算生成下一代染色体,称为后代。染色体的好坏用适应度来衡量。根据适应度的大小从上一代和后代中选择一定数量的个体,作为下一代群体,再继续进化,这样经过若干代之后,算法收敛于最好的染色体,它很可能就是问题的最优解或次优解。遗传算法中使用适应度这个概念来度量群体中的各个个体在优化计算中有可能达到最优解的优良程度。度量个体适应度的函数称为适应度函数。适应度函数的定义一般与具体求解问题有关。1.2遗传算法的流程第一步:确定决策变量及各种约束条件,即确定出个体的表现型和问题的解空间;第二步:确定出目标函数的类型,即求目标函数的最大值还是最小值,以及其数学描述形式或量化方法,建立其优化模型;第三步:确定表示可行解的染色体编码方法,即确定出个体的基因型和遗传算法的搜索空间。第四步:确定解码方法,即确定出个体的基因型和个体的表现型的对应关系或转换方法;第五步:确定个体时候适应度的量化评价方法,即确定出由目标函数值到个体适应度的转换规则;第六步:设计遗传算子,即确定出选择运算、交叉运算、变异运算等遗传算子的具体操作方法;第七步:确定出遗传算法的运行参数,即确定出遗传算法的、、、等参数。1.3遗传算法求解函数优化问题中的参数分析目前,函数优化是遗传算法的经典应用领域,也是对遗传算法进行性能评价的常用范例。对于函数优化中求解实数型变量的问题,一般采用动态编码和实数编码的方法来提高其搜索效率,所以是求解各类函数优化问题比较适合的算法。编码方案在用遗传算法求解函数优化问题时,把解空间中的数据点都映射到遗传中对应的基因型数据,采用二进制编码,在给定函数的变量上下界和编码精度内,求得单个变量的编码长度九,然后随机生成一些固定长度为九的二进制数作为作为初始种群。适应度函数先用解码函数将二进制代码转换为解空间中的数据,把数据带入测试函数中,得到种群中每个个体的适应值,然后以种群中函数值取得最大值的个体的函数值与每个个体的函数值之差,再与最大函数值的倍假设种群粒子数为和种群中所有个体的函数值之和的比值,得到每个个体的适应度。如果求函数最小值问题,则适应度值越大其函数值越小。选择算子遗传算法最常用的选择策略就是正比选择策略,即每个个体被选中进行遗传运算的概率为该个体的适应值和群体中所有个体适应值总和的比例。对于个体i,其适应度值为F.,种群i规模为NP,则该个体的选择概率可以表示为P=F'男Fii=1得到选择概率后,采用旋轮法来实现选择操作,令PP0=0PP=》PPijj=1共转轮NP次,每次转轮时,随机产生geU(0,1),当PP