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

MATLAB遗传算法工具箱简介

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x

    . m6 l, b+ _6 T) o5 kMATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB软件是一个功能很强大的工具,其中可以使用GA工具箱进行遗传算法的数据优化,下面给出具体的操作简单的实例。
    : n4 f# d- p3 L5 K4 e0 `
    $ w: ]. p" S! e4 t& W①利用GUI打开并使用MATLAB遗传算法工具箱。
    9 K  B4 O# f) x/ A' J, ~打开MATLAB选择应用程序,点击Optimization。% l" b$ B" G) T: S7 d6 {
    8 q) k+ J# O' M1 g

    * c- L1 F3 T* D  D  E. t& ^/ W. A! p) i. e
    打开后显示优化界面第一个solver选择ga
    # \, b" ]! M) F7 [$ o' B- q3 Z
    3 f0 U% L7 v! L+ Q " R/ z- t7 ?% p6 s0 V# H' {1 e7 M

    ( c; n5 h; F- A& h+ ?
    $ N3 V! [$ Q2 w1 |. O2 M( g4 V函数(注意是单目标只能有一个函数输出值)的MATLAB代码填入Fitness Funtion,输入变量值为2,其它设置options可以使用自定义,也可以使用默认,这里我的种群设置为200。设置完后点击start
    & Q  @8 }5 S; P0 y, ]- h3 {# ?' E" _$ l! Q7 F! k

    2 {8 \7 ?9 {. [& n* y5 U  J  V4 M3 r$ p" Z6 F% P) e, |

    0 y9 ~9 ~8 k; p; e' I. L我优化的函数代码:8 @" H; n- a& N; b; l# [9 _

    * h( n; _6 ~# D& z6 @& ?
    • 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;
      1 y# _# Q3 A: I9 c3 L# M3 s

    ; I. s9 \- H' [+ e' z  |9 Z/ W( E( v& F, y
    常用的options( e, P, c2 q9 {: j  ?
    ' k0 i# O. G/ @. v. z% Q) U
    / e- Z% X  G3 j% |$ J# V
    : E2 G/ V, }1 U7 ?4 u% z+ @$ o+ u

    4 Y% H8 `* s- _- D. {- ]当然MATLAB官方说这个优化工具箱将在未来的版本中去除,请留意。) n4 X% N% S# |4 t& o
    5 G; Y/ F( E, Y7 e, K* r2 @( J* V

    2 A4 G  ~3 e8 ~' v$ q; A% O5 m. t" j6 U- u3 S* y5 T" w/ R

    1 G! a# z  a1 Z* O8 n6 k8 k②利用命令运行GA工具箱8 B% z0 ]) q+ S1 e- r
    种群大小200) X0 K8 ~6 k- \$ H9 O& H
    精英解的数量205 P; |$ c; f( @% ~3 T9 B$ O
    交叉率0.75
    5 ^' G. K8 R( b# ?3 }# N0 U迭代次数1000
    8 Q' ]4 H# l/ ?停止代数(stall generations)与适应度函数值偏差(function tolerance)。若在Stallgenerations设定的代数内,适应度函数值的加权平均变化值小于function tolerance,算法停止
    7 ]9 D! C* P+ `- u; W- V7 @9 a
    3 Z0 k# x) R" y优化的函数是上面GUI中给出的函数  [% ~8 m: |( n# f4 m

    0 G% [1 j. h" y$ Q7 R* s) ?
    • 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函数& ]2 \) }: K  }/ y, M
    : A6 t3 d; Q8 a

    $ ~0 X* _4 q' I7 a, j. _运行时的结果:. n/ D, X/ J  u1 B/ {5 Y5 Y
    6 B, L' r/ _1 X) I* X
    & U7 g) L- u4 O! v0 O" o8 N5 M
    / i* L/ N* S) O0 k
  • 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-10-5 21:28 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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