遗传算法用于函数优化求解.docxVIP

  • 1
  • 0
  • 约6.76千字
  • 约 13页
  • 2026-01-23 发布于江苏
  • 举报

遗传算法用于函数优化求解

一、实验目的

本实验要求在掌握遗传算法的基本思想、原理和算法流程的基础上,能够针对指定的单变量优化目标函数,设计相应的遗传算法优化程序,并求得全局最优解。

二、实验要求

针对目标函数,设计利用遗传算法进行优化求解的程序,绘制迭代过程中最优解的变化情况,并分别改变算法中的编码位数、种群规模、交叉和变异概率,分析这些变量对算法精度及收敛性的影响。

三、实验步骤

1、初始化种群,确定种群规模M=20,编码位数n=5和编码机制(二进制编码);

初始化种群:E=round(rand(M,n));

每个编码对应的二进制数值:为第i位二进制代码;

二进制数y转换为十进制数x:;

2、根据给定的目标函数,计算各个种群的适应度值;

3、采用轮盘选择法对种群进行选择复制;

4、设定交叉概率为0.9,进行遗传操作(交叉);

5、设定变异概率0.05,进行遗传操作(变异);

6、产生下一代种群,与终止条件比较,不满足返回到步骤2直到满足条件退出。

算法的流程如图7.1所示。

N

N

Y

结束

输出结果

迭代次数达上限?

开始

初始化种群(编码)

计算适应度函数

交叉、变异

选择、复制

达到系统指标?

图7.1算法流程图

四、实验结果及分析

我们采用遗传算法来寻求目标函数的最大值。初始化样本个数为20个,编码位数为5位,采用二进制编码,交叉概率为0.9,变异概率为0.05,最大迭代次数为1000次,初始样本随机选择,当父代与子代间适应度变化小于0.001时,达到系统指标。MATLAB模拟运行输出迭代种群的平均适应度变化、种群的最优解与最差解,绘出图像(见图1),计算运行时间的平均值(见表1),由表可知,平均运行时间约为0.65秒左右,速度较快。由图可知,前期平均适应度是不断上升的,到达一定程度后即平均适应度在0.9以上后,就基本处于波动平衡状态。

表2

次数(M=10)

第一次

第二次

第三次

第四次

第五次

平均

时间(s)

0.570

0.654

0.611

0.590

0.589

0.6028

最大值

0.9648

0.9648

0.9375

0.9961

0.9023

0.9531

最小值

0.9648

0.8086

0.9375

0.9844

0.9023

0.91952

图SEQ图\*ARABIC3

表3

次数(M=200)

第一次

第二次

第三次

第四次

第五次

平均

时间(s)

0.736

0.680

0.798

0.798

0.715

0.7454

最大值

1

1

1

1

1

1

最小值

0.1211

0.2344

0.5273

0

0

0.17656

初始种群的规模为20,降低交叉的概率为0.4,其他参数不变,多次运行程序,观察结果(见图4,表4)。对比交叉概率为0.9的情况(见图1,表1),发现种群平均适应度的变化曲线没有太大差别,都是波动上升的,所用时间差别也不大,都为0.64s左右,最终获得的最大值也差别不大,唯一差别较大的是最终获得的最小值,交叉概率低的最小值大于交叉概率高的最小值。这是因为子代是由父代中适应度高的个体进行交叉变异而来,变异概率极低(0.05),可忽略,当交叉概率低时,子代个体基本是由父代中适应度高的个体(即目标函数值大的个体)复制粘贴而来,所以最终获得的最小值比较大,而交叉概率高时,子代个体多是由父代优秀个体交叉变换而来,可能会使某些子代适应度稍微降低,某些又稍微升高,所以相比交叉概率低的时候,最终获得的最小值比较小。

图SEQ图\*ARABIC4

表4

次数

第一次

第二次

第三次

第四次

第五次

平均

时间(s)

0.648

0.620

0.670

0.621

0.644

0.6406

最大值

0.9961

0.9844

0.9961

0.9844

1

0.9922

最小值

0.9375

0.8594

0.9375

0.8594

0.8594

0.89064

初始种群的规模为20,交叉的概率为0.9,变异概率增加至0.5,其他参数不变,多次运行程序,观察结果(见图5,表5)。由图5发现,平均适应度一直处于在0.7和0.9之间上下剧烈波动的情况,没有不断上升的趋势,说明变异几率太大,导致种群无法收敛于一个稳定的最佳状态,由表5可知,改变变异概率对运行时间,最终能达到的最大值影响不大,但影响了最小值,因为变异的概率高,所以种群不断地有适应度极低的变异个体出现,所以最终的最小值较小,但也导致了种群无法收敛的情况。由此可知,变异概率不能太大,不然种群无法收敛到最优解附近。

图SEQ图\*ARABIC5

表5

次数

第一次

第二次

第三次

第四次

第五次

平均

时间(s)

0.669

0.615

0.632

0.623

0.648

文档评论(0)

1亿VIP精品文档

相关文档