改进粒子群优化算法(APSO)的MATLAB源程序
作者:aaron8967 主页:http://aaron8967.blog.51cto.com
说明:粒子群优化算法(Particle Swarm Optimization, PSO)是群智能优化算法之一,具有便于实现和收敛速度快等优点。本人在研究这个算法的时候,编写了一些测试的MATLAB源程序,在此分享,以供学习交流之用。这个是引入自适应权重特征的粒子群优化算法。
文件结构:
主函数:main.m
适应度函数:Fitness.m
速度更新函数:UpdateV.m
粒子更新函数:UpdateP.m
数据处理函数:DataManage.m
源代码:
---------------------------main.m---------------------------
clear all;
%设置数据格式
format long;
%设置粒子群算法参数
max_iteration=1000; %最大迭代次数
swarm_size=200; %种群规模(粒子数量)
particle_size=2; %粒子维数(求解变量个数)
particle_min=[-100,-100]; %粒子各维最小值
particle_max=[100,100]; %粒子各维最大值
velocity_min=0; %粒子速度最小值
velocity_max=1; %粒子速度最大值
w_max=0.9; %惯性权重最大值
w_min=0.4; %惯性权重最小值
%初始化粒子群算法变量
w=zeros(max_iteration);