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

MATLAB遗传算法工具箱简介

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    / W9 R7 s, h2 S5 n, @8 r
    MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB软件是一个功能很强大的工具,其中可以使用GA工具箱进行遗传算法的数据优化,下面给出具体的操作简单的实例。7 [' c+ W+ M/ U& l0 j1 `  h
    7 d9 S6 @! i8 g* I. i) y
    ①利用GUI打开并使用MATLAB遗传算法工具箱。7 {( T0 u8 `2 @$ K2 p
    打开MATLAB选择应用程序,点击Optimization。- i4 [4 C& p( p6 f4 k

    + r% I. ]- d* c. d' K: I
    6 M6 ~2 _8 Q& G8 s# O1 A/ }
    8 z& _0 I0 i9 |- g0 @( i# v# L打开后显示优化界面第一个solver选择ga- C0 W  L2 Z4 f+ O  r' z5 F
    / Z* L$ c5 a, `& S* m5 m3 N, `

    + U. p# }* s) |
      ]( [* X4 m7 Q- p5 w& g' v6 n% Q+ {/ J; e' m2 z" y
    函数(注意是单目标只能有一个函数输出值)的MATLAB代码填入Fitness Funtion,输入变量值为2,其它设置options可以使用自定义,也可以使用默认,这里我的种群设置为200。设置完后点击start0 \* j/ a/ _  Y2 e+ T

    ! @1 w4 T5 r' U( ?- D 3 b. n% G6 Z2 y6 ~! S: x. u! Z

    8 _. H% L0 F( N# I* X8 ]/ Q3 f3 J, A( G% D0 \1 s0 R, O
    我优化的函数代码:" Y/ M. {! ]! v5 T6 j: @
    & j' q& G, `! N0 A% N9 [- I7 [# v3 T
    • 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;
      & K5 S' N' Y$ {( U6 }
      X# ~8 C* G  a4 A: ~9 M" }9 }

    # R/ }- N' w# Q6 o- t常用的options
    1 _# M' n' x) m1 n6 j  w
    8 @( Y" T; h' v, q" S9 Y1 ]
    1 t# G+ ]% i! L+ o( H2 l8 z; v1 k( E! ~# i3 n0 `

    9 L' ^- c2 ~3 V6 }/ f1 e: y0 W4 t) z当然MATLAB官方说这个优化工具箱将在未来的版本中去除,请留意。, }% r( T4 N, v& [* R- A: K

    2 _9 g2 W3 Z4 A
    * x% i5 b9 K9 `1 q6 {+ Z6 r5 B. Y5 C* i; ?3 Q

    1 Q8 Q9 L1 ]; S6 J4 d: Z$ b' h②利用命令运行GA工具箱5 B: W# f; G8 o- ]- U
    种群大小200
    # a2 V% D  |% l精英解的数量20
    ; V/ l7 f0 ]! h- ?) [交叉率0.751 S" C( H4 ?$ E' g* @
    迭代次数1000
    6 Z+ }; ]4 q/ E停止代数(stall generations)与适应度函数值偏差(function tolerance)。若在Stallgenerations设定的代数内,适应度函数值的加权平均变化值小于function tolerance,算法停止! e( u9 z. L: p* w

    ' e6 x" `% _% K4 v2 l优化的函数是上面GUI中给出的函数! h" F9 Y" S. V/ ?; _& m' S& d9 \

    # d' m$ T3 n$ L( e
    • 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函数
      , P( S( \: W9 @6 r7 z' W
    9 K- }% \0 o7 z5 k* l/ z
    1 L  d2 i$ w/ K/ q" \6 u
    运行时的结果:4 y0 V5 T1 j" s5 y. |
    4 q$ ?" [& [$ F2 x7 ?# s
    ) G6 `. J; i, c
    , |' m% |9 [5 N6 Z5 R- X! p' k/ j
  • 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-8-4 21:03 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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