MATLAB利用遗传算法求取最优解

这篇具有很好参考价值的文章主要介绍了MATLAB利用遗传算法求取最优解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MATLAB内置GA函数,用以求解全局最优化问题,适用于求解目标函数最优解问题。

一、GA函数原型:

MATLAB利用遗传算法求取最优解

二、函数介绍

常用的两种分别是:
1.X = ga(fitnessfcn,nvars)
2.X = ga(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options)
其中,fitnessfcn为适应度函数(也就目标函数),其参数为向量,nvars是参数向量的维度,函数返回值X为适应度函数最小值时的参数向量。
其它参数,像A,b,Aeq,beq,lb,ub,nonlcon,IntCon用于约束X的取值,这里不多讲述,有需要可详细学习《MATLAB遗传算法工具箱及应用》,文末附本书电子版链接,供学习参考。

三、应用实例

如,适应度函数为,
f = (339-0.01x1-0.003x2)x1 + (399-0.004x1-0.01x2)x2 -(400000+195x1+225x2)
求该函数的最大值。
代码:
MATLAB利用遗传算法求取最优解
此时执行,X =ga(@myfit, 2)
结果显示: Optimization terminated: maximum number of generations exceeded.
说明迭代达到最大次数仍未求得最优解。因此下面通过options增大迭代次数。
MATLAB利用遗传算法求取最优解
结果显示: Optimization terminated: average change in the fitness value less than options.TolFun.
在命令行窗口输出X,FVAL
MATLAB利用遗传算法求取最优解
这个结果与对目标函数 x1、x2 分别求偏导得到的结果(x1=4735, x2=7043, y=553641)是一致的,表明结果正确。

四、optimoptions函数

首先,函数原型:options = optimoptions(SolverName,Name,Value)
附调用遗传算法函数代码,

options = optimoptions(‘ga’);
options = optimoptions(options,‘PopulationSize’, PopulationSize_Data);
options = optimoptions(options,‘CrossoverFraction’, CrossoverFraction_Data);
options = optimoptions(options,‘MigrationFraction’, MigrationFraction_Data);
options = optimoptions(options,‘MaxGenerations’, MaxGenerations_Data);
options = optimoptions(options,‘SelectionFcn’, @selectionroulette);
options = optimoptions(options,‘CrossoverFcn’, @crossovertwopoint);
options = optimoptions(options,‘MutationFcn’, { @mutationgaussian,scale,shrink });

1.PopulationSize:种群规模,初始化种群的数目

2.CrossoverFraction:交叉概率,种群产生下一代的比例,默认是0.8

3.MigrationFraction:编译概率,种群发生变异的比例

4.MaxGenerations:最多进化的代数

5.SelectionFcn:进化的方式,可供选择的函数有五种,最常用的是’selectionroulette’,即轮盘赌方式,感兴趣的可以查阅相关资料来学习

6.CrossoverFcn:交叉的方式,决定了子代的由来,可供选择函数有六种,

‘crossoverscattered’、‘crossoversinglepoint’、‘crossovertwopoint’、
‘crossoverintermediate’、‘crossoverheuristic’、‘crossoverarithmetic’

7.MutationFcn:变异的方式,用以扩大GA算法的搜索空间,默认为mutationgaussian,此变异函数服从均值为0的高斯分布,其标准差由参数scale、shrink、以及InitialPopulationRange option共同决定。

附电子文档《MATLAB遗传算法工具箱及应用》
链接:https://pan.baidu.com/s/1tAHX9Rl3RCrTPPRVNFhlcg?pwd=pof8
提取码:pof8文章来源地址https://www.toymoban.com/news/detail-478567.html

