MAT之PSO:利用PSO实现对一元函数y = sin(10*pi*x) ./ x进行求解优化,找到最优个体适应度

简介: MAT之PSO:利用PSO实现对一元函数y = sin(10*pi*x) ./ x进行求解优化,找到最优个体适应度

输出结果

image.png


代码设计


x = 1:0.01:2;          

y = sin(10*pi*x) ./ x;  

figure

plot(x, y)

title('绘制目标函数曲线图—Jason niu');

hold on

c1 = 1.49445;

c2 = 1.49445;

maxgen = 50;    

sizepop = 10;  

Vmax = 0.5;    

Vmin = -0.5;

popmax = 2;    

popmin = 1;

for i = 1:sizepop

   pop(i,:) = (rands(1) + 1) / 2 + 1;    

   V(i,:) = 0.5 * rands(1);  

   fitness(i) = fun(pop(i,:));

end

[bestfitness bestindex] = max(fitness);  

zbest = pop(bestindex,:);  

gbest = pop;  

fitnessgbest = fitness;  

fitnesszbest = bestfitness;  

for i = 1:maxgen

 

   for j = 1:sizepop

       V(j,:) = V(j,:) + c1*rand*(gbest(j,:) - pop(j,:)) + c2*rand*(zbest - pop(j,:));

       V(j,find(V(j,:)>Vmax)) = Vmax;  

       V(j,find(V(j,:)<Vmin)) = Vmin;

       pop(j,:) = pop(j,:) + V(j,:);

       pop(j,find(pop(j,:)>popmax)) = popmax;

       pop(j,find(pop(j,:)<popmin)) = popmin;

       fitness(j) = fun(pop(j,:));

   end

   for j = 1:sizepop  

       if fitness(j) > fitnessgbest(j)

           gbest(j,:) = pop(j,:);      

           fitnessgbest(j) = fitness(j);

       end

     

       if fitness(j) > fitnesszbest

           zbest = pop(j,:);

           fitnesszbest = fitness(j);

       end

   end

   yy(i) = fitnesszbest;    

end

[fitnesszbest zbest]

plot(zbest, fitnesszbest,'r*')

figure

plot(yy)

title('PSO:PSO算法(快于GA算法)实现找到最优个体适应度—Jason niu','fontsize',12);

xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);

————————————————

版权声明:本文为CSDN博主「一个处女座的程序猿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_41185868/article/details/79379034

相关文章
|
11天前
|
算法
基于EO平衡优化器算法的目标函数最优值求解matlab仿真
本程序基于进化优化(EO)中的平衡优化器算法,在MATLAB2022A上实现九个测试函数的最优值求解及优化收敛曲线仿真。平衡优化器通过模拟生态系统平衡机制,动态调整搜索参数,确保种群多样性与收敛性的平衡,高效搜索全局或近全局最优解。程序核心为平衡优化算法,结合粒子群优化思想,引入动态调整策略,促进快速探索与有效利用解空间。
|
8月前
|
算法 Python
Python中的Lasso回归之最小角算法LARS
Python中的Lasso回归之最小角算法LARS
|
8月前
|
数据可视化
R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法
R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法
|
8月前
|
资源调度 算法
Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
|
8月前
R语言Copula函数股市相关性建模:模拟Random Walk(随机游走)
R语言Copula函数股市相关性建模:模拟Random Walk(随机游走)
|
机器学习/深度学习 算法 计算机视觉
【智能优化算法-圆圈搜索算法】基于圆圈搜索算法Circle Search Algorithm求解单目标优化问题附matlab代码
【智能优化算法-圆圈搜索算法】基于圆圈搜索算法Circle Search Algorithm求解单目标优化问题附matlab代码
【智能优化算法-圆圈搜索算法】基于圆圈搜索算法Circle Search Algorithm求解单目标优化问题附matlab代码
|
机器学习/深度学习 算法
【路径优化】基于人工蜂群(ABC)算法和粒子群优化算法的组合求解路径优化问题(Matlab代码实现)
【路径优化】基于人工蜂群(ABC)算法和粒子群优化算法的组合求解路径优化问题(Matlab代码实现)
201 0
|
机器学习/深度学习 传感器 算法
【粘菌算法】基于粘菌算法SMA求解单目标优化问题附matlab代码
【粘菌算法】基于粘菌算法SMA求解单目标优化问题附matlab代码
|
机器学习/深度学习 传感器 算法
【白鲸优化算法】基于适应度距离平衡白鲸优化算法(FDBBWO)求解单目标优化问题附matlab代码
【白鲸优化算法】基于适应度距离平衡白鲸优化算法(FDBBWO)求解单目标优化问题附matlab代码
|
机器学习/深度学习 传感器 算法
【麻雀算法】基于自适应螺旋飞行麻雀搜索算法求解单目标优化问题附matlab代码(Adaptive Spiral Flying Sparrow Search Algorithm,ASFSSA)
【麻雀算法】基于自适应螺旋飞行麻雀搜索算法求解单目标优化问题附matlab代码(Adaptive Spiral Flying Sparrow Search Algorithm,ASFSSA)

热门文章

最新文章