您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > matlab工具箱遗传算法使用方法
简单的遗传算法可以使用Matlab自带的遗传算法工具箱,但是要从Matlab2010版本之后才会自带这个工具箱,且调用命令也有变化,分别是gatool和optimtool。GUI界面如下图所示:1、problemsetupandresults设置与结果(1)Solver:求解程序,选择要用的求解程序(遗传算法,遗传算法多目标等)(2)problem:1)fitnessfunction适应度函数,求最小,这里的使用度函数要自己编写,书写格式是“@函数名”。2)numberofvariable变量数,必须是整数,即,使用这个GUI界面的适应度函数的变量必须是[1*n]的向量,而不能是[m*n]的矩阵。3)constraints约束4)linearinequalities线性不等式,A*x=b形式,其中A是矩阵,b是向量5)linearequalities线性等式,A*x=b形式,其中A是矩阵,b是向量6)bounds定义域,lower下限,upper上限,列向量形式,每一个位置对应一个变量7)nonlinearconstraintfunction非线性约束,用户定义,非线性等式必须写成c=0形式,不等式必须写成c=0形式8)integervariableindices整型变量标记约束,使用该项时Aeq和beq必须为空,所有非线性约束函数必须返回一个空值,种群类型必须是实数编码举例,若是想让第一个、第三个、第五个变量保持是整数的话,则直接在此处填写[135]9)runsolverandviewresults求解userandomstatesfrompreviousrun使用前次的状态运行,完全重复前次运行的过程和结果2、population(1)populationtype编码类型1)doublevector实数编码,采用双精度。整数规划的种群类型必须是实数编码。2)bitstring二进制编码。对于生成函数和变异函数,只能选用uniform和custom,对于杂交函数,只能使用scatteredsinglepoint,twopoint或custom不能使用hybridfunction和nonlinearconstraintfunction3)custom自定义(2)populationsize:种群大小(3)creationfunction:生成函数,产生初始种群1)constraintdependent:约束相关。无约束时为uniform,有约束时为feasiblepopulation2)uniform:均匀分布3)feasiblepopulation:自适应种群,生成能够满足约束的种群(4)initialpopulation:初始种群,不指定则使用creationfunction生成,可以指定少于种群数量的种群,由creationfunction完成剩余的(5)initialscores:初始值,如果不指定,则由计算机计算适应度函数作为初始值,对于整型约束不可用,使用向量表示(6)initialrange:初始范围,使用向量矩阵表示,第一行表示范围的下限,第二行表示上限3、fitnessscaling:适应度尺度rank:等级。将适应度排序,然后编号proportional:按比例top:按比例选取种群中最高适应度的个体,这些个体有等比例的机会繁衍,其余的个体被淘汰shiftlinear:线性转换custom:用户定义4、selection(selectionfunction)依据适应值选择父代stochasticuniform:随机均匀分布remainder:残余,取适应值的整数部分进行轮盘赌选择uniform:不是一个好方法,但是可以用来做测试shiftlinear:线性转换roulette:轮盘赌算法tournament:联赛选择算法custom:自定义5、reproduction复制,决定如何产生子代elitecount:精英数,直接传到下一代的个体数crossoverfraction:杂交概率6、mutation(mutationfunction)突变useconstraintdependent默认,与约束有关,无约束时使用gaussian,有约束时使用adaptivefeasiblegaussian:利用高斯分布来选取uniform:均匀adaptivefeasible:custom:自定义7、crossover杂交scattered:随机生成遗传二进制向量,按0-1杂交singlepoint:单点杂交,生成一个数字,该数字代表的位置开始两父代基因交换twopoint:两点交换intermediate:媒介,加权平均heuristic:启发式算法arithmetic:算术平均custom:自定义8、migration迁移direction方向:forwardn-》n+1;both双向fraction:指定迁移率,以较小数量种群为标准interval:发生迁移的间隔9、constraintparameters约束参数,对应于非线性约束求解器initialpenalty:初始罚函数大于等于1penaltyfactor:处罚因子大于等于110、hybridfunction混合函数,指定另外一个最小值函数,在遗传算法结束之后计算,在整数值限制的时候不可用。nonefminsearch只用于无约束patternsearch约束与无约束fminunc无约束fmincon有约束11、stoppingcriteria停止标准generations到达代数timelimit时间限制fitnesslimit适应值限制stallgenerations迟滞代数,经过多代适应值没有明显提升stalltimelimit迟滞时间限制,经过限定时间适应值没有明显提升functiontolerance在迟滞代数内适应度函数值的改变量小于这个值,则停止nonlinearconstrainttolerance非线性约束容忍值12、plotfunction绘图函数plotinterval绘图间隔bestfitness最佳适应度值bestindividual最佳个体distance个体间平均距离expectation期望genealogy家系range适应度值最小最大平均值scorediversity每一代分数的柱状图scores每一代个体的分数selection描绘对每一代贡献的父代stopping停止标准的水平maxconstraint非线性约束中超出范围的最大值custom自定义13、outputfunction输出函数Customfunction:自定义14、displaytocommandwindowoff不输出iterative每一次迭代都输出diagnose诊断,每一次迭代都输出,并且诊断问题信息和选项中相对于默认值的改变值final只输出最终值15、evaluatefitnessandconstraintfunctions评价适应度和约束函数inserial分别独立评价vectorized用同一个函数调用inparallel并行处理
本文标题:matlab工具箱遗传算法使用方法
链接地址:https://www.777doc.com/doc-2887435 .html