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