利用遗传算法进行优化的一个例子

 优化变量为自变量x(1)和x(2);

约束为[-1,+1];

目标函数为三个函数值的最大值最小!

主函数:

clear all
fun = @max_f;%定义适度函数
nvars=2;%定义变量个数
A = [];
b = [];
Aeq = [];
beq = [];
lb = [-1 -1];
ub = [+1 +1];
%% Start with the default options
options = gaoptimset;
%% Modify options setting
options = gaoptimset(options,'Generations', 20);%定义代的数量
options = gaoptimset(options,'Display', 'off');
options = gaoptimset(options,'PlotFcns', {  @gaplotbestf @gaplotbestindiv });%显示最优适度函数和最优个体
[x,fval,exitflag,output,population,score] = ...
ga(@max_f,nvars,[],[],[],[],lb,ub,[],[],options);

适应度函数:

function f=max_f(x)
y1=x(1)^2+x(2)^+2*x(1)+x(2)-4
y2=x(1)*x(2)+x(1)
y3=x(1)*x(2)^2+x(2)
y=[y1 y2 y3]
f=max(y);%三个函数的最大值

 计算结果如下:

x 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值