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

news2024/10/5 23:18:30

目录

1 主要内容

2 部分代码

3 效果图

4 下载链接


主要内容

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

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

部分代码

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;   %全局最佳适应度值

效果图

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

4 下载链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1806482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Autosar 通讯栈配置-手动配置PDU及Signal-基于ETAS软件

文章目录 前言System配置ISignalSystem SignalPduFrameISignal到System Signal的mapSystem Signal到Pdu的mapPdu到Frame的mapSignal配置Can配置CanHwFilterEcuC配置PduR配置CanIf配置CanIfInitCfgCanIfRxPduCfgCom配置ComIPduComISignalSWC配置Data mappingRTE接口Com配置补充总…

AXI Quad SPI IP核中的STARTUPEn原语参数

启动STARTUPEn Primitive (原语)参数在 FPGA的主 SPI模式下非常有用。当你启用这个参数时,对于 7 系列设备,STARTUPE2 原语会被包含在设计中;而对于 UltraScale™ 设备,则是 STARTUPE3 原语。这些原语在 FP…

时隔很久运行苍穹外卖项目,出现很多错误

中途运行了很多其他项目,maven的配置文件还被我修改了一次。导致再次运行苍穹外卖项目出现很多错误。 发现没有办法,把本地的仓库删了个干干净净。然后点击clean发现报错: Cannot access alimaven (http://mavejavascript:void(0);n.aliyun.…

线性代数|机器学习-P11方程Ax=b求解研究

文章目录 1. 变量数和约束条件数大小分类2. 最小二乘法和Gram-schmidt变换2.1 Gram-schmidt变换2.2 最小二乘法2.2.1 损失函数-Lasso 和regression2.2.2 损失函数-Lasso2.2.3 损失函数-regression2.2.4 Regression岭回归-矩阵验证2.2.5 Regression岭回归-导数验证 3. 迭代和随机…

牛客网刷题 | BC119 最高分与最低分之差

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 输入n个成绩&#…

STM32F103C8T6 HAL库串口重定向

前言: 这里仅用做个人记录,实现USART1串口通信,并通过printf重定向输出“串口打印测试” 正文开始: 首先在STM32CubeMX上对串口进行配置,其实方法也非常简单。 按照箭头顺序,先点击Connectivity找到USART1…

NineData云原生智能数据管理平台新功能发布|2024年5月版

重点发布​ 数据库 DevOps - 表分组查询​ 在企业用户规模达到一定程度后,分库分表成为一种常见的数据库架构选择。在这种情况下,查询和维护数据需要高效的解决方案,以避免手动逐一查询、变更和汇总多个分库和分表的繁琐操作。 库分组变更…

泛微开发修炼之旅--13通过Ecology拦截器(注解的方式),拦截后端接口,实现接口执行成功后或执行前操作源码示例

文章链接:泛微开发修炼之旅--13通过Ecology拦截器(注解的方式),拦截后端接口,实现接口执行成功后或执行前操作源码示例

[个人感悟] Java基础问题应该考察哪些问题?

前言 “一切代码无非是数据结构和算法流程的结合体.” 忘了最初是在何处看见这句话了, 这句话, 对于Java基础的考察也是一样. 正如这句话所说, 我们对于基础的考察主要考察, 数据结构, 集合类型结构, 异常类型, 已经代码的调用和语法关键字. 其中数据结构和集合类型结构是重点…

牛客网刷题 | BC117 逆序输出

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 输入10个整数&…

ssm629基于SSM的二手交易平台设计与开发+jsp【已测试】

前言:👩‍💻 计算机行业的同仁们,大家好!作为专注于Java领域多年的开发者,我非常理解实践案例的重要性。以下是一些我认为有助于提升你们技能的资源: 👩‍💻 SpringBoot…

安装windows11系统跳过微软账号登录,使用本地账号登录方法

在安装win11系统,进行到如图下所示界面的时候,暂停下 我们可以按下键盘的ShiftF10按键(部分电脑是FnShiftF10),这时屏幕会出现命令行窗口,如图下所示 我们需要在命令行内输入代码oobe\bypassnro.cmd然后回车…

Linxu: Dynamic debug 简介

文章目录 1. 前言2. 什么是 Dynamic debug (dyndbg) ?3. Dynamic debug (dyndbg) 的使用3.1 开启 Dynamic debug (dyndbg) 功能3.2 使用 Dynamic debug (dyndbg) 功能 4. Dynamic debug (dyndbg) 的实现4.1 内核接口 dynamic_pr_debug() 的实现4.2 debugfs 导出控制节点 contr…

嵌入式中C语言经典的面试题分享

#error的作用是什么? #error 指令让预处理器发出一条错误信息,并且会中断编译过程。下面我们从Linux代码中抽取出来一小段代码并做修改得到示例代码: 这段示例代码很简单,当RX_BUF_IDX宏的值不为0~3时,在预处理阶段就会通过 #error 指令输出一条错误提示信息: "…

spring boot +Scheduled 动态定时任务配置

通常情况下我们设定的定时任务都是固定的,有时候需要我们动态的配置定时任务,下面看代码 import com.mybatisflex.core.query.QueryWrapper; import com.yzsec.dsg.web.modules.exportpwd.entity.ExportPwd; import com.yzsec.dsg.web.modules.exportpwd.entity.table.Export…

嵌入式单片机产品微波炉拆解分享

在厨房电器中,微波炉可以说是最具技术含量的电器,它的工作原理不像其他电器那样一眼就能看个明白,于是拆解了一个微波炉,分析内部电路。 微波炉的结构 微波炉由箱体、磁控管、变压器、高压电容器、高压二极管、散热风扇、转盘装置及一系列控制保护开关组成,大多数微波炉还…

人工智能和物联网如何结合

欢迎来到 Papicatch的博客 文章目录 🍉引言 🍉AI与IoT的结合方式 🍈数据处理和分析 🍍实例 🍈边缘计算 🍍实例 🍈自动化和自主操作 🍍实例 🍈安全和隐私保护 &…

【Python】探索 One-Class SVM:异常检测的利器

我已经从你的 全世界路过 像一颗流星 划过命运 的天空 很多话忍住了 不能说出口 珍藏在 我的心中 只留下一些回忆 🎵 牛奶咖啡《从你的全世界路过》 在数据科学和机器学习领域,异常检测(Anomaly Detection)是…

使用 Vue 官方脚手架初始化 Vue3 项目

Vite 官网:https://cn.vitejs.dev/ Vue 官网:https://vuejs.org/ Vue 官方文档:https://cn.vuejs.org/guide/introduction.html Element Plus 官网:https://element-plus.org/ Tailwind CSS 官网:https://tailwindcss.…

DS:堆的结构与实现

欢迎来到Harper.Lee的学习世界!博主主页传送门:Harper.Lee的博客主页想要一起进步的uu可以来后台找我哦! 一、堆的概念与结构 1.1 堆的概念 堆(Heap)是完全二叉树中的一种,分为大根堆和小根堆。 特点&#…