您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页遗传算法实验报告

遗传算法实验报告

来源:尚车旅游网
浙工大机械学院-遗传算法实验报告

实验一 二进制编码函数优化

一、实验目的

根据给出的数学模型,利用遗传算法求解,并用C语言编程实现。采用二进制编码方式,通过不断调整种群规模、进化代数、交叉因子和变异因子等参数,对目标函数进行优化求解。重点:掌握二进制编码的编程过程。

二、实验仪器

Acer Aspire V5-472G,Windows 7 旗舰版,64位操作系统 Intel(R) Core(TM) i5-3337 CPU @1.8GHz 1.80 GHz Microsoft Visual C++ 6.0 Microsoft Office Excel 2016

三、实验内容及步骤

采用二进制编码方式优化如下测试函数: (1) De Jong函数F1:

极小点f1(0, 0, 0)=0。 (2) De Jong函数F2:

极小点f2(1,1) = 0。 (3) De Jong函数F3:

对于xi[5.12,5.0]区域内的每一个点,它都取全局极小值f3(x1,x2,x3,x4,x5)30。要求:对每一个测试函数,分析不同的种群规模(20~100)、交叉概率(0.4~0.99)和变异概率(0.0001~0.1)对优化结果的影响,试确定最佳参数组合。

1

浙工大机械学院-遗传算法实验报告

四、实验报告

(1) 根据De Jong函数F1:

极小点 f1(0, 0, 0)=0。

给定Cmax=100,MaxGeneration=100,在此基础上改变A:Popsize(20、60、100)、B:Pc(0.3、0.6、0.9)、C:Pm(0.1、0.05、0.001)等参数,设计一个3因素3水平的正交实验,根据正交实验表进行实验。将正交实验因素和实验结果整合成一个正交实验表,如表1.1.1所示。其中M表示best达到0的最小迭代数,N代表Average的收敛性,收敛为1,不收敛为0。对实验结果M、N两项参数进行分析,得到均值响应表,如表1.1.2所示。 实验编号 A Popsize 1 2 3 4 5 6 7 8 9 60 60 60 100 100 100 20 20 20 实验因素 B Pc 0.3 0.6 0.9 0.3 0.6 0.9 0.3 0.6 0.9 C Pm 0.1 0.05 0.001 0.001 0.1 0.05 0.05 0.001 0.1 M 18 41 51 76 65 22 8 86 58 实验结果 N 0 0 1 1 0 0 0 1 0 表1.1.1 函数F1正交实验表

2

浙工大机械学院-遗传算法实验报告

平均值1 平均值2 平均值3 A 36.67 54.33 50.67 M B 34 64 43.67 C 47 23.67 71 A 0.33 0.33 0.33 N B 0.33 0.33 0.33 C 0 0 1 表1.1.2 函数F1均值响应表

通过分析均值响应表,得到较优的组合为A1B1C2和A1B1C1。下面分别进行分析:A1B1C2,即Cmax=100,MaxGeneration=100,Popsize=60, Pc=0.3,Pm=0.05。A1B1C1,即Cmax=100,MaxGeneration=100,Popsize=60, Pc=0.3,Pm=0.1。曲线分别如图1.1.1 和1.1.2所示。

图1.1.1 A1B1C2 图1.1.2 A1B1C1

可以看到,A1B1C2和A1B1C1分别在第6代和第9代存在最优解,但是两种情况的Average均存在较大波动且无法收敛,故均不是最佳方案。下面分析A1B1C3,其图像如1.1.3所示。

图1.1.3 A1B1C3

3

浙工大机械学院-遗传算法实验报告

从图1.3中可以看到,此时在第8代时存在最优解,在20代时发生突变,在41代时收敛于0。故最后确定的参数组合为:Popsize=60,Pc=0.3,Pm=0.001,初步判断变异概率和交叉概率对最优解的影响最大。

(2) 根据De Jong函数F2:

极小点f2(1,1) = 0。

