二维粒子群算法的matlab源程序,二维粒子群算法的matlab源程序

粒子群算法的matlab实现

% 当前进化代数:对于每个粒子进行更新和评价----->>>>>>>

for j=1:pop_size

v(j,:)

w.*v(j,:)+c1.*rand.*(pbest(j,1:part_size)-arr_present(j,1:part_size))... =

+c2.*rand.*(gbest(1:part_size)-arr_present(j,1:part_size)); % 粒子速度更新 (a)

% 判断v的大小,限制v的绝对值小于20———————————————————

for k=1:part_size

if abs(v(j,k))>20

rand('state',sum(100*clock));

v(j,k)=20*rand();

end

end

%前几列是位置信息

arr_present(j,1:part_size)

arr_present(j,1:part_size)+v(j,1:part_size);% 粒子位置更新 (b)

%最后一列是适应度

arr_present(j,end) = fitness(part_size,arr_present(j,1:part_size)); % 适应度更新 (保存至最后一列)

% 适应度评价与可行域限制

if (arr_present(j,end)>pbest(j,end))&(Region_in(arr_present(j,:),region)) % 根据条件更新pbest,如果是最小的值为小于号,相反则为大于号

pbest(j,:) = arr_present(j,:); % 更新个体的历史极值

end

end

=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值