到了这里,关于MATLAB利用遗传算法求取最优解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【算法】遗传算法GA寻优xgboost最优参数模型

    需求:实现遗传算法GA寻优xgboost最优参数模型搭建 遗传算法(Genetic Algorithm)是一种 通过模拟生物进化过程来解决优化问题的算法 。它模拟了自然界中的遗传、变异和选择等过程,并通过不断迭代寻找最优解。 并行性强 遗传算法可以应用并行计算技术,同时对多个个体进行

    2024年02月12日
    浏览(35)
  • 【笔记】最优解人生

    如果在死亡之前没有将赚到的钱花完,那么剩下那些没花完的钱,就是你白白浪费的生命能量。 60岁以后,虽然医疗开支变大,但娱乐,衣物的开始会变小,总体上开销会越来越少。 如何“死前归零”呢? 1、使用寿命计算机,估算你的寿命。 2、购买年金,它能让你一直领

    2024年02月08日
    浏览(40)
  • 深度学习_4_实战_直线最优解

    梯度 实战 代码: 运行效果:

    2024年02月08日
    浏览(34)
  • vue3 关于动态路由刷新出现空白页最优解

    原因:刷新页面的时候动态路由会刷新掉,然后动态路由会重新加载, 而匹配路由会在加载路由之前 ,所以会导致空白页 解决办法:递归再调用beforEach,或者直接跳回首页 在你加载路由的地方 递归调用:next({ …to, replace: true });(慎用,如果你的后台管理table是带标签会有

    2024年02月15日
    浏览(53)
  • Kubernetes Blog 更新:DaoCloud 为数字世界寻找全局最优解

    “ 近日,一篇名为《「DaoCloud 道客」与 Kubernetes--为数字世界寻找全局最优解》的博文,在 Kubernetes 的全球官网上线(链接:https://kubernetes.io/case-studies/daocloud/),下面一起来了解一下具体内容。 作为云原生领域的创新领导者,「DaoCloud 道客」成立于 2014 年底,拥有自主知识

    2024年02月10日
    浏览(35)
  • 充电桩、换电站、移动充电机器人,谁是补能最优解?

    2023年了,充电焦虑还存在吗? 燃油汽车向新能源汽车转型大势已不可逆,新能源汽车数量越来越多。公安部统计数据显示,2022年我国新能源汽车保有量达1310万辆,同比增长67.13%,呈高速增长态势。其中,纯电动汽车保有量1045万辆,占新能源汽车总量的79.78%。 与之相对应的

    2024年02月09日
    浏览(39)
  • 传统软件如何SaaS化改造,10个问答带你掌握最优解

    摘要: 如果您所在企业希望实行SaaS化改造,可访问了解华为云开发者技术团队的SaaS支持计划。 本文分享自华为云社区《【云享问答】第1期:传统软件如何SaaS化改造,10个问答带你掌握最优解!》,作者:技术火炬手。   如果您所在企业希望实行SaaS化改造,可访问了解华为

    2024年02月08日
    浏览(39)
  • POE 利用区块链挖掘协同执行遗传算法

    论文地址 Proof of Evolution: leveraging blockchain mining for a cooperative execution of Genetic Algorithms 带着问题去阅读: 什么是进化证明? 进化证明有什么优点,从哪些角度去证明该方法的正确性? 进化证明有什么缺点,哪些原因被限制住了,有什么方法能解决这些问题? 未来的方向 POE与

    2024年02月02日
    浏览(40)
  • 求解器解的最优性 | cplex、gurobi和COPT求解器求解出来的一定是最优解吗?有理论证明吗?

    作者: 刘兴禄,清华大学,清华-伯克利深圳学院博士在读 欢迎关注我们的微信公众号 运小筹 之前有人在【运小筹读者2群】里问:cplex、gurobi和COPT求解器求解出来的一定是最优解吗?有理论证明什么的吗? 我给除了下面的回答,我觉得对大家会有用,因此稍加整理分享一下

    2024年02月06日
    浏览(40)
  • 利用 MATLAB 编程实现乘子法求解约束最优化问题。 拟 Newton 法

    1、画出 PH 法的算法流程图; 2、MATLAB 编写 PH 法求解约束优化问题的函数,无约束子问题用精确一 维搜索的拟 Newton 法((函数式 M 文件,精度设为 epson 可调);编写程序(命 令式 M 文件),调用 PH 法,求解如下问题:   初始点取(10,10),按教材 P217,例 12 取不同的参

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包