蛇优化算法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 蛇优化算法
- 算法流程图
- 初始化
- 进化操作
- 搜索阶段(无食物)——全局搜索
- 搜索阶段(有食物)——局部搜索
- 战斗模式
- 交配模式
- 备注
- 测试结果
蛇优化算法
蛇优化算法(SO)主要是来源于蛇的交配行为。通过当前环境的温度、食物判断个体的下一步行为。
(1)当前食物不足时,个体搜索食物。
(2)当食物充足(>0.25),温度低(<0.6)时,个体进行战斗模式/交配模式
(3)当食物充足(>0.25),温度高(>=0.6)时,个体靠近食物
算法流程图

初始化
该算法将群体分为2个数量相同的雄性和雌性群体。
eq:
Nm表示雄性个体的数目,Nf表示雌性个体的数目

进化操作
计算食物Q

计算温度

搜索阶段(无食物)——全局搜索
当无食物的时候**(Q<0.25),蛇随机选择**位置进行移动。
雄性个体的位置移动:

雌性个体的位置移动:

雄性、雌性发现个体的能力


搜索阶段(有食物)——局部搜索
**(1)**Q>=0.25,且Temp>0.6时
个体向食物(最好的个体)靠近。

(2)Q>=0.25,Temp<0.6时,个体进入战斗或交配模式
战斗模式
雄性个体的位置更新

雌性个体的位置更新

雄性、雌性战斗力


交配模式
雄性个体的位置更新:

雌性个体的位置更新

雄性、雌性个体的交配能力

如果孵化出个体,替换雄和雌个体最差的个体

备注
在进行代码复现的时候,觉得在个体在搜索食物——全局搜索中,雌性个体的更新位置有些奇怪,