根据函数要求在原始Main函数上进行修改,并进行正交实验,方法和求解De Jong函数F1时类似。给定Cmax=100,MaxGeneration=100,在此基础上改变A:Popsize(20、60、100)、B:Pc(0.3、0.6、0.9)、C:Pm(0.1、0.05、0.001)等参数,设计一个3因素3水平的正交实验,根据正交实验表进行实验。正交实验表如表1.2.1所示,均值相应表如表1.2.2所示。 实验编号 A Popsize 1 2 3 4 5 6 7 8 9 20 20 20 60 60 60 100 100 100 实验因素 B Pc 0.3 0.6 0.9 0.3 0.6 0.9 0.3 0.6 0.9 C Pm 0.1 0.05 0.001 0.05 0.001 0.1 0.001 0.1 0.05 M 24 67 41 5 18 14 12 1 17 实验结果 N 0 0 1 0 1 0 0 0 0 表1.2.1 函数F2正交实验表

平均值1 平均值2 平均值3 A 44 12.33 10 M B 13.67 28.67 24 C 13 29.67 23.67 A 0.33 0.33 0 N B 0 0.33 0.33 C 0 0 0.67 表1.2.2 函数F2均值响应表

4

浙工大机械学院-遗传算法实验报告

比较下挑选出A3B1C1为最优解,即数据为Popsize=100,Pc=0.3,Pm=0.1进行尝试,发现该情况的Average均存在较大波动且无法收敛,故进行次优方案A2B1C3,即数据为Popsize=60,Pc=0.3,Pm=0.001情况,得到最优解曲线如图1.2.1所示(最佳个体曲线由于过小且波动不明显,故在图中难以看出),在该情况下,在第11代时存在最优解,在23代时发生突变,在16代时收敛于0。

图1.2.1 A2B1C3

(3) 根据De Jong函数F3:

对于xi[5.12,5.0]区域内的每一个点,它都取全局极小值

f3(x1,x2,x3,x4,x5)30。

采用同(1)和(2)一样的正交试验方法,给定Cmax=100,MaxGeneration=100,最后对比得出最优解组合参数为:Popsize=20,Pc=0.3,Pm=0.001,并得到其曲线图如图1.3.1所示。在该情况下,在第12代时存在最优解,未发生突变,在51代时收敛于-25。

图1.3.1 函数F3最优解时的曲线图

5

浙工大机械学院-遗传算法实验报告

实验二 实数编码函数优化

一、实验目的

根据给出的数学模型,利用遗传算法求解,并用C语言编程实现。采用二进制编码方式,通过不断调整种群规模、进化代数、交叉因子和变异因子等参数,对目标函数进行优化求解。重点:掌握二进制编码的编程过程。

二、实验仪器

Acer Aspire V5-472G,Windows 7 旗舰版,64位操作系统 Intel(R) Core(TM) i5-3337 CPU @1.8GHz 1.80 GHz Microsoft Visual C++ 6.0 Microsoft Office Excel 2016

三、实验内容及步骤

采用实数编码方式优化如下测试函数: (1) De Jong函数F1:

极小点f1(0, 0, 0)=0。 (2) De Jong函数F2:

极小点f2(1,1) = 0。 (3) De Jong函数F3:

对于xi[5.12,5.0]区域内的每一个点,它都取全局极小值f3(x1,x2,x3,x4,x5)30。 要求:对每一个测试函数,分析不同变异方式(均匀变异、非均匀变异、自适结果)

6

浙工大机械学院-遗传算法实验报告

四、实验报告

(1) 指定Cmax=100,MaxGeneration=100,PopSize=100,Pc=0.7,Pm=0.001。再对该函数分别进行均匀变异、非均匀变异、自适应变异等三种不同变异方式的运算结果,结果分别如图2.1.1、2.1.2、2.1.3所示。

图2.1.1 图2.1.2

图2.1.3

根据运算结果,三种编译过程均没有出现明显波动,虽然从图中不明显能看出,但通过观察数据,自适应变异更快的达到最优解。

