ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

optimoptions

最適化オプションの作成

構文

  • options = optimoptions(SolverName)
  • options = optimoptions(SolverName,Name,Value)
  • options = optimoptions(oldoptions,Name,Value)
  • options = optimoptions(SolverName,oldoptions)

説明

options = optimoptions(SolverName)SolverName ソルバーの一連の既定オプションを返します。

options = optimoptions(SolverName,Name,Value) は、名前付きパラメーターを指定値で変更してオプションを返します。

options = optimoptions(oldoptions,Name,Value) は、名前付きパラメーターを指定値で変更して oldoptions のコピーを返します。

options = optimoptions(SolverName,oldoptions)SolverName ソルバーの既定オプションを返し、oldoptions の該当するオプションを options にコピーします。

すべて折りたたむ

fmincon ソルバーの既定のオプションを作成します。

options = optimoptions('fmincon')
options = 

  fmincon options:

   Options used by current Algorithm ('interior-point'):
   (Other available algorithms: 'active-set', 'sqp', 'trust-region-reflective')

   Set properties:
     No options set.

   Default properties:
                    Algorithm: 'interior-point'
               CheckGradients: 0
          ConstraintTolerance: 1.0000e-06
                      Display: 'final'
     FiniteDifferenceStepSize: 'sqrt(eps)'
         FiniteDifferenceType: 'forward'
         HessianApproximation: 'bfgs'
                   HessianFcn: []
           HessianMultiplyFcn: []
                  HonorBounds: 1
       MaxFunctionEvaluations: 3000
                MaxIterations: 1000
               ObjectiveLimit: -1.0000e+20
          OptimalityTolerance: 1.0000e-06
                    OutputFcn: []
                      PlotFcn: []
                 ScaleProblem: 0
    SpecifyConstraintGradient: 0
     SpecifyObjectiveGradient: 0
                StepTolerance: 1.0000e-10
          SubproblemAlgorithm: 'factorization'
                     TypicalX: 'ones(numberOfVariables,1)'
                  UseParallel: 0

   Options not used by current Algorithm ('interior-point')
   Default properties:
    FunctionTolerance: 1.0000e-06


fmincon ソルバーの既定ではないオプションを作成します。

options = optimoptions(@fmincon,'Algorithm','sqp','MaxIterations',1500)
options = 

  fmincon options:

   Options used by current Algorithm ('sqp'):
   (Other available algorithms: 'active-set', 'interior-point', 'trust-region-reflective')

   Set properties:
                    Algorithm: 'sqp'
                MaxIterations: 1500

   Default properties:
               CheckGradients: 0
          ConstraintTolerance: 1.0000e-06
                      Display: 'final'
     FiniteDifferenceStepSize: 'sqrt(eps)'
         FiniteDifferenceType: 'forward'
       MaxFunctionEvaluations: '100*numberOfVariables'
               ObjectiveLimit: -1.0000e+20
          OptimalityTolerance: 1.0000e-06
                    OutputFcn: []
                      PlotFcn: []
                 ScaleProblem: 0
    SpecifyConstraintGradient: 0
     SpecifyObjectiveGradient: 0
                StepTolerance: 1.0000e-06
                     TypicalX: 'ones(numberOfVariables,1)'
                  UseParallel: 0

   Options not used by current Algorithm ('sqp')
   Default properties:
       FunctionTolerance: 1.0000e-06
    HessianApproximation: 'not applicable'
              HessianFcn: []
      HessianMultiplyFcn: []
             HonorBounds: 1
     SubproblemAlgorithm: 'factorization'


既存のオプションを新しい値で更新します。

lsqnonlin ソルバーのオプションを作成します。

oldoptions = optimoptions(@lsqnonlin,'Algorithm','levenberg-marquardt',...
    'MaxFunctionEvaluations',1500)
