cpso matlab,CPSO程序分享

本文提供了一个CPSO(Cellular Particle Swarm Optimization)算法的MATLAB实现,详细介绍了函数`CPSO_func`的代码逻辑,包括粒子群的数量、目标问题的维度、边界处理、初始化、主循环等关键步骤,适用于多目标优化问题。
摘要由CSDN通过智能技术生成

function [gbest,gbestval,fitcount]= CPSO_func(fhd,Max_FES,Particle_Number,Dimension,VRmin,VRmax,varargin)

% CPSO - Function

% Version : 1.02

% Originally Designed by J. J. Liang

% Revised by C. Chen in Apr 3, 2013

% Last Update : Apr 27, 2013

ps = Particle_Number;% Particle Number

D = Dimension; % Dimension of the Target Problem

fi = [1.49 1.49]; % Acceleration Constants

groupnum = D; % Number of Groups

me = ceil(Max_FES / ps / 6); % MAX Generation

iwt = 0.9 - (1:me) .* (0.5 ./ me);% Inertia Weight

e1 = zeros(ps,1);

e = zeros(ps,1);

vel = zeros(ps,D);

vel1 = zeros(ps,D);

aa = zeros(ps,D);

aa1 = zeros(ps,D);

%% Boundaries

if length(VRmin) == 1

VRmin = repmat(VRmin,1,D);

VRmax = repmat(VRmax,1,D);

end

mv = (VRmax - VRmin);

mv1 = mv;

VRmin = repmat(VRmin,ps,1);

VRmax = repmat(VRmax,ps,1);

% Vmin = repmat(-mv,ps,1);

% Vmax = -Vmin;

%% Initialize Every Particle

pos = round( VRmin + (VRmax - VRmin) .* rand(ps,D) );

pos1 = round( VRmin + (VRmax - VRmin) .* rand(ps,D) );

%% First Loop

f

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值