(2) 指定Cmax=100,MaxGeneration=100,PopSize=100,Pc=0.7,Pm=0.001。再对该函数分别进行均匀变异、非均匀变异、自适应变异等三种不同变异方式的运算结果,结果分别如图2.2.1、2.2.2、2.2.3所示。

图2.2.1 图2.2.2

7

浙工大机械学院-遗传算法实验报告

图2.2.3 图2.3.1

根据运算结果,三种编译过程均没有出现明显波动,从最佳个体出发分析,三种变异差别不大;从Average出发分析,虽然从图中不明显能看出,但通过观察数据,自适应变异方式更佳。

(3) 指定Cmax=100,MaxGeneration=100,PopSize=100,Pc=0.7,Pm=0.001。再对该函数分别进行均匀变异、非均匀变异、自适应变异等三种不同变异方式的运算结果,结果分别如图2.3.1、2.3.2、2.3.3所示。

图2.3.2 图2.3.3

根据实验结果,可能是交叉概率和变异概率选的有问题,三种情况的最佳个体从一开始就是-19,保持不变;并且从均值出发从图中也看不出明显特征。通过Excel数据看出自适应变异方式下的运行结果相对较合理,比较接近最优解。

8

浙工大机械学院-遗传算法实验报告

实验三 排列方式编码优化旅行商问题

一、实验目的

针对实际的旅行商问题(Traveling Salesman Problem),试着将它抽象成数学模型,并用遗传算法对其编程求解,旨在求得最佳的旅行行走路线。

二、实验仪器

Acer Aspire V5-472G,Windows 7 旗舰版,64位操作系统 Intel(R) Core(TM) i5-3337 CPU @1.8GHz 1.80 GHz Microsoft Visual C++ 6.0 Microsoft Office Excel 2016

三、实验内容及步骤

用遗传算法求解旅行商问题(给出若干个城市,以及任意两个城市之间的距离。给定从某一个城市出发,确定旅行商行走路线,使得最后回到原点的路线长度最短),其中城市随处位置的横坐标与纵坐标如表3.1所示。

序号

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 横坐标 216 497 360 860 115 564 775 651 225 245 821 991 842 463 84 纵坐标 420 657 170 346 638 390 569 483 60 926 383 511 486 394 545 序号 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 横坐标 310 215 315 327 443 377 287 957 620 818 550 298 572 41 555 纵坐标 291 782 192 121 30 335 128 37 871 310 401 36 787 892 855

表3.1 城市序号及对应坐标位置

要求采用部分映射交叉算子和互换变异算子。分析不同参数组合对结果的影响。

9

浙工大机械学院-遗传算法实验报告

四、实验报告

给定Cmax=20000,MaxGeneration=800,在此基础上改变A:Popsize(20、60、100)、B:Pc(0.3、0.6、0.9)、C:Pm(0.1、0.05、0.001)等参数,设计一个3因素3水平的正交实验,根据正交实验表进行实验。将正交实验因素和实验结果整合成一个正交实验表,如表3.1.1所示。其中P表示Average,Q代表Best。 实验编号 A Popsize 1 2 3 4 5 6 7 8 9 20 20 20 60 60 60 100 100 100 实验因素 B Pc 0.3 0.6 0.9 0.3 0.6 0.9 0.3 0.6 0.9 C Pm 0.1 0.05 0.001 0.05 0.001 0.1 0.001 0.1 0.05 实验结果 P(Mean) Q(Mean) 7553.762 7698.246 9816.317 8038.246 7532.125 8364.698 9182.205 8623.891 8244.962 7247.221 7823.008 9768.872 7566.468 7296.765 6776.764 8996.051 7056.263 6721.96 通过多次对比试验,得出相对较好的参数组合为:PopSize=20,Pc=0.6,Pm=0. 001,此时的P=7226.067,Q=6854.576。曲线如图3.1.1所示。

图3.1.1

得到的最有路径为:15→21→2→18→19→26→8→17→20→11→12→6→27 →29→23→16→9→28→4→14→13→25→5→22→24→3→10→7→1。

10

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务