差分进化算法matlab代码_matlab解决差分演化算法多元函数最优化问题!

3741176ebd328f0c2d7c489ed1dae9ee.png

差分演化算法是一种基于全局最优的算法,它可以应用到我们的多目标、粒子滤波器、工程等问题。对于刚基础差分演化算法来说,自己要首先根据算法原理写出解决一元函数的最优化问题,再次写出解决多元函数的代码,只要能把这两部分的代码弄清楚了,那么对于改进差分演化算法和差分演化算法的应用问题将会轻松许多。

对于算法的学习推荐下面几本书!

差分演化算法的代码最重要的是对于最优值保存这里,设置最优值让其等于一个初始值的第一个位置,之后不断从其中选取最优值,依此下去就可以得到最优值。下面是采用matlab写的差分演化算法应用在多元函数上的最优化代码。

程序:

function f=fun_DE1(x)

for i=1:2 %这里的i是1:Np.

f=0;

f=f+x(:,i).*2.^(i-1);

end

clc

clear

% DE算法应用---多元函数

%需求:DE算法求解多维函数--以超椭球题函数f(x)=sum(x(i)*2^(i-1)),i=1,2,...

%求解超椭球体函数的最优值---最大值/最小值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值