QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 11376|回复: 32
打印 上一主题 下一主题

遗传算法MATLAB实现

[复制链接]
字体大小: 正常 放大
dean0514 实名认证       

14

主题

7

听众

3178

积分

升级  39.27%

  • TA的每日心情
    开心
    2016-3-28 22:33
  • 签到天数: 583 天

    [LV.9]以坛为家II

    社区QQ达人 新人进步奖

    群组安徽大学学生建模家园

    群组数学建模

    群组数学趣味、游戏、IQ等

    群组LINGO

    群组Matlab讨论组

    跳转到指定楼层
    1#
    发表于 2009-8-25 13:24 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    10体力
    哪位大侠帮帮忙,能演示一下拿一个结构完整的MATLAB遗传算法程序去解决一个非线性规划问题,要求结果以word形式给出,内容越详尽越好,包括操作步骤和截图什么的,不胜感激,小弟乃初学之人,对于算法更是没入门啊,想请哪位大侠给指点迷津啊!
    价格好商量哈!

    最佳答案

    wlch1990 查看完整内容

    呵呵 这是我们老师给的 希望对你有用
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持2 反对反对1 微信微信
    wlch1990 实名认证       

    4

    主题

    5

    听众

    191

    积分

    升级  45.5%

    该用户从未签到

    呵呵 这是我们老师给的 希望对你有用

    200431814241431836.rar

    88.31 KB, 下载次数: 142, 下载积分: 体力 -2 点

    20043181424023519.rar

    195.31 KB, 下载次数: 121, 下载积分: 体力 -2 点

    20043181424882384.rar

    195.31 KB, 下载次数: 118, 下载积分: 体力 -2 点

    已有 1 人评分金币 收起 理由
    gk0402jeff + 3 热心助人

    总评分: 金币 + 3   查看全部评分

    回复

    使用道具 举报

    ddpbhxz        

    14

    主题

    5

    听众

    285

    积分

    升级  92.5%

    该用户从未签到

    新人进步奖

    回复

    使用道具 举报

    10

    主题

    4

    听众

    163

    积分

    升级  31.5%

  • TA的每日心情
    开心
    2017-3-8 16:39
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    新人进步奖

    回复

    使用道具 举报

    16

    主题

    21

    听众

    3372

    积分

    升级  45.73%

  • TA的每日心情
    开心
    2013-10-25 15:56
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    自我介绍
    活泼,爱交友

    发帖功臣 新人进步奖

    群组数学建模

    群组数学趣味、游戏、IQ等

    群组我行我数

    群组Mathematica研究小组

    群组LINGO

    回复

    使用道具 举报

    byit        

    4

    主题

    4

    听众

    519

    积分

    升级  73%

    该用户从未签到

    新人进步奖

    回复

    使用道具 举报

    3

    主题

    4

    听众

    274

    积分

    升级  87%

    该用户从未签到

    新人进步奖

    回复

    使用道具 举报

    dean0514 实名认证       

    14

    主题

    7

    听众

    3178

    积分

    升级  39.27%

  • TA的每日心情
    开心
    2016-3-28 22:33
  • 签到天数: 583 天

    [LV.9]以坛为家II

    社区QQ达人 新人进步奖

    群组安徽大学学生建模家园

    群组数学建模

    群组数学趣味、游戏、IQ等

    群组LINGO

    群组Matlab讨论组

    回复

    使用道具 举报

    AK4 实名认证       

    16

    主题

    6

    听众

    166

    积分

    升级  33%

    该用户从未签到

    新人进步奖

    群组hebe粉丝团

    群组火影吧

    不要东西了,看看行吗?
    【问题】求f(x)=x+10*sin(5x)+7*cos(4x)的最大值,其中0<=x<=9
    【分析】选择二进制编码,种群中的个体数目为10,二进制编码长度为20,交叉概率为0.95,变异概率为0.08
    【程序清单】
       %编写目标函数
         function[sol,eval]=fitness(sol,options)
           x=sol(1);
           eval=x+10*sin(5*x)+7*cos(4*x);
       %把上述函数存储为fitness.m文件并放在工作目录下  
       initPop=initializega(10,[0 9],'fitness');%生成初始种群,大小为10
       [x endPop,bPop,trace]=ga([0 9],'fitness',[],initPop,[1e-6 1 1],'maxGenTerm',25,'normGeomSelect',...
         [0.08],['arithXover'],[2],'nonUnifMutation',[2 25 3]) %25次遗传迭代
    运算借过为:x =
       7.8562 24.8553(当x为7.8562时,f(x)取最大值24.8553)
    注:遗传算法一般用来取得近似最优解,而不是最优解。
    遗传算法实例2
    【问题】在-5<=Xi<=5,i=1,2区间内,求解
           f(x1,x2)=-20*exp(-0.2*sqrt(0.5*(x1.^2+x2.^2)))-exp(0.5*(cos(2*pi*x1)+cos(2*pi*x2)))+22.71282的最小值。
    【分析】种群大小10,最大代数1000,变异率0.1,交叉率0.3
    【程序清单】
       %源函数的matlab代码
          function [eval]=f(sol)
            numv=size(sol,2);
            x=sol(1:numv);
            eval=-20*exp(-0.2*sqrt(sum(x.^2)/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
      %适应度函数的matlab代码
          function [sol,eval]=fitness(sol,options)
            numv=size(sol,2)-1;
            x=sol(1:numv);
            eval=f(x);
            eval=-eval;
      %遗传算法的matlab代码
          bounds=ones(2,1)*[-5 5];
          [p,endPop,bestSols,trace]=ga(bounds,'fitness')
    注:前两个文件存储为m文件并放在工作目录下,运行结果为
       p =
       0.0000 -0.0000 0.0055
    大家可以直接绘出f(x)的图形来大概看看f(x)的最值是多少,也可是使用优化函数来验证。matlab命令行执行命令:
    fplot('x+10*sin(5*x)+7*cos(4*x)',[0,9])
    evalops是传递给适应度函数的参数,opts是二进制编码的精度,termops是选择maxGenTerm结束函数时传递个maxGenTerm的参数,即遗传代数。xoverops是传递给交叉函数的参数。mutops是传递给变异函数的参数。
    回复

    使用道具 举报

    dean0514 实名认证       

    14

    主题

    7

    听众

    3178

    积分

    升级  39.27%

  • TA的每日心情
    开心
    2016-3-28 22:33
  • 签到天数: 583 天

    [LV.9]以坛为家II

    社区QQ达人 新人进步奖

    群组安徽大学学生建模家园

    群组数学建模

    群组数学趣味、游戏、IQ等

    群组LINGO

    群组Matlab讨论组

    感谢大家热心和无私的帮助哈,小弟这里有一些其他网站上下载的学习资料,以后放在空间上或直接在论坛里发布供大家相互交流也表达小弟感激之情哈!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2024-4-20 04:06 , Processed in 1.011338 second(s), 108 queries .

    回顶部