Sheffield遗传算法工具箱

安装参考 http://www.cnblogs.com/kissrat/archive/2008/10/15/1311563.html

安装:

1

、解压gatbx-origin.zip

,得到DOC 和SRC 文件夹;

2、拷贝SRC 到Matlab 安装目录下的toolbox 文件夹中,并将SRC 更名为gatbx ;

3、打开toolbox\local\目录下的pathdef.m 文件,在适当位置添加以下两行代码: (也可addpath )

Code in pathdef.mmatlabroot,'\toolbox\gatbx;',... matlabroot,'\toolbox\gatbx\TEST_FNS;',...

这样子就表示安装好了吧,哈哈。。

>> v=ver('gatbx' )

v =

Name: 'Genetic Algorithm Toolbox'

Version: '1.2'

Release: ''

Date: '15-Apr-94'

Licenses: {'unknown' }

然而,事不尽人意,正准备好好研究下它的内置函数时,,

% 创建初始种群

clc;clear;

Nind=60; %种群个体数

Lind=30; %个体长度

[Chrom,Lind,BaseV]=CRTBP(Nind,Lind); %创建随机二进制矩阵

却报错了,错误如下。。。。

Cannot find an exact (case-sensitive)

match for 'CRTBP.m'

The closest match is E:\my programming

software\matlab\matlab

2012a\toolbox\gatbx\CRTBP.M

To change the file extension, cd to the

file 's folder, type:

movefile CRTBP.M CRTBP.m_bad;

movefile CRTBP.m_bad CRTBP.m

and then cd back.

Error in sheffield (line 10)

[Chrom,Lind,BaseV]=CRTBP(Nind,Lind);

%创建随机二进制矩阵

上网找了一个解决方法。。

http://www.ilovematlab.cn/thread-277326-1-1.html

但,仍然出错,,继续找解决方法

http://cn.mathworks.com/matlabcentral/answers/89490-cannot-find-an-exact-case-sensitive-match

http://cn.mathworks.com/help/matlab/matlab_env/toolbox-path-caching-in-the-matlab-program.html

(⊙o ⊙) 嗯,原来清空路径缓存就可以啦,开心!(英语还是蛮有用的,以后要好好学,O(∩_∩)O 哈哈~)

好啦,弄了一上午,终于可以开启我的遗传算法之旅了!

之前,遗传算法都是自己一点点摸索一点点写的,但是,很不幸,解决问题的效果不好。这就是在打击我的自信心嘛,(⊙o ⊙) …所以,决定换个思路,,

这几天整理知识,看了《Matlab 智能算法30个案例分析》这本书,嗯,为了更好的解决问题,还是学学著名的Sheffield 遗传算法工具箱啦。。

这篇博文整理得还不错 http://www.cnblogs.com/zhengnanlee/p/3439649.html

1. 创建种群

crtbase :创建基向量

crtbp :创建任意离散随机种群

crtrp :创建实质初始种群

2. 适应度计算

ranking :基于排序的适应度分配

scaling :比率适应度计算

3. 选择函数

rws :轮盘选择

sus :随机遍历采样

select :高级选择例程

4. 交叉算子

recdis :离散重组

recint :中间重组

recline :线性重组

recmut :具有变异特征的线性重组

xovdp :两点交叉算子

xovdprs :减少代理的两点交

xovmp :通常多点交叉

xovsh :洗牌交叉

xovshrs :减少代理的洗牌交叉

xovsp :单点交叉

xovsprs :减少代理的单点交叉

recombin :高级重组算子

5. 变异算子

mut :离散变异

mutate :高级变异函数

mutbga :实值变异

6. 重插入

reins :一致随机和基于适应度的重插入

7. 子种群的支持

migrate :在子种群间交换个体

8. 实用函数

bs2rv :二进制串到实值的转换

rep :矩阵的复制

遇到了一个区域描述器的概念,有点棘手。。

某一元函数优化

FieldD=[PRECI;lb;ub;1; 0; 1; 1]; %区域描述器

某二元函数优化

FieldD=[PRECI PRECI;lbx lby;ubx uby; 11; 00; 11; 11]; %区域描述器

X=bs2rv(Chrom,FieldD);

区域描述器行数必须为7

len; (num)

lb; (num)

ub; (num)

code; (0=binary | 1=gray)

scale; (0=arithmetic | 1=logarithmic)

lbin; (0=excluded | 1=included)

ubin]; (0=excluded | 1=included)

len是包含在Chrom 中的每个子串的长度,注意sum(len)=length(Chrom); lb、ub 是行向量,分别指明每个变量使用的上界和下界;

