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

MATLAB遗传算法工具箱简介

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x

    & s% _/ u3 B4 W& P& D+ d/ H8 U, RMATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB软件是一个功能很强大的工具,其中可以使用GA工具箱进行遗传算法的数据优化,下面给出具体的操作简单的实例。! I- Z; e; z* V& j* n! V

    / [: C: U8 O. W3 a* n3 B①利用GUI打开并使用MATLAB遗传算法工具箱。
      @5 O, @4 j1 a* z" Z打开MATLAB选择应用程序,点击Optimization。  P& k" w; ^# p' h* K# x

    9 F5 ]/ k4 @, f) l 6 T2 a7 ~1 p& Q% o' y

    9 w! W- A8 P! n* e, q& I! p) Z/ R+ }打开后显示优化界面第一个solver选择ga
    ! e" n) b8 X; ]
    3 R4 U8 ^8 Q, b7 }2 X/ X& [
    $ a1 a. Q2 c* C0 t8 v
    9 l. N  L  X/ m# B) I
    0 j; ?' T  K! J) V8 N' U! h函数(注意是单目标只能有一个函数输出值)的MATLAB代码填入Fitness Funtion,输入变量值为2,其它设置options可以使用自定义,也可以使用默认,这里我的种群设置为200。设置完后点击start
    . M8 W, W$ M3 O# Z* P" Q
    , F% x% c) g0 C0 J* _( z/ U
    0 m4 G' }1 [6 o9 v1 o, `1 n7 u( C. S- ]6 D1 D! n! z* _4 {" i

    / M! V6 e" K* w) W+ N! Q我优化的函数代码:8 |  }& y( v$ a% t' ?/ ~+ u7 ?: x

    / a( K2 U# j* K# B+ \4 ?; N
    • 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;
      4 D, [: w' N1 U5 B$ `+ b8 O
    1 L2 a4 T, q. Y6 C0 [! o
    * P' F$ e8 Z/ f( v
    常用的options
    2 @. ?& R3 Y. K& y# e- r2 l8 F* y* {+ H8 w* I+ T" U1 r6 w7 e
    5 l4 W3 L+ E. p& i& l

    9 P9 c  l  }$ g/ s, K/ G
    1 C# q) ~4 u5 m: T! U当然MATLAB官方说这个优化工具箱将在未来的版本中去除,请留意。  g% N$ r9 ?; z+ ~) X
    : a4 Z+ U9 [- V0 x# Z7 |" H
    4 L0 {% `+ z' @! K* M
    6 q8 O) k" V. \/ y+ q# G: ^

    - l$ i) ]) \3 }2 C/ O  L5 u②利用命令运行GA工具箱9 z$ L8 W& U. X' u+ d2 r0 z
    种群大小200
    * g4 ^/ r6 B! L9 a# {" x  ~0 E" Y- z精英解的数量20
    ( |/ t. c3 |6 L7 Y, k7 z9 Q交叉率0.75
    + U/ r  u: L" }$ O迭代次数1000
    * l, }( d0 ?# {# h. `停止代数(stall generations)与适应度函数值偏差(function tolerance)。若在Stallgenerations设定的代数内,适应度函数值的加权平均变化值小于function tolerance,算法停止
    * G9 P. D$ ^; k; b2 i+ E$ I: {. P8 N! i% C; ?" F
    优化的函数是上面GUI中给出的函数, o$ P5 l* C" R! m. @; [+ y/ ]' Z
    6 B8 P1 D; O5 l, L% m
    • 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函数6 q) Z# g2 v5 B. J" u3 r' q
    $ j" e' b4 Y9 ?, X  q
    4 L5 V2 t; Q6 c0 v+ h$ ?
    运行时的结果:# m: [, a- ?% h2 |) v2 }% ~

    ; }5 r4 k0 S$ ]( ~1 k
    0 |0 U3 S. i0 X) p% O) O# T
    ! z# Z- E, l* T  t8 z7 d  V5 G3 b
  • 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 22:02 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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