EDA365电子论坛网

标题: MATLAB遗传算法工具箱简介 [打印本页]

作者: piday123    时间: 2020-9-25 15:40
标题: MATLAB遗传算法工具箱简介

! h8 L0 D& F) m& ^( P: G- h  L* V, y3 w* C! r( V, J$ S
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB软件是一个功能很强大的工具,其中可以使用GA工具箱进行遗传算法的数据优化,下面给出具体的操作简单的实例。
$ Y# Z( Z9 k9 d# r! f% i$ L  k
7 e! z4 f/ x7 A' n2 J) |/ s①利用GUI打开并使用MATLAB遗传算法工具箱。0 r) s- u( v0 c6 N
打开MATLAB选择应用程序,点击Optimization。
8 d) ^) C* l" t; k& x, q
% z; B, [0 _% }4 V
6 v, l' B6 m9 K6 n4 D; ~6 t" i" u& x7 q
打开后显示优化界面第一个solver选择ga; a% B) L% [8 x3 d! \4 E! ?# [
' n( {" a" Y/ w! A/ o+ [/ ^' {
2 O! K% g' v. R) M, r/ s2 v
1 h4 Y# u$ o+ |" u5 V& }
函数(注意是单目标只能有一个函数输出值)的MATLAB代码填入Fitness Funtion,输入变量值为2,其它设置options可以使用自定义,也可以使用默认,这里我的种群设置为200。设置完后点击start
! ?) G# H7 Y3 J# N
( u, H3 s2 i/ s ; X4 o2 ?% `- @2 I% ~  Z$ r
4 J$ Y% _/ R* B" y) N
我优化的函数代码:% L, H  c8 [- C" `6 w
/ p2 U, X( u5 @0 b8 n. C

# _1 K! c, o' _3 V
+ e  W7 T$ r5 a; x常用的options
5 |9 X9 R' h7 f& m" j5 t选项        功能        值
1 D. x. Q6 D' T! oCrossoverFraction        交叉的概率        0-1的小数
* L4 r. N) H$ n# C! c- n% kEliteCount        用于精英原则,
+ o* L  q- D# `- v! Y4 u: F每次遗传中一定会活下来的个体的个数        正整数: @3 l* z, G( H5 {5 r* p
FitnessLimit        适应度的范围        标量/ {-Inf}
6 o8 s& I) f) O# Y) o5 fGenerations        迭代遗传的次数        正整数
9 e6 G0 F7 ]% `( l/ NInitialPopulation        初始种群        可以用上一次遗传生成的种群/ M) o! |9 S* I8 F3 E; V
作为下一次GA的初始种群7 o! m* N3 M9 U- H9 ~4 ^2 A
- Q& g" i) R. U# R( W% T
当然MATLAB官方说这个优化工具箱将在未来的版本中去除,请留意。
, `! _9 k5 G* p* j) {( {% ~6 |0 V; S* S4 L

# S* ^4 C) N0 \! k! ]2 k! Z+ S+ H7 d+ x/ g% s' _2 g; I
②利用命令运行GA工具箱
; t* F  M5 s- ]& n种群大小200
& t/ `: G1 {1 L& P8 {  [精英解的数量20
; F6 M' s& x) f# `交叉率0.75) K7 Z9 i3 ]: o, ^4 n+ a4 g2 ^+ P& Q
迭代次数10008 e7 S, P& F# `" U* }  i8 L6 |
停止代数(stall generations)与适应度函数值偏差(function tolerance)。若在Stallgenerations设定的代数内,适应度函数值的加权平均变化值小于function tolerance,算法停止! k% X% Z, R' Z; Z* L0 Q
3 ~; e" z. U+ V/ O
优化的函数是上面GUI中给出的函数3 E0 w0 m( @: ?: G
2 x3 N- G7 I; w) w( O- {

0 q0 \' d* h; ^5 N1 f
! A4 J& ?1 B. K$ Q, e运行时的结果:
* j- D+ c( k5 C& z  _$ E. |" [- G6 [' Z9 D; N; d7 e3 G) u" _
& p+ P% A4 X; R$ Q

" ^: g2 Z$ X: d
作者: NingW    时间: 2020-9-25 16:35
MATLAB遗传算法工具箱简介




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2