ConstraintTolerance | 非線形制約に関する実現可能性を決定します。また、max(sqrt(eps),ConstraintTolerance) は線形制約に関して実現可能性を決定します。 オプション構造の場合は、TolCon を使用します。 | 非負のスカラー | {1e-3} |
CreationFcn
| 初期集団を作成する関数。組み込み作成関数または関数ハンドルの名前として指定します。人口オプションを参照してください。 | {'gacreationuniform'} | {'gacreationlinearfeasible'}* | 'gacreationnonlinearfeasible' | {'gacreationuniformint'} I* for ga | {'gacreationsobol'} I* for gamultiobj | カスタム作成機能
|
CrossoverFcn
| アルゴリズムが交差子を作成するために使用する関数。組み込みクロスオーバー関数または関数ハンドルの名前として指定します。クロスオーバーオプションを参照してください。 | {'crossoverscattered'} は ga 、{'crossoverintermediate'}* は gamultiobj です | {'crossoverlaplace'} I* | 'crossoverheuristic' | 'crossoversinglepoint' | 'crossovertwopoint' | 'crossoverarithmetic' | カスタム クロスオーバー機能
|
CrossoverFraction
| 交差関数によって生成される、エリートの子供を除く次世代の人口の割合。 | 非負のスカラー | {0.8} |
Display
| 表示レベル。 | 'off' | 'iter' | 'diagnose' | {'final'}
|
DistanceMeasureFcn
| 個体間の距離の尺度を計算する関数。組み込みの距離測定関数または関数ハンドルの名前として指定します。値は、決定変数または設計空間 (遺伝子型) または機能空間 (表現型) に適用されます。デフォルトの 'distancecrowding' は関数空間 (表現型) にあります。gamultiobj 専用。多目的オプションを参照してください。 オプション構造体の場合は、名前ではなく関数ハンドルを使用します。 | {'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 アルゴリズムを参照してください。
オプション構造の場合は、TolFun を使用します。 | 非負のスカラー | ga の場合は {1e-6} 、gamultiobj の場合は {1e-4} |
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 を使用して残りの集団メンバーを生成します。人口オプションを参照してください。 オプション構造の場合は、InitialPopulation を使用します。 | マトリックス | {[]} |
InitialPopulationRange
| 初期集団内の個体の範囲を指定する行列またはベクトル。gacreationuniform 作成関数に適用されます。ga は、デフォルトの初期範囲をシフトおよびスケーリングして、任意の有限境界に一致させます。 オプション構造の場合は、PopInitRange を使用します。 | 行列またはベクトル | {[-10;10]} は非有界成分、{[-1e4+1;1e4+1]} は整数制約問題の非有界成分、{[lb;ub]} は有界成分、デフォルトの範囲は片側境界に合わせて変更されます |
InitialScoresMatrix
| 適応度を判断するために使用される初期スコア。最大 PopulationSize 行と Nf 列があり、Nf は適応度関数の数です (ga の場合は 1 、gamultiobj の場合は 1 より大きくなります)。部分スコア マトリックス (つまり、PopulationSize 行未満のマトリックス) を渡すことができます。その場合、ソルバーは適合関数を評価するときにスコアを入力します。 オプション構造の場合は、InitialScores を使用します。 | 単一目的の列ベクトル | 多目的の行列 | {[]} |
MaxGenerations
| アルゴリズムが停止するまでの最大反復回数。 オプション構造の場合は、Generations を使用します。 | 非負整数 |ga の場合は {100*numberOfVariables} 、gamultiobj の場合は {200*numberOfVariables} |
MaxStallGenerations
| MaxStallGenerations 世代にわたる最良の適応度関数値の平均相対変化が FunctionTolerance 以下になった場合、アルゴリズムは停止します。StallTest が 'geometricWeighted' の場合、加重平均相対変化が FunctionTolerance 以下であればアルゴリズムは停止します。
gamultiobj の場合、options.MaxStallGenerations 世代にわたるスプレッド値の相対的な変化の幾何平均が options.FunctionTolerance 未満になり、最終的なスプレッドが過去の options.MaxStallGenerations 世代にわたる平均スプレッドよりも小さくなると、アルゴリズムは停止します。gamultiobj アルゴリズムを参照してください。
オプション構造の場合は、StallGenLimit を使用します。 | 非負の整数 | ga の場合は {50} 、gamultiobj の場合は {100} |
MaxStallTime
| NM tic と toc で測定された MaxStallTime 秒間、目的関数に改善が見られない場合、アルゴリズムは停止します。 オプション構造の場合は、StallTimeLimit を使用します。 | 正のスカラー | {Inf} |
MaxTime
| アルゴリズムは、tic と toc で測定された MaxTime 秒間実行された後に停止します。この制限は各反復の後に適用されるため、反復にかなりの時間がかかる場合は ga が制限を超える可能性があります。 オプション構造の場合は、TimeLimit を使用します。 | 非負のスカラー | {Inf} |
MigrationDirection | 移行の方向。移行オプションを参照してください。 | 'both' | {'forward'}
|
MigrationFraction | 各サブ集団内で別のサブ集団に移動する個体の割合を指定する 0 から 1 までのスカラー。移行オプションを参照してください。 | スカラー | {0.2} |
MigrationInterval | 個体がサブポピュレーション間で移動する間に発生する世代数を指定する正の整数。移行オプションを参照してください。 | 正の整数 | {20} |
MutationFcn
| 突然変異の子を生成する関数。組み込みのミューテーション関数または関数ハンドルの名前として指定します。突然変異のオプションを参照してください。 | 制約なしの ga の {'mutationgaussian'} | 制約ありの gamultiobj および ga の {'mutationadaptfeasible'}* | {'mutationpower'} I* | 'mutationpositivebasis' | 'mutationuniform' | カスタム変異関数 |
NonlinearConstraintAlgorithm
| 非線形制約アルゴリズム。遺伝的アルゴリズムのための非線形制約ソルバーアルゴリズムを参照してください。gamultiobj ではオプションは変更できません。 オプション構造の場合は、NonlinConAlgorithm を使用します。 | ga では {'auglag'} 、gamultiobj では {'penalty'}
|
OutputFcn
| ga が各反復で呼び出す関数。関数ハンドルまたは関数ハンドルのセル配列として指定します。出力関数オプションを参照してください。
オプション構造の場合は、OutputFcns を使用します。 | 関数ハンドルまたは関数ハンドルのセル配列 | {[]} |
ParetoFraction
| gamultiobj の場合のみ、ソルバーがより高いフロントから個体を選択している間、最初のパレート フロントに保持する個体の割合を指定する 0 から 1 までのスカラー。多目的オプションを参照してください。
| スカラー | {0.35} |
PenaltyFactor | NM I* ペナルティ更新パラメータ。 | 正のスカラー | {100} |
PlotFcn
| アルゴリズムによって計算されたデータをプロットする関数。組み込みのプロット関数の名前、関数ハンドル、または組み込みの名前または関数ハンドルのセル配列として指定します。プロット オプションを参照してください。 オプション構造の場合は、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} | 混合整数問題の場合は {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
| 関数がベクトル化されるかどうかを指定します。ベクトル化と並列化オプション (ユーザー関数評価)および適応度関数をベクトル化するを参照してください。 オプション構造の場合は、値 'on' または 'off' とともに Vectorized を使用します。 | true | {false}
|