starbinbin_csu 发表于 2010-8-26 14:03:39

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'}

貌似没有和变异操作有关的参数,怎么会这样呢?

qibbxxt 发表于 2010-8-27 10:30:39

这个就不清楚了,你可以下载英国设菲尔德大学的基于matlab的遗传算法工具箱或者是美国北卡罗莱纳大学的看看,参考一下,matlab自带的也不错

qibbxxt 发表于 2010-8-27 14:24:26

本帖最后由 qibbxxt 于 2010-8-27 14:48 编辑

1# starbinbin_csu
我刚刚仔细看了一下,下面的一些可以讨论讨论
MutationFcn:产生变异子辈的函数句柄
MigrationDirection:迁移方向
MigrationFraction:0到1之间的标量,指明每个字种群迁移到不同种群的个体比率
MigrationInterval:正整数,指明间隔多少代子种群个体发生迁移
具体还可以参考相关的资料
http://www.matlabsky.com/thread-200-1-2.html

starbinbin_csu 发表于 2010-8-27 16:25:44

3# qibbxxt
非常感谢,此书正好给了我之前对PSO问题的一些疑惑,正在继续学习此书中~~
页: [1]
查看完整版本: matlab ga函数option的参数问题