找回密码
 注册
关于网站域名变更的通知
查看: 638|回复: 1
打印 上一主题 下一主题

MATLAB遗传算法工具箱简介

[复制链接]
  • TA的每日心情

    2019-11-20 15:22
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2021-4-13 14:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    9 s2 K) p5 Z$ j. F
    MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB软件是一个功能很强大的工具,其中可以使用GA工具箱进行遗传算法的数据优化,下面给出具体的操作简单的实例。
    6 F# j* d! r6 Z9 k9 c5 g* Q- h/ a
    ; s/ B  @) m- `) e" `①利用GUI打开并使用MATLAB遗传算法工具箱。
    4 y. C: V9 ?: U  ^打开MATLAB选择应用程序,点击Optimization。' _: x0 e) w  a& d5 d9 s5 Z6 X9 a

    & P! `8 l" _; }, f2 s* j$ }+ D
    3 w" n1 l( ^! e3 p& ]
    8 c& Q7 X* g: d% S打开后显示优化界面第一个solver选择ga
    4 K* o) c3 K! [' j
    8 T) |2 b+ H4 s. a+ Y2 u' q# x! Q / f$ }7 K% J. f/ H9 y& Y
    & |. U* L  R8 @& _8 Q

    1 P' S# l/ Y' E" M函数(注意是单目标只能有一个函数输出值)的MATLAB代码填入Fitness Funtion,输入变量值为2,其它设置options可以使用自定义,也可以使用默认,这里我的种群设置为200。设置完后点击start. t2 S: R# h7 L" R, \0 w

      w* K( {, ^( e9 Y/ d4 {! ]6 w . R; F/ f7 ~7 A, C
    # v& m9 Y' ^! D% O
    ' ?% Q( Z1 l1 i: \& E6 G
    我优化的函数代码:
    - j% z' Y; m( Q; j* {! E1 |. q* u+ S! e' |
    • function f=GA_demo(x)
    • f1=4*x(1).^3+4*x(1)*x(2)+2*x(2).^2-42*x(1)-14;
    • f2=4*x(2).^3+4*x(1)*x(2)+2*x(1).^2-26*x(1)-22;
    • f=f1.^2+f2.^2;
      . ^& z% n# S, T# q1 v" p! W
    , v& M+ }! j( v+ ~! O- [: t
    & }* R. X8 a& \& Z" X9 ?$ A5 H( `
    常用的options
    * g5 Y' |6 u7 \
    0 h5 e+ {4 c' d3 Y 1 h5 z8 A+ X- N+ b6 e

      v1 y% A! E9 L. E& |1 q6 [/ V! U( [, N* I0 T2 G, l+ _0 i6 ^
    当然MATLAB官方说这个优化工具箱将在未来的版本中去除,请留意。
    1 u! D! S# p6 ~
    ' G9 \3 R2 F$ A5 ?! S' I7 D
    + @. y( f0 N. I7 n0 ^; D
    : B( Q! ?! S; ^' y0 e2 r5 |( T; b/ q' |6 x, r$ u
    ②利用命令运行GA工具箱
    # d8 n' L6 j5 v3 g种群大小200
    ) P( `/ c! W1 c  \精英解的数量20$ \+ e1 \8 I% W% u
    交叉率0.75
    , X+ Z' N8 T2 l+ Z迭代次数1000
    + U& }; ?3 }  e停止代数(stall generations)与适应度函数值偏差(function tolerance)。若在Stallgenerations设定的代数内,适应度函数值的加权平均变化值小于function tolerance,算法停止5 K- x0 p; l/ W4 C4 r

    ) Q" j2 S8 G, Z( L; [优化的函数是上面GUI中给出的函数
    ) J/ R& b( ]9 y: j0 L( I& c* U
    4 t7 j$ r/ L. j6 c/ z& w" N2 |" w- e3 ^
    • clear
    • clc
    • fitnessfcn = @GA_demo;
    • % 适应度函数句柄
    • nvars = 2;% 个体的变量数目
    • options = gaoptimset('PopulationSize',200,'EliteCount',20,'CrossoveRFraction',0.75,'Generations',1000,'StallGenLimit',500,'TolFun',1e-100,'PlotFcns',{@gaplotbestf,@gaplotbestindiv}); %参数设置
    • [x_best,fval] =ga(fitnessfcn,nvars,[],[],[],[],[],[],[],options);   % 调用ga函数" b. `) e" k8 U" ^# }" W/ D/ \
    * O" c4 U. B! _/ Y5 J2 d

    . g% h6 ~* r; U' ~* [* O0 ]运行时的结果:
    " W: G. H( x8 p3 N* A5 ?' i; v/ }' z6 @" J! f. ]: c
    4 p- j! {+ [- z) r1 x
    , N  f( E' U( P3 ~; a
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2021-4-13 15:20 | 只看该作者
    MATLAB遗传算法工具箱简介
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-23 21:13 , Processed in 0.171875 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表