code是二进制行向量,指明子串是怎样编码的,code(i)=1为标准二进制编码,code(i)=0则为格雷编码

scale是二进制行向量,指明每个子串是否使用对数或算术刻度,scale(i)=0为算术刻度,scale(i)=1则为对数刻度;

lbin、ubin 是二进制行向量,指明表示范围中是否包含每个边界,选择lbin=0或ubin=0,表示从范围中去掉边界;lbin=1或ubin=1则表示范

围中包含边界。

安装参考 http://www.cnblogs.com/kissrat/archive/2008/10/15/1311563.html

安装:

1

、解压gatbx-origin.zip

,得到DOC 和SRC 文件夹;

2、拷贝SRC 到Matlab 安装目录下的toolbox 文件夹中,并将SRC 更名为gatbx ;

3、打开toolbox\local\目录下的pathdef.m 文件,在适当位置添加以下两行代码: (也可addpath )

Code in pathdef.mmatlabroot,'\toolbox\gatbx;',... matlabroot,'\toolbox\gatbx\TEST_FNS;',...

这样子就表示安装好了吧,哈哈。。

>> v=ver('gatbx' )

v =

Name: 'Genetic Algorithm Toolbox'

Version: '1.2'

Release: ''

Date: '15-Apr-94'

Licenses: {'unknown' }

然而,事不尽人意,正准备好好研究下它的内置函数时,,

% 创建初始种群

clc;clear;

Nind=60; %种群个体数

Lind=30; %个体长度

[Chrom,Lind,BaseV]=CRTBP(Nind,Lind); %创建随机二进制矩阵

却报错了,错误如下。。。。

Cannot find an exact (case-sensitive)

match for 'CRTBP.m'

The closest match is E:\my programming

software\matlab\matlab

2012a\toolbox\gatbx\CRTBP.M

To change the file extension, cd to the

file 's folder, type:

movefile CRTBP.M CRTBP.m_bad;

movefile CRTBP.m_bad CRTBP.m

and then cd back.

Error in sheffield (line 10)

[Chrom,Lind,BaseV]=CRTBP(Nind,Lind);

%创建随机二进制矩阵

上网找了一个解决方法。。

http://www.ilovematlab.cn/thread-277326-1-1.html

但,仍然出错,,继续找解决方法

http://cn.mathworks.com/matlabcentral/answers/89490-cannot-find-an-exact-case-sensitive-match

http://cn.mathworks.com/help/matlab/matlab_env/toolbox-path-caching-in-the-matlab-program.html

(⊙o ⊙) 嗯,原来清空路径缓存就可以啦,开心!(英语还是蛮有用的,以后要好好学,O(∩_∩)O 哈哈~)

好啦,弄了一上午,终于可以开启我的遗传算法之旅了!

之前,遗传算法都是自己一点点摸索一点点写的,但是,很不幸,解决问题的效果不好。这就是在打击我的自信心嘛,(⊙o ⊙) …所以,决定换个思路,,

这几天整理知识,看了《Matlab 智能算法30个案例分析》这本书,嗯,为了更好的解决问题,还是学学著名的Sheffield 遗传算法工具箱啦。。

这篇博文整理得还不错 http://www.cnblogs.com/zhengnanlee/p/3439649.html

1. 创建种群

crtbase :创建基向量

crtbp :创建任意离散随机种群

crtrp :创建实质初始种群

2. 适应度计算

ranking :基于排序的适应度分配

scaling :比率适应度计算

3. 选择函数

rws :轮盘选择

sus :随机遍历采样

select :高级选择例程

4. 交叉算子

recdis :离散重组

recint :中间重组

recline :线性重组

recmut :具有变异特征的线性重组

xovdp :两点交叉算子

xovdprs :减少代理的两点交

xovmp :通常多点交叉

xovsh :洗牌交叉

xovshrs :减少代理的洗牌交叉

xovsp :单点交叉

xovsprs :减少代理的单点交叉

recombin :高级重组算子

5. 变异算子

mut :离散变异

mutate :高级变异函数

mutbga :实值变异

6. 重插入

reins :一致随机和基于适应度的重插入

7. 子种群的支持

migrate :在子种群间交换个体

8. 实用函数

bs2rv :二进制串到实值的转换

rep :矩阵的复制

遇到了一个区域描述器的概念,有点棘手。。

某一元函数优化

FieldD=[PRECI;lb;ub;1; 0; 1; 1]; %区域描述器

某二元函数优化

FieldD=[PRECI PRECI;lbx lby;ubx uby; 11; 00; 11; 11]; %区域描述器

