matlab ga函数option的参数问题
以下是我根据自己理解对ga函数参数的一些翻译,可是还是有很多参数不知道怎么用(见下文红字),希望大家来指导一下!!!注:在工作区间输入gaoptimset得到所有参数及其所有可能值。
注:{}表示默认设置。CreationFcn:初始种群的创立函数@gacreationuniform | @gacreationlinearfeasible
CrossoverFcn:产生子代的交叉函数(下文的)@crossoverheuristic | {@crossoverscattered} | @crossoverintermediate |@crossoversinglepoint | @crossovertwopoint | @crossoverarithmetic
CrossoverFraction:除了交叉函数产生的较优个体以外的子代大小。(这句翻译的比较拗口。。。)Positive scalar | {0.8}Display:结果显示方式Level of display'off' | 'iter' | 'diagnose' | {'final'}
DistanceMeasureFcnHandle to the function that computes distance measure of individuals,computed in decision variable or design space (genotype) or in function space(phenotype){@distancecrowding,'phenotype'}(这个不明白)
EliteCount:用来判断父代中有多少个体可以存活到子代.Positive integer | {2}
FitnessLimit:适应度极限,如果适应度函数达到极限值,退出。 Scalar | {-Inf}
FitnessScalingFcn:用来衡量适应度函数值的函数句柄@fitscalingshiftlinear | @fitscalingprop | @fitscalingtop |{@fitscalingrank}
Generations:遗传的代数Positive integer |{100}
HybridFcn:如果遗传算法终止时,设置接着进行求解的函数句柄,也可用向量
形式对那些函数参数进行设置Function handle | @fminsearch | @patternsearch | @fminunc | @fmincon |{[]}or1-by-2 cell array | {@solver, hybridoptions}, where solver = fminsearch,patternsearch, fminunc, or fmincon {[]}
InitialPenalty:初始惩罚因子的值Positive scalar | {10}
InitialPopulation:初始总群,可以为偏微分形式(这里不太明)Matrix | {[]}
InitialScores:用来判断适应度函数的初始值,可以为偏微分形式(不明白)Column vector | {[]}
MigrationDirection:交叉方向'both' | {'forward'}
MigrationFraction:子代中进行交叉的比率Scalar | {0.2}
MigrationInterval:交叉的个体数Positive integer | {20}
MutationFcn:交叉函数(和前面的crossover函数不知道有什么差别)@mutationuniform | @mutationadaptfeasible | {@mutationgaussian}
OutputFcns:每次迭代求解器都会调用的函数,用于输出当前求解信息。@gaoutputgen | {[]}
ParetoFractionScalar between 0 and 1 specifying the fraction of individuals to keep onthe first Pareto front while the solver selects individuals from higher fronts(这个不太明白=。=)Scalar | {0.35}
PenaltyFactor:惩罚因子更新参数(这个有什么用呢?)。Positive scalar | {100}
PlotFcns:用来绘制算法一些过称与结果的函数句柄。@gaplotbestf | @gaplotbestindiv | @gaplotdistance | @gaplotexpectation |@gaplotgeneology | @gaplotselection | @gaplotrange | @gaplotscorediversity |@gaplotscores | @gaplotstopping | {[]}
PlotInterval:在执行绘图函数的间隔代数。Positive integer | {1}
PopInitRange:设置初始种群的范围Matrix or vector |
PopulationSize:总群的大小Positive integer | {20}
PopulationType:种群的类型(当种群类型是前两者是,线性和非线性约束失效)'bitstring' | 'custom' | {'doubleVector'}
SelectionFcn:子代选择函数的句柄@selectionremainder | @selectionuniform | {@selectionstochunif} |@selectionroulette | @selectiontournament
StallGenLimit:设置如果有多少代种群适应度没有发生改变,遗传终止。Positive integer | {50}
StallTimeLimit:设置如果有久种群适应度没有发生改变,遗传终止。Positive scalar | {Inf}
TimeLimit:求解时间限制Positive scalar | {Inf}
TolCon:判定考虑到非线性约束的可行性Positive scalar | {1e-6}
TolFun:判断种群发生改变的下线。Positive scalar | {1e-6}
UseParallel:并行计算种群适应度'always' | {'never'}
Vectorized:适应度函数的计算是否进行矢量化。'on' | {'off'}
貌似没有和变异操作有关的参数,怎么会这样呢?
这个就不清楚了,你可以下载英国设菲尔德大学的基于matlab的遗传算法工具箱或者是美国北卡罗莱纳大学的看看,参考一下,matlab自带的也不错 本帖最后由 qibbxxt 于 2010-8-27 14:48 编辑
1# starbinbin_csu
我刚刚仔细看了一下,下面的一些可以讨论讨论
MutationFcn:产生变异子辈的函数句柄
MigrationDirection:迁移方向
MigrationFraction:0到1之间的标量,指明每个字种群迁移到不同种群的个体比率
MigrationInterval:正整数,指明间隔多少代子种群个体发生迁移
具体还可以参考相关的资料
http://www.matlabsky.com/thread-200-1-2.html 3# qibbxxt
非常感谢,此书正好给了我之前对PSO问题的一些疑惑,正在继续学习此书中~~
页:
[1]