资源简介
遗传算法改进粒子群优化算法,可用于SVM的参数优化等,
代码片段和文件信息
%% GA 优化 PSO
%% 清空环境
clc;
clear
close all
%% 参数初始化
lenchrom=2; %字符串长度(个体长度),染色体编码长度
pc=0.7; %设置交叉概率,本例中交叉概率是定值,若想设置变化的交叉概率可用表达式表示,或从写一个交叉概率函数,例如用神经网络训练得到的值作为交叉概率
pm=0.3; %设置变异概率,同理也可设置为变化的
%粒子群算法中的两个参数
c1 = 1.49445;
c2 = 1.49445;
maxgen=10; % 进化次数
popsize=10; %种群规模
%粒子更新速度
Vmax=1;
Vmin=-1;
%种群
popKmax=20;
popKmin=2;
popamax=10000;
popamin=100;
% 变量取值范围
bound=[popKmin popKmax;popamin popamax]; %变量范围
% 优化粒子数目
par_num=2;
%% 产生初始粒子和速度
for i=1:popsize
%随机产生一个种群
pop(i1) = (popKmax-popKmin)*rand+popKmin;
pop(i2) = (popamax-popamin)*rand+popamin;
V(i1)=Vcmax*rands(11);
V(i2)=Vgmax*rands(11);
%初始化速度
%计算适应度
fitness(i)=fun(pop(i:)); %染色体的适应度
end
%找最好的染色体
[bestfitness bestindex]=min(fitness);
zbest=pop(bestindex:); %全局最
评论
共有 条评论