Matlab遗传算法工具箱函数及应用实例
机械工程师
!""#$!!
!"#$"%遗传算法工具箱函数及应用实例
于
玲!!
贾春强"
"!#沈阳化工学院机械工程学院!辽宁沈阳!!$!%"#"&大连理工大学机械工程学院!辽宁大连!!’$"($摘要%基于!"#$"%语言的遗传算法工具箱支持二进制和浮点数编码方式!并且提供了多种选择&交叉&变异的方法’通过具体实例对!"#$"%的遗传算法工具箱的用法进行了说明介绍(关键词%)*+,*-#遗传算法#工具箱#优化中图分类号%./(0!&12
文献标识码%3
文章编号%!$$"4"(((""$$%)!!4$$"14$"
&’()#*+(,"(-./"01$2,*(!"#$"%345++$%+/
678*(9:!;<4=>’(?@*"(9A
5!#67899,9:);78*<=7*,><?=<;;@=<?A68;<B*<?C<D+=+E+;9:F8;G=7*,.;78<9,9?BH68;<B*<?!!I!%"HF8=<*J
"#67899,9:);78*<=7*,><?=<;;@=<?HK*,=*<L<=M;@D=+B9:.;78<9,9?BHK*,=*<!!’I"(HF8=<*N
4%,#B")#C.8;O;<;+=73,?9@=+8G.99,-9P-*D;Q9<)*+,*-DERR9@+D+8;-=<*@B*<Q:,9*+H*<Q+8;@;*@;+8;;P7;,,;<+9R;@*+9@D9:D;,;7+=9<H7@9DD9M;@*<QGE+*+=9<=<+8;.99,-9PH+S9;P*GR,;D*-9E+89S+9ED;+8;.99,-9P*@;=<+@9QE7;Q=<+8=DR*R;@#C+=D+98;,R@;*Q;@D=GR@9M;+8;*-=,=+B+9*<*,BT;+8;UE;D+=9<*<QD9,M;R@9-,;GED=<?+8;.99,-9P#D2EF+B-,CG*+,*-J?;<;+=7*,?9@=+8GJ+99,-9PJ9R+=G=T*+=9<
:遗传算法与!"#$"%语言
表A
%4=12>0?"$@A0?"$(5>>#"6#34545#>
变量上下界矩阵!矩阵的行数确定变量个数适应度函数
传递给适应度函数的参数!默认值为+ALMM,初始种群
选项(一个向量+05>G$41/564%N45>/2G>5$"O,!这里05>G$41表示两代之间的差距#564%N45>取F表示二进制编码!取
!"#$"%是一种开放式软件!经过一定的程序可以将开
发的优秀的应用程序集加入到!"#$"%工具的行列(这样!许多领域前沿的研究者和科学家都可以将自己的成果集成到!"#$"%之中!被全人类继承和利用(因此!!"#$"%中含有诸多的面向不同应用领域的工具箱!例如%信号处理工具箱&图像处理工具箱&通信工具箱&系统辨识工具箱&优化工具箱&鲁棒控制工具箱&非线性控制工具箱等!而且工具箱还在不断地扩展之中(
E表示浮点数编码#2G>5$"O控制运行中是否输出当前群体和最好结果!取F表示运行中不输出!取E表示运行中输出(默认值为+E0PQ/E/F,
A遗传算法工具箱的函数及其功能
目前!国内图书市场上有关!"#$"%方面的书籍要么
#06,@A终止函数的名称!默认值为+R,".&01)06,R,
#06,(5>传递给终止函数的参数!默认值为+REFFR,>0$07#@A选择函数的名称!默认值为+R146,&04,S0$07#R,>0$07#(5>传递给选择函数的参数!默认值为+RF+FTR,
.(?06@A交叉函数名称表!以空格分开!浮点数编码默认值为
+R/"6G#UV4?06/U0=6G>#G7V4?06/>G,5$0V4?06R,!二进制编码默认值为+R>G,5$0V4?06R,
侧重于!"#$"%语言编程介绍!要么侧重于各种工具箱函数的解说!而对怎样用工具箱函数来解决实际问题鲜有涉及(本文将对遗传算法工具箱函数进行说明介绍(
遗传算法工具箱&’()包括了许多实用的函数!这些函数按照功能可以分为以下几类%
.(?06(5>传递给交叉函数的参数表!浮点数编码默认值为+RW/F#W/
C#W/FR,!二进制编码默认值为+F+Q,
,=#@A
变异函数名称表!以空格分开!浮点数编码默认值为+R%4=12"6O!=#"#G41/+R%G1"6O!=#"#G41R,
!"#主界面函数
主程序*"+,提供了遗传算法工具箱与外部的接口(
它的函数格式如下%
,=$#GA41L1G9!=#"#G41141/
-./012345/%345/#6"708194:;*"<%4=12>!0?"$@A!0?"$(5>!>#"6#345!45#>!#06,@A!#06,(5>!>0$07#@A!>0$07#(5>!.(?06@A>!.(?06(5>!,=#@A>!,=#(5>B
输出参数
表:
.012345%345
求得的最优解!包括染色体和适配度最终得到的种群最优种群的搜索轨迹
L1G9!=#"#G41=P1G9!=#"#G41R,!二进制编码默认值为
,=#(5>
传递给变异函数的参数表!浮点数编码默认值为+J/F#Q/
EFF/C#J/EFF/C#J/F/F,!二进制编码默认值为+F+FH,
!"!G$%&
核心函数及其它函数具体见表C(
遗传算法工具箱应用实例无约束优化问题
利用遗传算法计算函数’<(B;(DEF*>G1<H(BDI*74><J(B/
#6"708194每一代的最好适应度和平均适应度
的最大值!其中(!-F!K:
输入参数
选择二进制编码!种群中的个体数目为EF!二进制编
"1
Matlab遗传算法工具箱函数及应用实例
机械工程师
表"
初始化函数选择函数
!""#$!!
惩罚项的适值函数一般有加法和乘法两种构造方式!本例采用加法形式的适值函数!惩罚函数由两部分构成!
二进制格式和浮点数格式的初始化函数
有序数据的初始化函数常用的轮盘赌法
基于归一化的优先选择法竞争选择法
二进制格式或浮点数格式的交叉函数
有序数据的交叉函数!可以将演化函数组合使用浮点数格式的变异函数主程序I:#/用来判断是否满足终止条件
用来计算遗传算法满足精度要求时!染色体所需要的二进制位数
用来完成二进制数和浮点数之间的相互转换
424.4:74H8I:#/424.4:74H8,I:#/P, …… 此处隐藏:2296字,全部文档内容请下载后查看。喜欢就下载吧 ……