X=bs2rv(Chrom,FieldD);

区域描述器行数必须为7

len; (num)

lb; (num)

ub; (num)

code; (0=binary | 1=gray)

scale; (0=arithmetic | 1=logarithmic)

lbin; (0=excluded | 1=included)

ubin]; (0=excluded | 1=included)

len是包含在Chrom 中的每个子串的长度,注意sum(len)=length(Chrom); lb、ub 是行向量,分别指明每个变量使用的上界和下界;

code是二进制行向量,指明子串是怎样编码的,code(i)=1为标准二进制编码,code(i)=0则为格雷编码

scale是二进制行向量,指明每个子串是否使用对数或算术刻度,scale(i)=0为算术刻度,scale(i)=1则为对数刻度;

lbin、ubin 是二进制行向量,指明表示范围中是否包含每个边界,选择lbin=0或ubin=0,表示从范围中去掉边界;lbin=1或ubin=1则表示范

围中包含边界。


相关内容

  • Matlab遗传算法工具箱的应用
  • ^工●砷化聩件技m0.I.Automation2005年第24卷第6期Softwwe1khnjque2005.VbI.24.No.6文章蚺号l10D6一],76(2D05)06一0115一02 Matlab遗传算法工具箱的应用 曾日波 (江西财经大学电子学院,江西南昌330013) 摘要:Matla ...

  • 电阻抗成像技术的原理及其发展
  • 电阻抗成像技术的原理及其发展 程吉宽 孙进平 杜 岩 柳重堪 (北京航空航天大学 电子工程系)1) 摘 要 介绍了一种新的图像重建技术--电阻抗成像(EIT)技术.它根据物体内部不同物质的导电参数(如电阻率.电容率)的不同,通过对物体表面电流.电压的施加及测量来获知物体内部导电参数的分布,进而重建出 ...

  • 数学建模十大经典算法
  • 1.蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,是比赛时必用的方法) 2.数据拟合.参数估计.插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab 作为工具) 3.线性规划. ...

  • 多种群多编码遗传算法通用控件
  • 多种群多编码遗传算法通用控件MPGA 1.5 HBD 2007 (一)    多种群多编码遗传算法通用控件介绍 设计遗传算法通用控件的目的是向用户提供一个工程优化工具箱, 利用此工具箱用户可以方便地把遗传算法加入自己的软件中来优化用户自己定义的目标函数.用户只需要提供目标函数,再加入相应的设置代码后 ...

  • 城市轨道交通物资总库选址模型研究
  • [提要] 国内现有物资总库选址多采用一条线路至少设置一个物资总库,虽然这种方法可以极大地缩短设施点处理突发事件的时间,但却容易造成重复建设.本文以时间与成本因素为主要考虑对象的物资总库选址问题,提出以集合覆盖选址模型为基础的单物资总库服务多线路的研究方法,建立物资总库选址模型.以沈阳市现有物资总库布 ...

  • 排课系统的遗传算法交叉算子实现--本科毕业论文
  • 天 津 师 范 大 学 本科毕业论文(设计) 题目:排课系统的遗传算法交叉算子实现 学 院:计算机与信息工程学院 学生姓名: *** 学 号: ******** 专 业: 计算机科学与技术 年 级: 2008级 完成日期: 2012年4月 指导教师: 排课系统的遗传算法交叉算子实现 摘要:近年来随着 ...

  • 锅炉运行经济性分析
  • 毕业设计(论文) 题目: 锅炉运行经济性分析 学 班 级: 专 业: 2013年04月 锅炉运行经济性分析 学生姓名: 陈国宇 学 号: 103213320 班 级: 热动1033 所在院(系): 动力工程系 指导教师: 完成日期: 超临界电站锅炉运行热经济性优化研究 摘要 随着我国改革开放的不断深 ...

  • Matlab应用于物流配送中心选址问题的研究
  • 摘 要:基于Matlab软件优化工具箱与带时效性的物流配送中心选址模型,通过优化工具箱中的有约束非线性规划函数对模型进行求解.并通过实例所分析出的结果,体现出模型与工具对物流企业或供应链优化选址具有积极意义. 关键词:物流配送中心:选址中心:模型 中图分类号:F224 文献标识码:A 在物流系统中, ...

  • 基于遗传算法的装配线平衡_宋华明
  • 第20卷第1期(总第109期) 系 统 工 程 Vol.20,No.1 2002年1月 SystemsEngineering Jan.,2002 文章编号:1001-4098(2002)01-0087-05 基于遗传算法的装配线平衡 宋华明,韩玉启 (南京理工大学经济管理学院,江苏南京 210094 ...