メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

オプションの設定

利用可能なpatternsearchオプションを指定するには、optionspatternsearchの入力引数として渡すことで、次の構文を使用できます。

[x,fval] = patternsearch(@fitnessfun,nvars, ... 
            A,b,Aeq,beq,lb,ub,nonlcon,options)

問題に表示されない制約については、空の括弧 [] を渡します。

optimoptions 関数を使用して options を作成します。

options = optimoptions(@patternsearch)
options = 

  patternsearch options:

   Set properties:
     No options set.

   Default properties:
            AccelerateMesh: 0
       ConstraintTolerance: 1.0000e-06
                   Display: 'final'
         FunctionTolerance: 1.0000e-06
           InitialMeshSize: 1
    MaxFunctionEvaluations: '2000*numberOfVariables'
             MaxIterations: '100*numberOfVariables'
                   MaxTime: Inf
     MeshContractionFactor: 0.5000
       MeshExpansionFactor: 2
             MeshTolerance: 1.0000e-06
                 OutputFcn: []
                   PlotFcn: []
                PollMethod: 'GPSPositiveBasis2N'
        PollOrderAlgorithm: 'consecutive'
                 ScaleMesh: 1
                 SearchFcn: []
             StepTolerance: 1.0000e-06
           UseCompletePoll: 0
         UseCompleteSearch: 0
               UseParallel: 0
             UseVectorized: 0

patternsearch 関数は、options を入力引数として渡さない場合にはこれらのデフォルト値を使用します。

各オプションの値は、options.MeshExpansionFactor などの options フィールドに保存されます。フィールド名の後に「options」と入力すると、これらの値を表示できます。例えば、パターン探索のメッシュ拡張係数を表示するには、次のように入力します。

options.MeshExpansionFactor
ans =
    2

デフォルトとは異なるフィールド値を持つ options を作成するには、optimoptions を使用します。たとえば、メッシュ拡張係数をデフォルト値の2ではなく3に変更するには、次のように入力します。

options = optimoptions('patternsearch','MeshExpansionFactor',3);

これにより、MeshExpansionFactor を除くすべての値がデフォルトに設定された options が作成され、MeshExpansionFactor3 に設定されます。

ここで、引数 options を指定して patternsearch を呼び出すと、パターン探索ではメッシュ拡張係数 3 が使用されます。

その後、optionsの別のフィールドを変更する場合、例えばPlotFcn@psplotmeshsizeに設定して各反復におけるメッシュサイズをプロットする場合は、次の構文でoptimoptionsを呼び出します。

options = optimoptions(options,'PlotFcn',@psplotmeshsize)

これにより、PlotFcn を除く options のすべてのフィールドの現在の値が保持されます。PlotFcn@plotmeshsize に変更されます。options 入力引数を省略すると、optimoptionsMeshExpansionFactor をデフォルト値である 2 にリセットすることに注意してください。

MeshExpansionFactorPlotFcnの両方を1つのコマンドで設定することもできます

options = optimoptions('patternsearch','MeshExpansionFactor',3,'PlotFcn',@psplotmeshsize)

参考

|

トピック