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

MATLAB遗传算法工具箱简介

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    % ^; v! {2 G4 v) v
    MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB软件是一个功能很强大的工具,其中可以使用GA工具箱进行遗传算法的数据优化,下面给出具体的操作简单的实例。
    , `2 b( ]* F; R! B
    * Y5 T, a4 x) Y0 R①利用GUI打开并使用MATLAB遗传算法工具箱。
    3 h( U- c& i" }打开MATLAB选择应用程序,点击Optimization。3 B$ Q: o& N) v4 e

    ) m1 E) c' E" _% `" m- k 4 Y7 F; r% K4 f2 ]. s+ n
    1 U: \# ^8 n5 f3 }* h
    打开后显示优化界面第一个solver选择ga
    3 N8 q: t: x- w4 l# |. p8 X# T% y- Y/ y- K+ h- Y" J
    1 Z. G5 R& M$ Z# \9 {7 u5 [1 s
    ( H5 W% g6 S+ V4 L6 W

    . B/ Q& U7 v! d' E& V( P! F函数(注意是单目标只能有一个函数输出值)的MATLAB代码填入Fitness Funtion,输入变量值为2,其它设置options可以使用自定义,也可以使用默认,这里我的种群设置为200。设置完后点击start
    & V7 Z# q2 f8 v) ?% |1 J2 U- Y0 K9 g' J$ U5 V6 M- x

    3 i. Y7 ^" j8 t3 _& i
      a' R$ }8 U7 [( p5 f! |" l$ Y
    0 R8 w7 T: y$ P我优化的函数代码:; v4 ~( \$ E$ X$ h# ^8 n

    ( J0 ~6 O& x1 Z( R
    • 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;3 b- g' c9 w. L1 E: _/ v* H
    " |. H  `( z) p! Q0 a
    % x. q& P% B% ^8 t: ?2 ^/ |8 ?8 a
    常用的options
    8 p# U: E8 ?/ m! e4 A. k
    * l, |, k4 e' F- ~$ m# C2 j
    ( c0 E" I, [2 d2 m  ~& u3 |5 h3 q, [5 Y& I1 m
    . z6 o; A6 Y" S3 f  `: t
    当然MATLAB官方说这个优化工具箱将在未来的版本中去除,请留意。
    % f( y* D8 X, C8 c3 z% S! N" B9 x* U, ?& H7 a

    ) `5 B. ]9 K  ?4 N; `8 S- V7 o- b) ?
    4 ]0 t3 t8 k/ p/ ?' G; U
    8 y  O# j0 I- d) Z# g# j②利用命令运行GA工具箱
    - }% X5 C& H) F+ g; P: i! I/ F种群大小200
    ) k) B" Z3 |. T4 U精英解的数量20
    " n2 {( T& K7 F. t/ t, p+ C交叉率0.75
    & u# c! m0 q/ p5 _迭代次数1000
    0 Z6 u! R% G. y7 u% V+ R  J+ u停止代数(stall generations)与适应度函数值偏差(function tolerance)。若在Stallgenerations设定的代数内,适应度函数值的加权平均变化值小于function tolerance,算法停止
    9 o! H, S/ I# g3 g( u& N# ]9 e6 K& O+ m( [8 l% N6 O8 {  R9 w
    优化的函数是上面GUI中给出的函数8 O1 D* s  E+ g% O8 h, Q) e2 N

      @) m  L1 q' ~5 \% F) A& a$ r6 `
    • 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函数
      $ s, c% Y6 w+ }3 J" [
    $ |2 R" u6 X# S1 M

    , p+ X. D1 m. g; G! i运行时的结果:- T; W3 C( u/ @% S8 O7 U2 K7 d& H

    2 [' l0 c" c8 s3 M' \. h  t! G/ m* i) @: L1 h8 O$ m

    : M! w/ h. C& Z  A$ M+ g. E& 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-7-20 00:31 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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