Matlab|遗传粒子群-混沌粒子群-基本粒子群

目录

[1 主要内容](#1 主要内容)

[2 部分代码](#2 部分代码)

[3 效果图](#3 效果图)

[4 下载链接](#4 下载链接)


1 主要内容

很多同学在发文章时候最犯愁的就是创新点创新点创新点(重要的事情说三遍),对于采用智能算法的模型,可以采用算法改进的方式来达到提高整个文章创新水平的目的,本篇分享一个效果比较好的粒子群三种算法实现代码,并给出测试函数的对比效果,以供有需要的同学学习。

本次分享的程序是遗传粒子群、混沌粒子群和基本粒子群的算法实现和效果对比,智能算法的创新以组合创新居多,通过两种或多种方法的优势结合从而实现算法优势叠加或者弥补劣势的目的,在算法寻优性能包括寻优速度、跳出局部最优等方面表现更加突出。

2 部分代码

复制代码
clc
clear
%杂交概率:Pc
%杂交池大小比例:Sp
%最大迭代次数:M
%问题的维数:D
%目标函数取最小值时的自变量值:xm
%目标函数的最小值:fv
PSO;
CPSO;
%% 参数初始化
%粒子群算法中的两个参数
c1 = 1.49445;%学习因子
c2 = 1.49445;%学习因子
wmax=0.9;%惯性因子最大值
wmin=0.4;%惯性因子最小值
D=10;%粒子维数
pc=0.5;%杂交概率
maxgen=1000;   % 迭代次数  
sizepop=20;   %种群规模
pm=0.05;%变异概率
Vmax=1;
Vmin=-1;
popmax=3;
popmin=-3;
randdata1= xlsread('randdata1');
randdata2= xlsread('randdata2');
%% 产生初始粒子和速度
for i=1:sizepop
    %随机产生一个种群
    pop(i,:)=randdata1(1,:);    %初始化粒子位置
    V(i,:)=randdata2(1,:);  %初始化粒子速度
    %pop(i,:)=rands(1,D);    %初始种群
    %V(i,:)=rands(1,D);  %初始化速度
    fitness(i)=fun(pop(i,:));   %计算每个粒子的适应度值
end
​
%% 个体极值和群体极值
[bestfitness bestindex]=min(fitness);
zbest=pop(bestindex,:);   %全局最佳
gbest=pop;    %个体最佳
fitnessgbest=fitness;   %个体最佳适应度值
fitnesszbest=bestfitness;   %全局最佳适应度值

3 效果图

通过改变fun.m中目标测试函数,就能得到不同测试函数的算法对比图。

4 下载链接

相关推荐
吃好睡好便好2 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
吃好睡好便好10 小时前
在Matlab中绘制阶梯图
开发语言·人工智能·学习·算法·机器学习·matlab
Deep-w10 小时前
【MATLAB】基于 MATLAB 的离网光伏储能微电网容量优化仿真研究
开发语言·算法·matlab
Deep-w11 小时前
【MATLAB】基于MATLAB的图像加密传输平台【GUI+源码+项目说明】
开发语言·matlab·密码学
Evand J11 小时前
【MATLAB集群控制导航7】多无人机三维编队轨迹规划仿真。RRT*+Catmull-Rom路径平滑+Frenet 编队保持。附MATLAB代码链接
开发语言·matlab·无人机
Evand J12 小时前
【课题推荐与代码介绍】卡尔曼滤波器正反向估计算法原理与MATLAB实现
开发语言·算法·matlab
简简单单做算法14 小时前
改进遗传优化的BP神经网络一维时间序列预测算法matlab仿真
matlab·bp神经网络·遗传优化·一维时间序列预测
m0_7488394916 小时前
利用C 图形界面展示MATLAB算法的高效混合编程实践
开发语言·算法·matlab
Evand J1 天前
【课题推荐】强跟踪UKF算法,三维非线性状态量和观测量,附MATLAB代码测试结果
开发语言·算法·matlab
茗创科技1 天前
Nat Hum Behav | 特征选择会导致基于脑影像的机器学习生物标志物产生迥异的神经生物学解释
python·深度学习·机器学习·matlab·脑网络