**雌性个体的更新位置和雄性不同,**这点不知道是什么意思。
测试结果
在代码复现解决F1~F11测试问题时,出现较多测试问题效果不佳的情况,希望大家能给点意见,比如:全局搜索时雌性个体的位置更新是如何的?
function my_fitness=my_function(X)% n = size(X,2); %计算x的维度
% f = 0;
% for i = 1:n
% f = f+(X(i).^2).^2;
% end
% my_fitness = f;o=sum(X.^4);
my_fitness=o;%F1测试问题[-100,100] min=0
% o=sum(X.^2);
% my_fitness=o;%F2测试问题[-10,10] min=0;
% o=sum(abs(X))+prod(abs(X));
% my_fitness=o;%F3测试问题——结果极差 min=0
% dim=size(X,2);
% o=0;
% for i=1:dim
% o=o+sum(X(1:i))^2;
% end
% my_fitness=o;%F4测试问题——结果极差[100,100] min=0
% o=max(abs(X));
% my_fitness=o;%F5测试问题[-30,30] min=0
% dim=size(X,2);
% my_fitness=sum(100*(X(2:dim)-(X(1:dim-1).^2)).^2+(X(1:dim-1)-1).^2);%F6测试问题[-100,100] min=0
% o=sum(abs((X+.5)).^2);
% my_fitness=o;%F7测试问题[-1.28,1.28]——测试结果不佳 min=0
% dim=size(X,2);
% o=sum([1:dim].*(X.^4))+rand;
% my_fitness=o;%F8测试问题(多峰)[-500,500]——测试结果不佳 min=-12569.5
% o=sum(-X.*sin(sqrt(abs(X))));
% my_fitness=o;%F9测试问题 [-5.12,5.12]——测试结果不佳 min=0
% dim=size(X,2);
% o=sum(X.^2-10*cos(2*pi.*X))+10*dim;
% my_fitness=o;%F10测试问题[-32,32]——测试结果不佳 min=0
% dim=size(X,2);
% o=-20*exp(-.2*sqrt(sum(X.^2)/dim))-exp(sum(cos(2*pi.*X))/dim)+20+exp(1);
% my_fitness=o;%F11测试问题[-600,600] min=0
% dim=size(X,2);
% o=sum(X.^2)/4000-prod(cos(X./sqrt([1:dim])))+1;
% my_fitness=o;end
相关文章:
蛇优化算法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 蛇优化算法算法流程图初始化进化操作搜索阶段(无食物)——全局搜索搜索阶段(有食物)——局部搜索战斗模式交配模式 备…...
循环神经网络(RNN)简单介绍—包括TF和PyTorch源码,并给出详细注释
文章目录 循环神经网络(RNN)入门教程1. 循环神经网络的原理2. 循环神经网络的应用3. 使用keras框架实现循环神经网络3.1导入对应的库及加载数据集3.2.数据预处理3.3定义RNN模型3.4训练模型3.5测试模型 4.使用PyTorch框架实现上述功能—注释详细5.结论 循…...
Struts2 快速入门
Struts2 是一个基于 MVC 设计模式的 Java Web 应用程序框架,它可以帮助我们更加有效地开发 Web 应用程序。Struts2 采用了前端控制器模式,通过核心控制器 DispatchServlet 将所有请求进行集中处理,然后将请求分发到指定的 Action 中ÿ…...
关于PullToRefreshView下拉刷新失效问题
一、问题原因 昨天,突然一个问题丢在了我的头上,用户反馈说某某界面下拉刷新不好使啊,怎么回事。二话不说直接运行项目,经过测试,发现果然不好使。一看代码提交日期好家伙2020年,百思不得其解,…...
JAVA开发中的六大原则
JAVA开发中的六大原则,也被称为SOLID原则,是软件开发中常用的一组设计原则。这些原则提供了实现高质量、易于维护和可扩展软件的基本策略。 以下是JAVA开发中的六大原则以及它们的详细说明: 单一职责原则(Single Responsibility…...
Matplotlib 安装
Matplotlib 安装 本章节,我们使用 pip 工具来安装 Matplotlib 库,如果还未安装该工具,可以参考python 怎么使用pip进行包管理。 安装 matplotlib 库: pip install matplotlib 安装完成后,我们就可以通过 import 来…...
CF - Li Hua and Pattern
题意:给出了矩阵,里面每个位置分为蓝色或红色(数据上用1和0体现了),给出了一个操作次数,每次可以改变一个坐标的颜色,问能否通过操作使得图像旋转180度后不变。 解:很容易想到&…...
重磅!阿里云云原生合作伙伴计划全新升级:加码核心权益,与伙伴共赢新未来
在今天的 2023 阿里云合作伙伴大会上,阿里云智能云原生应用平台运营&生态业务负责人王荣刚宣布: “阿里云云原生合作伙伴计划”全新升级。他表示: 云原生致力于帮助企业客户最大限度的减轻运维工作,更好的实现敏捷创新&#x…...
OSCP-Escape(gif绕过)
目录 扫描 WEB 扫描 sudo nmap 192.168.233.113 -p- -sS -sVPORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.29 ((Ubuntu)) 8080/tcp open http Apache…...
iMazing2023最新免费版iOS设备管理软件
iMazing是一款功能强大的iOS设备管理软件,它可以帮助用户备份和管理他们的iPhone、iPad或iPod Touch上的数据。除此之外,它还可以将备份数据转移到新的设备中、管理应用程序、导入和导出媒体文件等。本文将详细介绍iMazing的功能和安全性,并教…...
Git上传文件代码到GitHub
删除线上git:删除GitHub仓库里的文件夹_阿巴资源站的博客-CSDN博客 1. 创建空文件夹 2. cd 到本文件夹 3. git init ,初始化,在本地创建一个Git仓库 4. 同时按住“ Command Shift . ”三个按键,即可查看当下文件夹中的隐藏文件 5. 克隆…...
JavaScript概述二(Date+正则表达式+Math+函数+面向对象)
1.Date 1.1 new一个Date对象表示当前系统时间 var nownew Date(); console.log(now);1.2 根据传入的时间格式表示时间 var date1new Date(2023-4-20 00:16:40); console.log(date1); 1.3 传入时间毫秒数,返回从1900年1月1日8时(东八区)X分X…...
一个朋友弄来的,太牛了,特别是后面内容,不看不知道,一看吓一跳,电话,热线
一个朋友弄来的,太牛了,特别是后面内容,不看不知道,一看吓一跳,我也收藏一下: 工商银行 95588 建设银行 95533 农业银行 95599 中国银行 95566 交通银行 95559 浦发银行 95528 民生银行 95568 兴业银行 955…...
VGA协议实践
文章目录 前言一、VGA接口定义与传输原理1、VGA接口定义2、传输原理3、不同分辨率对应不同参数 二、Verilog编程1、VGA显示彩色条纹2、VGA显示字符3、输出一幅彩色图像4、Quartus操作1、添加PLL核2、添加ROM核 三、全部代码四、总结五、参考资料 前言 VGA的全称是Video Graphi…...
毕业5年的同学突然告诉我,他已经是年薪30W的自动化测试工程师....
作为一名程序员,都会对自己未来的职业发展而焦虑。一方面是因为IT作为知识密集型的行业,知识体系复杂且知识更新速度非常快,“一日不学就会落后”。 另外一方面,IT又是劳动密集型的行业,不仅业人员多,而且个…...
操作系统原理 —— 进程有哪几种状态?状态之间如何切换?(七)
进程的五种状态 首先我们一起来看一下进程在哪些情况下,会有不同的状态表示。 创建态、就绪态 当我们刚开始运行程序的时候,操作系统把可执行文件加载到内存的时候,进程正在被创建的时候,它的状态是创建态,在这个阶…...
可算是熬出头了,测试4年,费时8个月,入职阿里,涨薪14K
前言 你的努力,终将成就无可替代的自己。 本科毕业后就一直从事测试的工作,和多数人一样,最开始从事点点点的工作,看着自己的同学一步一步往上走,自己还是在原地踏步,说实话这不是自己想要的状态。 一年半…...
5款十分小众的软件,知道的人不多但却很好用
今天推荐5款十分小众的软件,知道的人不多,但是每个都是非常非常好用的,有兴趣的小伙伴可以自行搜索下载。 1.视频直播录制——OBS Studio OBS Studio可以让你轻松地录制和直播你的屏幕、摄像头、游戏等内容。你可以使用OBS Studio来创建多种…...
Linux驱动开发:uboot启动流程详解
前言:uboot作为Linux驱动开发的 “三巨头” 之一,绝对是一座绕不开的大山。当然,即使不去细致了解uboot启动流程依旧不影响开发者对uboot的简单移植。但秉持着知其然知其所以然的学习态度,作者将给读者朋友细致化的过一遍uboot启动…...
分治与减治算法实验: 排序中减治法的程序设计
目录 前言 实验内容 实验目的 实验分析 实验过程 流程演示 写出伪代码 实验代码 代码详解 运行结果 总结 前言 本文介绍了算法实验排序中减治法的程序设计。减治法是一种常用的算法设计技术,它通过减少问题的规模来求解问题。减治法可以应用于排序问题&…...
对比直接使用厂商API体验Taotoken在多模型选型上的便利
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接使用厂商API体验Taotoken在多模型选型上的便利 在开发基于大语言模型的应用时,一个常见的需求是尝试不同的模型…...
【ElevenLabs高棉文语音实战指南】:2024年唯一经实测支持Khmer TTS的AI语音方案,附5步接入避坑清单
更多请点击: https://codechina.net 第一章:【ElevenLabs高棉文语音实战指南】:2024年唯一经实测支持Khmer TTS的AI语音方案,附5步接入避坑清单 为什么ElevenLabs是当前唯一可行的Khmer TTS方案 截至2024年第三季度,…...
7.跨品牌手机刷机原理深度解析|BL 解锁机制 + 分区读写 + 故障修复全方案
摘要 本文系统性地阐述主流品牌智能手机(华为、小米、OPPO、vivo、一加、苹果)刷机与维修的核心原理与操作流程。针对不同品牌底层架构差异,提供从Bootloader解锁、Recovery刷写到系统固件注入的完整技术方案。所有操作步骤均基于实际硬件环境验证,包含完整可运行的Python…...
聊聊6G试验频率
2026年5月8日,工业和信息化部向IMT-2030(6G)推进组批复6G试验频率使用许可,支持其在部分地区开展6G技术试验。这一看似平常的行政批复,却有里程碑式的意义。它标志着中国6G产业进入到新的阶段,正加速从实验…...
代码大模型训练的典型工程挑战解析
我不能基于您提供的输入内容生成符合要求的博文。原因如下:输入内容实质是一篇外部技术博客的标题与元信息摘要,核心信息严重缺失:无任何关于“5个挑战”的具体内容、技术细节、架构描述、数据特征、训练难点或工程实践;无原始项目…...
POLYGON Military资源包:军事仿真级3D资产的精度逻辑与战术应用
1. 这个资源包不是“拿来就能用”的万能钥匙,而是军事仿真级资产的起点你刚在Unity Asset Store页面看到POLYGON Military资源包封面——几辆写实风格的装甲车停在沙尘弥漫的战壕边,一个全副武装的士兵正蹲姿持枪警戒,远处是半坍塌的混凝土掩…...
画图比写论文还难?这款毕设神器直接救大命
大家好!今天给大家分享一下我用这款毕设论文画图神器的完整使用流程,从生成配图到 AI 老师解析,手把手教你,小白也能一看就会! 一、准备阶段:3 种方式提交需求,总有一种适合你 打开工具后&…...
抖音获客失效?拆解本地商家流量困局的底层逻辑与破局路径
一、一个反直觉的数据先看两组数据,它们指向同一个方向。第一组:2025年,抖音本地生活服务GMV突破8500亿元。同期,入驻商家达到1519.8万家动销门店,399万新商家在一年内涌入。第二组:2026年Q1,抖…...
深度解密:如何彻底掌控Windows Defender的系统级权限与持久化配置
深度解密:如何彻底掌控Windows Defender的系统级权限与持久化配置 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-con…...
2026年双语论文降AI攻略:中英文双语毕业论文AIGC超标免费4.8元达标完整指南
2026年双语论文降AI攻略:中英文双语毕业论文AIGC超标免费4.8元达标完整指南 双语论文降AI这件事,踩过坑的人都知道:工具选错、操作方式错,钱白花还耽误时间。 直接给结论:嘎嘎降AI(www.aigcleaner.com&am…...
