当前位置:文档之家› 【实用资料】Matlab遗传算法工具箱简介.pdf

【实用资料】Matlab遗传算法工具箱简介.pdf

Matlab遗传算法工具箱
基于Matlab平台的遗传算法(GA)工具箱主要有:美国北卡罗来纳大学开发的GAOT、英国谢菲尔德大学开发的GATBX以及GADS(Genetic Algorithm and Direct Search Toolbox)遗传算法与直接搜索工具箱。

遗传算法与直接搜索工具箱的界面如图所示:
GADS工具箱用户界面
(1)Solver(求解器):用于选择需要的算法。

(2)Problem:需要解决的问题。

包括:
1)Fitness function:需要最小化的适应度函数,填写的格式为:@objfun,其中objfun.m是编写适应度函数的M文件,返回一个具体数值。

2)Number of variables:适应度函数的自变量的数目,此处表示优化设计的设计变量个数。

(3)Constraints约束。

1)Linear inequalities线性不等式约束,表示为:*
,填写矩阵A和向
A x b
量b的信息。

2)Linear equalities 线性等式约束,表示为:*Aeq x beq ,填写矩阵Aeq 和向量beq 的信息。

3)Bounds :填写独立变量的取值范围。

在Lower 中填写变量的取值下界,Upper 中填写变量的取值上界,均以向量形式表示。

4)Nonlinear constraint function 非线性约束函数,编写非线性约束函数的M 文件nonlcon.m ,则在此处填写@nonlcon 。

(4)Run solver and view results 运行求解器并观察结果。

点击Start 即可开始运行。

Current iteration 中将显示当前运行的代数。

Final point 栏中显示最优解对应的变量的取值。

(5)Option 部分是遗传算法参数的设定。

1)Population 种群参数设定。

Population type 种群类型,设定适应度函数的输入数据类型。

工具箱提供了
两种输入类型:双精度、串位,用户还可以编写M 文件自定义输入数据的类型。

Population size 种群规模,定义每一代种群的个体数量。

种群规模越大,遗传算法的运行速度越慢。

Creation function 创建函数,用于创建初始种群。

Initial population 初始种群,如果不指定初始种群,则系统将运用创建函数创建初始种群。

Initial scores 初始得分,如果此处没有定义初始得分,则系统应用适应度函数来计算初始得分。

Initial range 初始范围,用于指定初始种群中的各变量的上下限。

初始范围用一个矩阵表示,该矩阵行数为2,列数为变量的个数。

其中第一行描述初始种群中变量的取值下限,第二行描述初始种群中变量的取值上限。

2)Fitness scaling 适应度测量,包括:Rank 排序尺度变换、Proportional 比例尺度变换、Top 顶级尺度变换、Shift linear 线性转换尺度变换以及Custom 用户自定义。

3)Selection 选择,工具箱提供了以下几种选择函数:Stochastic uniform 随机
均匀分布、
Remainder 剩余、Uniform 均匀分布、Roulette 轮盘赌选择、Tournament 锦标赛选项、Custom 用户自定义。

4)Reproduction 再生参数,需设定可生存到下一代的精英个数Elite count ,以及下一代由交叉产生的部分所占比例Crossover fraction 。

5)Mutation变异,工具箱提供的变异函数有:Gaussian高斯函数、Uniform 均匀变异、Adaptive feasible自适应变异、以及用户自定义。

6)Crossover交叉,工具箱提供的交叉函数有:Scattered多点交叉、Single point 单点交叉、Two point两点交叉、Arithmetic算数交叉等。

7)Migration迁移,需设置个体在子种群中移动的方向Direction、间隔Interval,以及两个子种群中较小种群的个体迁移百分比Fraction。

8)Stoping criteria终止条件。

可设置遗传算法的最大代数、适应度极限、停滞时间、停滞代数等。

9)Hybird function混合函数参数。

在遗传算法结束之后,可指定一个最小值优化函数。

工具箱提供的优化函数有:fminsearch、patternsearch、fminunc、fmincon。

其中fminsearch、fminunc适用于无约束的优化,fmincon适用于有约束的优化。

10)Display to command window输出命令到窗口。

Display表示显示级别,是一个结构体。

其中包含:Off只有最终结果显示;Iterative显示每一次迭代的有关信息;Diagnose显示每一次迭代的信息,而且还列出函数缺省值已经被改变的有关信息;Final显示遗传算法的结果(成功与否)、停止的原因、最终点。

11)工具箱还提供了Plot functions图形输出、Output function输出函数、User function evaluation用户函数评估界面供用户选择。

相关主题