MATLAB 自带优化工具箱(optimization Tool)之遗传算法简述
在命令窗口内一键启动工具箱
>> Optimtool
对窗口页面进行解释
一、Promblem setup and results
- Solver(求解器):选择选择需要的算法
- Problem:需要解决的问题
- Fitness function:需要优化的目标函数,填写格式:@f (f为编写目标函数的文件名)
- Number of variables:目标函数输入变量的数目
- Constraints (约束)
- Linear inequalities(线性不等式约束):表示为:A*x<=b, 填写矩阵A和向量b
- Linear equalities(线性不等式约束):表示为:Aeq*x=beq, 填写矩阵Aeq和向量beq
- Bounds:变量的取值范围,Lower取下界 Upper 取上界,均以向量表示
- Nonlinear constraint function(非线性约束函数)填写格式:@nonlcon(nonlcon为非线性约束函数的文件)
- Run olver and view result 运行求解器并观察结果:
Star 开始运行遗传算法。Current iteration :显示当前运行的次数Final point:显示最优解对应变量的取值
二、Option:遗传算法参数设定
- 1.Population 种群参数设定
(1)Population type 编码方式:浮点编码和二进制编码,默认Double vector
(2)Population size 种群大小:默认50
(3)Creation function 创建函数:创建初始种群
(4)intial Population初始化种群,如果不指定初始种群,则系统将运用创建函数创建初始种群
(5)initial scores 初始得分,若此处未定义初始得分,则系统运用适应度函数计算初始得分
(6)initial range 初始范围,用于指定初始种群中各变量的上下限,初始范围用矩阵表示,行数表示变量个数,每行2个元素且表示变量上下界。
2.Fitness scaling:变换适应度函数值的函数句柄。
3.slection 选择方法
4.reproduction:复制
(1)Elite count保留上一代个体的个数
(2)crossover fraction:交叉的概率
5.mutation:变异方法
6.crossover:交叉方法
7.migration:指定迁移方向,概率和频率
8.constraint parameter 约束参数(针对非线性约束函数)
9.hybrid function(暂时不知道怎么用)
10.Stop criteria:指定约束条件,
(1)Generation和Timelimit指定迭代代数和时间的最大极限
(2)Fitness limit指定小于某一阈值就可以收敛,
(3)stall Generation和stallTimelimit:经过多少代或多久最优值没有出现变化时就收敛。
11.Plot function:与图形输出有关,
(1)plot interval 指定多少代输出一次默认为1
(2)Best fitness和best invividual 表示将最优解和相应个体输出到图像上。
12.Display to command window:输出到命令窗口。
文章创作不易,求赏