法,实际上它的功能十分强大,能够用于求解一些难以用常规数学手段进行求解的问题,尤其适用于求解多目标、多约束,且目标函数形式非常复杂的优化问题。但是遗传算法也有一些缺点,最为关键的一点,即没有任何理论能够证明遗传算法一定能够找到最优解,算法主要是根据概率论的思想来寻找最优解。因此,遗传算法所得到的解只是一个近似解,而不一定是最优解。(2)数学模型
对于求解该问题遗传算法的构造过程:(1)确定决策变量和约束条件;
fMATLAB课程遗传算法实验报告及源代码
(2)建立优化模型;(3)确定编码方法:用2个实数分别表示两个决策变量,分别将的定义域离散化为从离散点512到离散点512的Size个实数。(4)确定个体评价方法:个体的适应度直接取为对应的目标函数值,即
Fxfx1x2x3设计遗传算子:选择运算使用比例选择算子,交叉运算使用单点交叉算
子,变异运算使用基本位变异算子(6)确定遗传算法的运行参数:群体大小M500,终止进化代数G200,交叉概率
Pc090,采用自适应变异概率即变异概率与适应度有关,适应度越小,变异概率越大。简化数学模型:基本遗传算法可定义为一个7元组:GA=MFscmpcpmM群体大小;F个体适应度评价函数;s选择操作算于;c交叉操作算子:m变异操作算于;pc交叉概率;pm变异概率;
三、实验过程记录(含基本步骤、程序代码及异常情况记录等)(60分)
基本步骤:
第一步:确定决策变量及各种约束条件,即确定出个体的表现型X和问题的解空间;第二步:建立优化模型,即确定出目标函数的类型及数学描述形式或量化方法;第三步:确定表示可行解的染色体编码方法,即确定出个体的基因型x及遗传算法的搜索空间;第四步:确定解码方法,即确定出由个体基因型x到个体表现型X的对应关系或转换方法;第五步:确定个体适应度的量化评价方法,即确定出由目标函数值到个体适应度的转换规则;
fMATLAB课程遗传算法实验报告及源代码
第六步:设计遗传算子,即确定选择运算、交叉运算、变异运算等遗传算子具体操作方法。
第七步:确定遗传算法有关运行参数,即MGPcPm等参数。
程序代码:
程序1:主程序
程序源代码主程序:用遗传算法求解函数优化问题。函数名称存储为mai
m清空环境clcclear
遗传算法参数maxge
30sizepop100pcross06pmutatio
001le
chrom111
进化r