oldoptions = 

  lsqnonlin options:

   Options used by current Algorithm ('levenberg-marquardt'):
   (Other available algorithms: 'trust-region-reflective')

   Set properties:
                   Algorithm: 'levenberg-marquardt'
      MaxFunctionEvaluations: 1500

   Default properties:
              CheckGradients: 0
                     Display: 'final'
    FiniteDifferenceStepSize: 'sqrt(eps)'
        FiniteDifferenceType: 'forward'
           FunctionTolerance: 1.0000e-06
               MaxIterations: 400
                   OutputFcn: []
                     PlotFcn: []
    SpecifyObjectiveGradient: 0
               StepTolerance: 1.0000e-06
                    TypicalX: 'ones(numberOfVariables,1)'
                 UseParallel: 0

   Options not used by current Algorithm ('levenberg-marquardt')
   Default properties:
    JacobianMultiplyFcn: []
    OptimalityTolerance: 1.0000e-06
    SubproblemAlgorithm: 'factorization'


MaxFunctionEvaluations を 2000 に増やします。

options = optimoptions(oldoptions,'MaxFunctionEvaluations',2000)
options = 

  lsqnonlin options:

   Options used by current Algorithm ('levenberg-marquardt'):
   (Other available algorithms: 'trust-region-reflective')

   Set properties:
                   Algorithm: 'levenberg-marquardt'
      MaxFunctionEvaluations: 2000

   Default properties:
              CheckGradients: 0
                     Display: 'final'
    FiniteDifferenceStepSize: 'sqrt(eps)'
        FiniteDifferenceType: 'forward'
           FunctionTolerance: 1.0000e-06
               MaxIterations: 400
                   OutputFcn: []
                     PlotFcn: []
    SpecifyObjectiveGradient: 0
               StepTolerance: 1.0000e-06
                    TypicalX: 'ones(numberOfVariables,1)'
                 UseParallel: 0

   Options not used by current Algorithm ('levenberg-marquardt')
   Default properties:
    JacobianMultiplyFcn: []
    OptimalityTolerance: 1.0000e-06
    SubproblemAlgorithm: 'factorization'


ドット表記を使用して既存のオプションを新しい値に更新します。

lsqnonlin ソルバーのオプションを作成します。

options = optimoptions(@lsqnonlin,'Algorithm','levenberg-marquardt',...
    'MaxFunctionEvaluations',1500)
options = 

  lsqnonlin options:

   Options used by current Algorithm ('levenberg-marquardt'):
   (Other available algorithms: 'trust-region-reflective')

   Set properties:
                   Algorithm: 'levenberg-marquardt'
      MaxFunctionEvaluations: 1500

   Default properties:
              CheckGradients: 0
                     Display: 'final'
    FiniteDifferenceStepSize: 'sqrt(eps)'
        FiniteDifferenceType: 'forward'
           FunctionTolerance: 1.0000e-06
               MaxIterations: 400
                   OutputFcn: []
                     PlotFcn: []
    SpecifyObjectiveGradient: 0
               StepTolerance: 1.0000e-06
                    TypicalX: 'ones(numberOfVariables,1)'
                 UseParallel: 0

   Options not used by current Algorithm ('levenberg-marquardt')
   Default properties:
    JacobianMultiplyFcn: []
    OptimalityTolerance: 1.0000e-06
    SubproblemAlgorithm: 'factorization'


ドット表記を使用して MaxFunctionEvaluations を 2000 に増加させます。

options.MaxFunctionEvaluations = 2000
options = 

  lsqnonlin options:

   Options used by current Algorithm ('levenberg-marquardt'):
   (Other available algorithms: 'trust-region-reflective')

   Set properties:
                   Algorithm: 'levenberg-marquardt'
      MaxFunctionEvaluations: 2000

   Default properties:
              CheckGradients: 0
                     Display: 'final'
    FiniteDifferenceStepSize: 'sqrt(eps)'
        FiniteDifferenceType: 'forward'
           FunctionTolerance: 1.0000e-06
               MaxIterations: 400
                   OutputFcn: []
                     PlotFcn: []
    SpecifyObjectiveGradient: 0
               StepTolerance: 1.0000e-06
                    TypicalX: 'ones(numberOfVariables,1)'
                 UseParallel: 0

   Options not used by current Algorithm ('levenberg-marquardt')
   Default properties:
    JacobianMultiplyFcn: []
    OptimalityTolerance: 1.0000e-06
    SubproblemAlgorithm: 'factorization'


