MATLAB遗传算法之 工具箱实现

遗传算法和标准算法的比较

标准算法遗传算法
每次选代产生一个单点,点的序列逼近一个优化解每次迭代产生一个种群,种群通近一个优化解
通过确定性的计算在该序列中选择下一个点通过随机进化选择计算来选择下一代种群

遗传算法使用方式

遗传算法工具有两种使用方式:

  1. 以命令行方式调用遗传算法函数ga。
  2. 通过用户图形界面使用遗传算法工具。

在命令行使用遗传算法,可以用下列语法调用遗传算法函数ga
[x, fval]= ga(@ fitnessfun ,nvars ,A,b,Aeq,beq,LB,UB,@ nonlcon, opt ions)
其中:

  • @ftnessfun是目标函数句柄;
  • nvars是目标函数中独立变量的个数;
  • options是一个包含遗传算法选项参数的数据结构
  • 其他参数的含义与非线性规划fmincon中的参数相同。

函数返回值x为最终值到达的点,这里x为行向量,fval为目标丽数的最终值。

例题:

在这里插入图片描述

function y = ycfun1(x)
c1=[2 3 1];
c2=[3 1 0];
y=c1*x'+c2*x'.^2;
y=-y;
end
function [f,g] = ycfun2(x)
f=[x(1)+2*x(1)^2+x(2)+2*x(2)^2+x(3)-10
    x(1)+x(1)^2+x(2)+x(2)^2-x(3)-50
    2*x(1)+x(1)^2+2*x(2)++x(3)-40];
g=x(1)^2+x(3)-2;
end
clc,clear
a=[-1 -2 0;-1 0 0];
b=[-1;0];
[x,y]=ga(@ycfun1,3,a,b,[],[],[],[],@ycfun2);
x,y=-y

在这里插入图片描述

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值