谢菲尔德遗传算法工具箱的使用

  • 安装工具箱
    • 下载工具箱
    • 添加路径
    • 标题
  • 遗传算法函数
    • ranking()函数
    • select()函数
    • bs2rv()函数
    • 小结

安装工具箱

谢菲尔德遗传算法工具箱作为matlab的一个函数库,可以简单实现遗传算法。我一开始学习了粒子群优化算法和鲸鱼优化算法等群智能优化算法,都是在整数域上,依靠不同的算子对种群中的每个agent进行迭代,也有接触过差分进化算法这类遗传算法的改进算法。初步了解遗传算法之后,便一直思考遗传算法中二进制和十进制之间的转换问题,因为涉及到十进制的小数部分和二进制的位数等方面。在谢菲尔德工具箱中,存在一个bs2rv()函数,该内置函数包含一个特定的算法,使得我们按照该算法需要的参数可以轻松将二进制数组转化为特定区间的十进制数,其中的原理也没有特别了解。

下载工具箱

原来的下载链接是由官方免费提供的,但是目前是被404的,需要的话可以私信我,原来的官网就是下面这个。
http://codem.group.shef.ac.uk/index.php/ga-toolbox
(1)从网盘里面下出来,为了好记加了中文,下载下来可以把前面的中文删了。

(2)解压出来放在matlab管理工具的文件夹(toolbox)里。P.S我用的是matlab2012a
在这里插入图片描述

添加路径

在matlab中找到下面的文件夹,把gatbx 添加到所有文件的路径中,我的这个matlab每次启动都需要添加一下.
在这里插入图片描述

标题

遗传算法函数

遗传算法是一种群智能优化算法。在种群中,通过对每个粒子进行选择,交叉,变异三个操作进行迭代。下面介绍几个稍微难理解的函数,对于几个函数,我的理解也可能存在偏差。

ranking()函数

ranking()函数有三种调用格式
1.FitnV = ranking(ObjV)
2.FitnV = ranking(ObjV,RFun)
3.FitnV = ranking(ObjV,RFun,SUBPOP)

第一种格式
ObjVobject value,储存一个向量。返回一个线性排序,压差=2的序列,这里线性排序和压差为2是默认属性。宏观上看,返回一个**[0,2]的向量,ObjV越大对应的返回值越小。这个返回值会在select函数**中被调用.
第二种格式
Rfun要传入一个两位的数组,
Rfun(1)中,对线性排序,Rfun(1)需要控制在[1,2],就我理解,压差是一种压缩模式,Rfun(1)=2,函数的返回值会控制在[0,2],Rfun(1)=1.5,返回值会控制在[0.5,1.5].
Rfun(2)中,Rfun(2)=1为非线性排序,Rfun(2)=0为线性排序。对于线性排序和非线性排序的了解不多,ranking()函数默认为线性排序。
第三种格式
默认SUBPOP = 1,SUBPOP定义了ObjV中子种群的数量,这个参数没有过多研究。

select()函数

从种群中选择个体
1.SelCh = select(SEL_F,Chrom,FitnV)
2.SelCh = select(SEL_F,Chrom,FitnV,GGAP)
3.SelCh = select(SEL_F,Chrom,FitnV,GGAP,SUBPOP)

第一种格式
SEL_F传入一个字符串参数’rws’是Roulette Wheel Selection,也就是轮盘赌和’sus’是Stochastic Universal Sampling,也就是随机通用采样。
第二种格式
GGAP表示代沟,即留下来的概率。默认为1.0

bs2rv()函数

二进制转为十进制函数
bs2rv(Chrom,FieldD)
这个函数理解为遗传算法工具箱里内置的一个算法,因为遗传算法中的选择,交叉,变异都是在二进制字符串中完成,所以需要这个函数转化为十进制。
FieldD理解为我们转化是需要传入的格式参数。
FieldD = [len lb ub code scale lbin ubin]
len = size(Chrom,2)
lb,ub分别为每个变量的上下限。
code传入的是编码模式,1表示标准的二进制编码,0表示格雷编码。
scale传入的子串的所用刻度,0表示算出刻度。1表示对数刻度。
lbin ubin分别表示转化的范围中是否包含边界,0表示不包含边界,1表示包含。