fmincon ソルバーに既定外のオプションを、 fminunc ソルバーのオプションに転送します。

fmincon ソルバーの既定ではないオプションを作成します。

oldoptions = optimoptions(@fmincon,'Algorithm','sqp','MaxIterations',1500)
oldoptions = 

  fmincon options:

   Options used by current Algorithm ('sqp'):
   (Other available algorithms: 'active-set', 'interior-point', 'trust-region-reflective')

   Set properties:
                    Algorithm: 'sqp'
                MaxIterations: 1500

   Default properties:
               CheckGradients: 0
          ConstraintTolerance: 1.0000e-06
                      Display: 'final'
     FiniteDifferenceStepSize: 'sqrt(eps)'
         FiniteDifferenceType: 'forward'
       MaxFunctionEvaluations: '100*numberOfVariables'
               ObjectiveLimit: -1.0000e+20
          OptimalityTolerance: 1.0000e-06
                    OutputFcn: []
                      PlotFcn: []
                 ScaleProblem: 0
    SpecifyConstraintGradient: 0
     SpecifyObjectiveGradient: 0
                StepTolerance: 1.0000e-06
                     TypicalX: 'ones(numberOfVariables,1)'
                  UseParallel: 0

   Options not used by current Algorithm ('sqp')
   Default properties:
       FunctionTolerance: 1.0000e-06
    HessianApproximation: 'not applicable'
              HessianFcn: []
      HessianMultiplyFcn: []
             HonorBounds: 1
     SubproblemAlgorithm: 'factorization'


該当するオプションを fminunc ソルバーに転送します。

options = optimoptions(@fminunc,oldoptions)
options = 

  fminunc options:

   Options used by current Algorithm ('trust-region'):
   (Other available algorithms: 'quasi-newton')

   Set properties:
              CheckGradients: 0
        FiniteDifferenceType: 'forward'
           FunctionTolerance: 1.0000e-06
                  HessianFcn: []
          HessianMultiplyFcn: []
               MaxIterations: 1500
         OptimalityTolerance: 1.0000e-06
                     PlotFcn: []
    SpecifyObjectiveGradient: 0
               StepTolerance: 1.0000e-06
         SubproblemAlgorithm: 'factorization'

   Default properties:
                   Algorithm: 'trust-region'
                     Display: 'final'
    FiniteDifferenceStepSize: 'sqrt(eps)'
      MaxFunctionEvaluations: '100*numberOfVariables'
                   OutputFcn: []
                    TypicalX: 'ones(numberOfVariables,1)'

   Options not used by current Algorithm ('trust-region')
   Default properties:
    ObjectiveLimit: -1.0000e+20


入力引数

すべて折りたたむ

文字ベクトルまたは関数ハンドルとして指定されるソルバー名です。

例: 'fmincon'

例: @fmincon

データ型: char | function_handle

options オブジェクトとして指定されるオプションです。関数 optimoptions が options オブジェクトを作成します。

例: oldoptions = optimoptions(@fminunc)

名前/値のペアの引数

オプションのコンマ区切りされた Name,Value 引数のペアを指定します。Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペア引数を任意の順番で指定できます。

例: optimoptions(@fmincon,'Display','iter','FunctionTolerance',1e-10)fmincon オプションを、反復表示をもち 1e-10FunctionTolerance をもつように設定します。

関連する名前と値のペアについては、ソルバーのオプション表を参照してください。

出力引数

すべて折りたたむ

options オブジェクトは、SolverName ソルバーのオプションとして返されます。

代替機能

アプリ

最適化アプリ (optimtool) を使用してオプションを設定および変更できます。

    メモ:   最適化アプリは、将来のリリースで削除される予定です。

R2013a で導入

この情報は役に立ちましたか?