ConstraintTolerance | 确定在非线性约束下的可行性。另外,max(sqrt(eps),ConstraintTolerance) 确定在线性约束下的可行性。 对于 options 结构体,使用 TolCon 。 | 非负标量 | {1e-3} |
CreationFcn
| 创建初始种群的函数。指定为内置创建函数的名称或函数句柄。请参阅 种群选项。 | {'gacreationuniform'} | {'gacreationlinearfeasible'}* | 'gacreationnonlinearfeasible' | {'gacreationuniformint'} I*(适用于 ga )| {'gacreationsobol'} I*(适用于 gamultiobj )| 自定义创建函数
|
CrossoverFcn
| 算法用于创建交叉子代的函数。指定为内置交叉函数的名称或函数句柄。请参阅 交叉选项。 | {'crossoverscattered'} (适用于 ga )、{'crossoverintermediate'}* (适用于 gamultiobj )| {'crossoverlaplace'} I* | 'crossoverheuristic' | 'crossoversinglepoint' | 'crossovertwopoint' | 'crossoverarithmetic' | 自定义交叉函数
|
CrossoverFraction
| 交叉函数创建的下一代种群的比例,不包括精英子代。 | 非负标量 | {0.8} |
Display
| 显示级别。 | 'off' | 'iter' | 'diagnose' | {'final'}
|
DistanceMeasureFcn
| 用于计算个体距离测度的函数。指定为内置距离测度函数的名称或函数句柄。该值适用于决策变量或设计空间(基因型)或函数空间(表型)。默认 'distancecrowding' 在函数空间中(表型)。仅适用于 gamultiobj 。请参阅 多目标选项。 对于 options 结构体,使用函数句柄,而不是名称。 | {'distancecrowding'} 等效于 {@distancecrowding,'phenotype'} | {@distancecrowding,'genotype'} | 自定义距离函数
|
EliteCount
| NM 正整数,指定当前一代中保证存活到下一代的个体数量。gamultiobj 中未使用。 | 非负整数 | {ceil(0.05*PopulationSize)} | {0.05*(default PopulationSize)} (适用于混合整数问题) |
FitnessLimit
| NM 如果适应度函数达到 FitnessLimit 的值,则算法停止。 | 标量 | {-Inf} |
FitnessScalingFcn
| 用于缩放适应度函数值的函数。指定为内置缩放函数的名称或函数句柄。gamultiobj 的选项不可用。 | {'fitscalingrank'} | 'fitscalingshiftlinear' | 'fitscalingprop' | 'fitscalingtop' | 自定义适应适应度缩放函数
|
FunctionTolerance | 如果 MaxStallGenerations 代的最佳适应度函数值的平均相对变化小于或等于 FunctionTolerance ,则算法停止。如果 StallTest 为 'geometricWeighted' ,则在加权平均值相对变化小于或等于 FunctionTolerance 时,算法停止。 对于 gamultiobj ,如果 options.MaxStallGenerations 代内间距值相对变化的几何平均值小于 options.FunctionTolerance ,且最终间距小于过去 options.MaxStallGenerations 代内的均值间距,则算法停止。请参阅 gamultiobj 算法。 对于 options 结构体,使用 TolFun 。 | 非负标量 | {1e-6} 对应 ga ,{1e-4} 对应 gamultiobj |
HybridFcn
| I* 在 ga 终止后继续优化的函数。指定为名称或函数句柄。 或者,是指定混合函数及其选项的元胞数组。请参阅 ga 混合函数。 对于 gamultiobj ,唯一的混合函数是 @fgoalattain 。请参阅 gamultiobj 混合函数。 当问题有整数约束时,无法使用混合函数。 请参阅 何时使用混合函数。 | 函数名称或句柄 | 'fminsearch' | 'patternsearch' | 'fminunc' | 'fmincon' | {[]} 或者 1×2 元胞数组 | {@solver, hybridoptions} ,其中 solver = fminsearch 、patternsearch 、fminunc 或 fmincon {[]} |
InitialPenalty | NM I* 罚参数的初始值 | 正标量 | {10} |
InitialPopulationMatrix
| 用于为遗传算法提供种子的初始种群。最多包含 PopulationSize 行和 N 列,其中 N 是变量的数目。您可以传递部分种群,即行数少于 PopulationSize 的种群。在这种情况下,遗传算法使用 CreationFcn 生成其余的种群成员。请参阅 种群选项。 对于 options 结构体,使用 InitialPopulation 。 | 矩阵 | {[]} |
InitialPopulationRange
| 用于指定初始种群中个体范围的矩阵或向量。适用于 gacreationuniform 创建函数。ga 对默认初始范围进行移位和缩放以匹配任何有限边界。 对于 options 结构体,使用 PopInitRange 。 | 矩阵或向量 | {[-10;10]} 适用于无界分量,{[-1e4+1;1e4+1]} 适用于整数约束问题的无界分量,{[lb;ub]} 适用于有界分量,默认范围已修改以匹配单边边界 |
InitialScoresMatrix
| 用于确定适应度的初始分数。最多包含 PopulationSize 行和 Nf 列,其中 Nf 是适应度函数的数目(对于 ga 为 1 ,对于 gamultiobj 则大于 1 )。您可以传递部分分数矩阵,即行数少于 PopulationSize 的分数矩阵。在这种情况下,求解器在计算适应度函数时会填充分数。 对于 options 结构体,使用 InitialScores 。 | 单目标的列向量 | 多目标的矩阵 | {[]} |
MaxGenerations
| 算法停止前的最大迭代次数。 对于 options 结构体,使用 Generations 。 | 非负整数 | {100*numberOfVariables} (适用于 ga )、{200*numberOfVariables} (适用于 gamultiobj ) |
MaxStallGenerations
| 如果 MaxStallGenerations 代的最佳适应度函数值的平均相对变化小于或等于 FunctionTolerance ,则算法停止。如果 StallTest 为 'geometricWeighted' ,则在加权平均值相对变化小于或等于 FunctionTolerance 时,算法停止。 对于 gamultiobj ,如果 options.MaxStallGenerations 代内间距值相对变化的几何平均值小于 options.FunctionTolerance ,且最终间距小于过去 options.MaxStallGenerations 代内的均值间距,则算法停止。请参阅 gamultiobj 算法。 对于 options 结构体,使用 StallGenLimit 。 | 非负整数 | {50} 用于 ga ,{100} 用于 gamultiobj |
MaxStallTime
| NM 如果目标函数在 MaxStallTime 秒(根据 tic 和 toc 的测量)内没有改进,则算法停止。 对于 options 结构体,使用 StallTimeLimit 。 | 正标量 | {Inf} |
MaxTime
| 算法在运行 MaxTime 秒(根据 tic 和 toc 的测量)后停止。此限制在每次迭代后强制执行,因此当迭代花费大量时间时,ga 可能会超出此限制。 对于 options 结构体,使用 TimeLimit 。 | 非负标量 | {Inf} |
MigrationDirection | 迁移方向。请参阅 迁移选项。 | 'both' | {'forward'}
|
MigrationFraction | 从 0 到 1 的标量,指定每个子种群中迁移到不同子种群的个体比例。请参阅 迁移选项。 | 标量 | {0.2} |
MigrationInterval | 正整数,指定个体在子种群之间迁移时发生的代数。请参阅 迁移选项。 | 正整数 | {20} |
MutationFcn
| 产生变异子代的函数。指定为内置变异函数的名称或函数句柄。请参阅 变异选项。 | {'mutationgaussian'} (适用于无约束的 ga )| {'mutationadaptfeasible'}* (适用于 gamultiobj 和有约束的 ga )| {'mutationpower'} I * | 'mutationpositivebasis' | 'mutationuniform' | 自定义变异函数
|
NonlinearConstraintAlgorithm
| 非线性约束算法。请参阅 遗传算法算法的非线性约束求解算法。gamultiobj 的选项不可改变。 对于 options 结构体,使用 NonlinConAlgorithm 。 | {'auglag'} (对于 ga ),{'penalty'} (对于 gamultiobj )
|
OutputFcn
| ga 在每次迭代中调用的函数。指定为函数句柄或函数句柄元胞数组。请参阅 输出函数选项。
对于 options 结构体,使用 OutputFcns 。 | 函数句柄或函数句柄元胞数组| {[]} |
ParetoFraction
| 从 0 到 1 的标量,指定当求解器从更高的前沿选择个体时,要保留在第一个帕累托前沿的个体的比例(仅适用于 gamultiobj )。请参阅 多目标选项。 | 标量 | {0.35} |
PenaltyFactor | NM I* 罚更新参数。 | 正标量 | {100} |
PlotFcn
| 绘制由算法计算的数据的函数。指定为内置绘图函数的名称、函数句柄,或者为由内置名称或函数句柄组成的元胞数组。请参阅 绘图选项。 对于 options 结构体,使用 PlotFcns 。 | ga 或 gamultiobj :{[]} | 'gaplotdistance' | 'gaplotgenealogy' | 'gaplotselection' | 'gaplotscorediversity' |'gaplotscores' | 'gaplotstopping' | 'gaplotmaxconstr' | 自定义绘图函数
仅限 ga :'gaplotbestf' | 'gaplotbestindiv' | 'gaplotexpectation' | 'gaplotrange' 仅限 gamultiobj :'gaplotpareto' | 'gaplotparetodistance' | 'gaplotrankhist' | 'gaplotspread' |
PlotInterval | 正整数,指定对绘图函数的连续调用之间的代数。 | 正整数 | {1} |
PopulationSize
| 种群大小。 | 正整数 | 当 numberOfVariables <= 5 时为 {50} ,否则为 {200} | 仅当使用 ga 求解混合整数问题时为 {min(max(10*nvars,40),100)} |
PopulationType
| 种群的数据类型。对于混合整数问题,必须为 'doubleVector' 。 | 'bitstring' | 'custom' | {'doubleVector'}
当 PopulationType 设置为 'bitString' 或 'custom' 时,ga 忽略所有约束。请参阅 种群选项。 |
SelectionFcn
| 选择交叉和变异子代的父代的函数。指定为内置选择函数的名称或函数句柄。 gamultiobj 仅使用 'selectiontournament' 或自定义选择函数。
| {'selectionstochunif'} (适用于 ga )、{'selectiontournament'} (适用于 gamultiobj )| 'selectionremainder' | 'selectionuniform' | 'selectionroulette' | 自定义选择函数
|
StallTest | NM 停止测试类型。 | 'geometricWeighted' | {'averageChange'}
|
UseParallel | 并行计算适应度函数和非线性约束函数。请参阅向量化和并行选项(用户函数评估)和如何在 Global Optimization Toolbox 中使用并行处理。 | true | {false}
|
UseVectorized
| 指定函数是否向量化。请参阅向量化和并行选项(用户函数评估)和向量化适应度函数。 对于 options 结构体,使用 Vectorized 和值 'on' 或 'off' 。 | true | {false}
|