小结

本文只简单介绍了谢菲尔德遗传算法工具箱很少的一部分,有不正确的地方欢迎大家私信讨论,希望这篇文章在帮助我记录学习的点滴之余,也能帮助到大家。

谢菲尔德遗传算法工具箱

相关文章

  1. MFC界面库BCGControlBar新版功能详解一:Ribbon Bar

    近日,BCGSoft正式发布了v24.4,接下来几篇文章我想对这个版本的新功能一一进行介绍,让你对BCG这个控件有一个全新的认识和了解。需要最新版的可以点击这里【BCG下载】 1. 实现Office 2016-like Ribbon命令搜索("Tell Me"…...

    2023/1/31 20:32:25
  2. 全球及中国吊顶行业研究及十四五规划分析报告

    中国是最大的市场,约占59%的市场份额,其次是欧洲和美国,约占33%的市场份额。 主要的生产厂商有Armstrong, Saint-Gobain, Hunter, OWA, ROCKWOOL International, SAS International, Siniat, Hufcor, YOUPON INTEGRATED CEILING, Ouraohua等。…...

    2023/1/31 20:27:49
  3. IT 行业中Dev、RD、CPO、TeamLeader、QA、PM、PO ,HC,TL 分别是什么的简称,他们分别对应的职责是什么?

    1、Dev:软件研发技术负责人 软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。 2、RD:研发(Research and Development) 如:软…...

    2023/1/31 20:25:30
  4. 语义实例分割1-02:snake(实时实例分割))-官方数据训练测试,环境搭建等

    以下链接是个人关于 voxelpose(多视角3D人体姿态估算) 所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信:17575010159 相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓…...

    2023/1/31 20:21:30
  5. Android设置页面之PreferenceFragment的简单使用示例

    1.PreferenceFragment介绍 a.PreferenceFragment实际为Fragment的一个子类 b.创建一个PreferenceFragment需要绑定一个xml来显示视图 c.绑定后没就可以当作普通Fragment使用,只是每new一个实例就会创建一个SharePreference,把之前绑定的xml中的值写入保存&#x…...

    2023/1/31 20:19:45
  6. 面试 —— 进程和线程的区别

    一、进程 进程是程序在一个数据集上的一次动态执行的过程,是系统进行资源分配和调度的一个独立单位。 二、线程 线程:是进程的一个实体,是cpu调度和分派的基本单位,他是比进程更小的能够独立运行的基本单位,线程自己基…...

    2023/1/31 20:17:31
  7. 《集团客运系统》项目总结(C# mvc)

    《集团客运系统》项目总结(C# mvc) 作者:尚路成 本次任务完成时间:2017年8月15日~11月27日 开发工具与关键技术:Visual Studio C# MVC、CSS、HTML、JQ 1、项目概要系统共涵9个大模块,分别是售票管理、报班管理、检票管理、调度管…...

    2023/1/31 20:05:01
  8. 全球及中国吊链总成行业研究及十四五规划分析报告

    从地区看,欧洲市场份额较大,占39%。中美两国市场份额分别为21%和17%.主要的生产厂商有RUD Group, Pewag, Gunnebo, Peerless Industrial Group, Julisling, Delta Rigging & Tools, J.D. Theile, Retezarna A.S., Certified Slings等。排名前三的厂商约占40%的市场份额。 …...

    2023/1/31 20:04:47
  9. 杭州c语言,杭州c语言基础学习

    C语言是计算机体系结构的根底,向下能够操作硬件(包含ARM,DSP,单片机等各种微处理器),还能够写驱动,写OS,写编译器。向上能够进一步的学习C,JAVA等面向对象语言,再学习一些图形用户界…...

    2023/1/31 20:04:38
  10. 2021全国大学生电子设计竞赛C题

    三端口 DC-DC 变换器(C 题)...

    2023/1/31 19:52:30
  11. winhttp 发送 get 请求

    由于微端要和服务器交互,而服务器又只有http协议的处理,所以需要用C来模拟get或post请求。 这是使用windows api来模拟get请求的,使用到的库有“winhttp”,头文件有“winhttp.h”,下面的代码来源于http://msdn.microso…...

    2023/1/31 19:40:08
  12. AfxMessageBox另外一种快速使用方法

    在MFC中,很多字符串是要写到String table中的,如果AfxMessageBox要用到这种字符串,可以使用2种方法: 假设字符串ID为IDS_STRING1; 1.CString str; str.LoadString(IDS_STRING1); AfxMessageBox(str); 2.AfxMessag…...

    2023/1/31 19:35:59
  13. sql怎么发音mysql_[原创]SQL发音考证(搜寻SQL-86标准)

    据我观察,中国的开发者创造了一种独特的SQL发音:/sɜːkl/,既好听,又好读,挺好的。但是今年我开始做数据库相关的工作,作为一个专业人士,决定对SQL发音进行一些考证。直接说结论吧,很…...

    2023/1/31 19:35:24
  14. (62)C#里怎么样转换16进制字符串为数字类型?

    (62)C#里怎么样转换16进制字符串为数字类型? 在C#的开发里,经常遇到这种情况,比如正在开发上位机软件,这时候与下位机进行通讯,由于某种原因导致读取的数据不对,又因为下位机调试不方便,这时候下位机的开发人员就要求上位机软件里把通讯协议打印出来,这时需要把收到的…...

    2023/1/31 19:35:19
  15. mysql查询书籍v2ex_豆瓣图书 API 停服了,最近开发一个图书数据库的微信小程序,图书数量有几十万本,通过 ISBN 调用 API 获取图书信息...

    支持图书 API 调用,通过 ISBN 查询图书数据,支持 10 位和 13 位 ISBN,请将 {isbn} 更换为实际的图书 isbn,即可获取图书数据,更多介绍,请搜索“图书数据库丨图书 ISBN 丨图书 API”微信小程序,谢…...

    2023/1/31 19:27:25
  16. VirtualBox安装CentOS8

    镜像下载 官网下载地址: 点击进入 选择下载源 选择下载镜像 选择哪个都可以 创建虚拟电脑 新建虚拟电脑 内存分配 创建虚拟电脑 虚拟硬盘文件类型 专家模式 文件大小 存储在物理硬盘上-动态分配:在本地学习时选择,动态扩展大小存储在物…...

    2023/1/31 19:10:08
  17. PCB布线时怎样取消高亮显示?

    ShiftC...

    2023/1/31 19:08:12
  18. System.ArgumentException: Font '黑体' does not support style 'Regular'

    .net程序在一客户机器运行,打开后什么反应都没有,再看进程里,打开时进程一闪就退出。 后来终于在程序里发现产生了一个错误日志,错误信息如下。于是怀疑系统里丢失了字体,一查果然,C:\WINDOWS\Fonts 中缺少…...

    2023/1/31 19:08:08
  19. 推荐系统概述推荐系统算法简介

    文章目录一. 推荐系统概述1. 推荐系统目的2. 推荐系统的应用3. 推荐系统的基本思想数据分析(数据源)4. 推荐系统的分类二. 推荐系统算法简介1. 基于人口统计学的推荐算法2. 基于内容的推荐算法3. 基于协同过滤(行为数据)4. 混合推…...

    2023/1/31 19:08:04
  20. <input type=“file“> accept属性筛选文件类型上传

    关于form表单上传文件类型的筛选&#xff0c;如果你不希望用户上传任何类型的文件, 你可以使用 input 的 accept 属性. 设置支持 .doc / .docx / .xls / .xlsx / .pdf 格式: 1 <input type"file" accept".doc,.docx,.xls,.xlsx,.pdf,application/msword,app…...

    2023/1/31 19:08:02

最新文章

  1. 谢菲尔德遗传算法工具箱

    谢菲尔德遗传算法工具箱的使用安装工具箱下载工具箱添加路径标题遗传算法函数ranking()函数select()函数bs2rv()函数小结安装工具箱 谢菲尔德遗传算法工具箱作为matlab的一个函数库&#xff0c;可以简单实现遗传算法。我一开始学习了粒子群优化算法和鲸鱼优化算法等群智能优化…...

    2023/1/31 20:36:27
  2. 计算机英语词汇解释,常见计算机英语词汇解释

    常见计算机英语词汇解释学计算机专业的同学对一些计算机专业术语的英语的表述有多了解呢?下面是yjbys小编为大家带来的常见计算机英语词汇解释的知识&#xff0c;欢迎阅读。常见计算机英语词汇解释library 库,程序库linkage 连接to load 装入,寄存,写入,加载location 存储单元…...

    2023/1/31 20:36:23
  3. C语言求幂运算——奇特中文变量命名

    写在前面 主要涉及C/C趣味编程应用及解析面向初学者撰写专栏&#xff0c;个人代码原创如有错误之处请各位读者指正&#xff0c;各位可以类比做自己的编程作业请读者评论回复、参与投票&#xff0c;反馈给作者&#xff0c;我会获得持续更新各类干货的动力。 致粉丝&#xff1a;…...

    2023/1/31 20:36:21
  4. Java EE|软件视角下的操作系统

    文章目录前言操作系统的概念及常见的OS举例操作系统的定位以及它的功能/职责/作用全程高能&#xff01;&#xff01;&#xff01;敲黑板警告&#xff01;&#xff01;&#xff01;一、进程概念&#xff08;感性认知&#xff09;二、进程的描述和组织&#xff01;&#xff01;&a…...

    2023/1/31 20:35:49
  5. 关于e^x的部分公式和约算方法

    常用的几个不等式: ex≥x1e^{x}\geq x1ex≥x1ln⁡x≤x−1\ln x\leq x-1lnx≤x−1ex≥exe^{x} \geq exex≥exex≥1xx22e^x\geq1x\frac{x^2}{2}ex≥1x2x2​ 当x>0时&#xff0c;ex≥ex(x−1)2x2−(e−2)x1e^x\geq ex(x-1)^{2}x^2-(e-2)x1ex≥ex(x−1)2x2−(e−2)x1 上述算式在…...

    2023/1/31 20:35:16
  6. RTK_LIB 源码、可执行文件、rtkget、观测文件、星历文件(精密星历、广播星历)、精密钟差文件介绍

    RTK_LIB开源程序下载&#xff1a; 1.RTK_LIB:http://www.rtklib.com/ 下载最新版本的可执行文件和程序源码。 2.增强版包含数据rtklibexplorer&#xff1a;https://rtklibexplorer.wordpress.com/ GNSS数据处理需要的文件 伪距定位&#xff1a;spp 1.观测数据&#xff08;.…...

    2023/1/31 20:35:12
  7. 蓝牙耳机什么牌子好?性价比最高的蓝牙耳机排行榜

    近年来&#xff0c;蓝牙耳机品牌与日俱增&#xff0c;可供人们选择的范围也越来越大。当然&#xff0c;主打性价比的蓝牙耳机品牌也有很多&#xff0c;下面&#xff0c;我来给大家分享几款性价比最高的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小音舱蓝牙耳机 售价&#…...

    2023/1/31 20:34:55
  8. 计算机专业英语教程第五版课文,计算机专业英语教程阅读

    学习计算机专业的同学也需要去掌握一些常用的计算机英语&#xff0c;为帮助大家边学习计算机相关知识边练习英语能力&#xff0c;下面小编为大家带来&#xff0c;欢迎大家一起学习!计算机软件专业英语教程篇一Computer hardware has four parts: the central processing unit *…...

    2023/1/31 20:34:49
  9. Jenkins拉分支代码 + tortoiseGit删除分支

    日常部署测试代码都使用Jenkins代码手工上传代码&#xff0c;主要减减减减工作量&#xff0c;提高工作效率&#xff1b; 一、安装Git、git-parameter插件及配置方法&#xff0c;安装方法忽略一万字&#xff0c;解决不了绕道度娘问问 二、创建项目&#xff0c;设置参数 This pr…...

    2023/1/31 20:34:33
  10. uc995去后台

    uc浏览器(后台打开)后能关闭吗uc浏览器(后台打开)后可以关闭,具体的方法有以下两个:1、长按手机屏幕下中间的那个按键,这时就会手机出现手机的任务管理器,可以选择uc浏览器将它拖到"垃圾箱"中这样就关闭了应用程序,或者点击“全部移除”这样所有运行软件就全部结…...

    2023/1/31 20:34:12
  11. 免安装PortableGit配置 + TortoiseGit安装

    文章目录官网/安装Git将git命令添加到Path环境变量添加GitHub登录账号下载安装TortoiseGit官网/安装Git Git官网&#xff1a;https://git-scm.com/ 国内用户&#xff0c;建议通过淘宝镜像网站下载安装文件&#xff1a; https://registry.npmmirror.com/binary.html?pathgit…...

    2023/1/31 20:34:10
  12. 动易网站后台管理功能

    如何进入已有的动易系统的后台管理公司的网站(asp163.net)和技术论坛(bbs.asp163.net)是目前国内极具影响力的服务型网站和论坛。公司拥有一流的软件产品设计和开发团队,始终专注于研发具有自主核心技术和知识产权的软件产品,主要产品《动易网站管理系统》是当前中国最具性…...

    2023/1/31 20:33:53
  13. 04Oracle11g静默安装之应答文件详解dbca.rsp详解

    找了一篇说明文档仅供参考&#xff0c;大家可以看自己安装文档中的英文&#xff0c;或者网上再找找。注意安装时要使用你当前安装的oracle版本的dbca.rsp进行修改&#xff0c;否则可能会有问题。 ##########################################################################…...

    2023/1/31 20:33:52
  14. 米筐量化终端是什么?

    米筐量化终端大家应该也能想象到是应用的终端&#xff0c;是系统执行的终端环节&#xff0c;如果是用在量化方面&#xff0c;那它就是策略定制的终端&#xff0c;是方便投资者输入量化策略执行出来发最终优质目的&#xff0c;精确到细分股票的账户成交量&#xff0c;股价以及融…...

    2023/1/31 20:33:49
  15. leetcode(力扣) 416. 分割等和子集 (动态规划 01背包问题)

    文章目录题目描述思路分析完整代码题目描述 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 示例 1&#xff1a; 输入&#xff1a;nums [1,5,11,5] 输出&#xff1a;true 解释&#xff1a;数组可…...

    2023/1/31 20:33:08
  16. 【swagger】spring security中 swagger2,swagger3和knife4j集成的区别 真的弄懂了吗?

    文章目录导包正确方式swagger2在security中放行swagger3在security中放行knife4j放行失败原因分析&#xff1a;swagger访问失败原因分析&#xff1a;作为一个强迫症重度的程序猿 不想多导一个jar包 本文创作背景是鉴于网上大多数是旧版本swagger2的教程&#xff0c;且没有针对2…...

    2023/1/31 20:33:05
  17. 【Linux】进程状态与优先级

    文章目录进程状态概念Linux中的进程状态R(running)状态S(sleeping)状态D(disk sleep)状态T(stopped)状态t(tracing stop)状态X(dead)状态Z(zombie)状态特殊的孤儿进程进程优先级进程性质补充进程状态概念 《现代操作系统》中给出的进程状态的定义如下&#xff1a; 进程状态反映…...

    2023/1/31 20:32:47
  18. MFC界面库BCGControlBar新版功能详解一:Ribbon Bar

    近日&#xff0c;BCGSoft正式发布了v24.4&#xff0c;接下来几篇文章我想对这个版本的新功能一一进行介绍&#xff0c;让你对BCG这个控件有一个全新的认识和了解。需要最新版的可以点击这里【BCG下载】 1. 实现Office 2016-like Ribbon命令搜索&#xff08;"Tell Me"…...

    2023/1/31 20:32:25
  19. 【Python自动化测试10】文件基础操作

    文章目录一、前言二、文件操作合集2.1 open函数讲解2.1.1 open函数创建2.1.2 读取文件所有(read)2.1.3 读取文件第一行(readline)2.1.4 读取文件所有行并保存为列表(readlines)2.1.5 文件写入模式&#xff08;write&#xff09;2.1.6 自动关闭文件&#xff08;with&#xff09;…...

    2023/1/31 20:32:22
  20. 第一个springBoot maven 项目

    1. env: java 11 IntelliJ IDEA 2021.3.2 (Community Edition) 2. file->new project->Maven: pom.xml 需要导入的包&#xff1a;后面三个是jdk8升级到11后&#xff0c;可能会出错&#xff0c;需要用到的包 <parent><groupId>org.springframework.boot<…...

    2023/1/31 20:32:07