FindArgMin

FindArgMin[f,x]

f の極小値の位置 xminを与える.

FindArgMin[f,{x,x0}]

x=x0からスタートした検索で求まった,f の極小値の位置 xminを与える.

FindArgMin[f,{{x,x0},{y,y0},}]

複数の変数を持つ関数の極小値の位置{xmin,ymin,}を与える.

FindArgMin[{f,cons},{{x,x0},{y,y0},}]

条件 cons に従って極小値の位置を与える.

FindArgMin[{f,cons},{x,y,}]

条件で定義される範囲内の点からスタートする.

詳細とオプション

  • FindArgMin[,{x,y,}]は事実上{x,y,}/.Last[FindMinimum[,{x,y,},]に等しい.
  • 変数の始点がリストとして与えられた場合,変数の値は同じ次元のリストであるとみなされる.
  • cons は等式,不等式これらの論理結合を含むことができる.
  • 制約条件 cons は以下の論理結合でよい.
  • lhs==rhs等式
    lhs>rhs または lhs>=rhs 不等式
    {x,y,}reg領域指定
  • FindArgMinは,まずすべての変数の値を局所化し,次に記号的な変数で f を評価し,次に結果を繰返し数値的に評価する.
  • FindArgMinは属性HoldAllを有し,事実上Blockを使って変数を局所化する.
  • FindArgMin[f,{x,x0,x1}]x0x1x の最初の2つの値として使って導関数の使用を避けて f 中の極小値を検索する.
  • FindArgMin[f,{x,x0,xmin,xmax}]は極小値を検索し,xxminから xmaxまでの範囲外に出たところで検索を中止する.
  • fcons が両方とも線形である場合を除き,FindArgMinによって求まった結果は極小値のみに対応し,最小値には対応しない場合がある.
  • デフォルトで,すべての変数は実数であるとみなされる.
  • 線形の fcons について,xIntegersを使って変数が整数値のみを取るように指定することができる.
  • FindArgMinFindMinimumと同じオプションを取る.
  • 全オプションのリスト

例題

すべて開くすべて閉じる

  (4)

一変数関数2x^2+3x-5が最小となる点{x}を求める:

関数Sin[x]Sin[2y]が最小となる点{x,y}を求める:

制約条件に従って関数が最小となる点を求める:

幾何学領域内でミニマイザを求める:

これをプロットする:

スコープ  (12)

異なる始点で異なる極小の位置を得る:

x=2, y=2から始めた二変数関数の極小の位置:

円板内に制約された極小の位置:

始点は与えなくてもよい:

線形目的および制約について,整数の制約条件を課すことができる:

Or制約を指定することができる:

領域内のミニマイザを求める:

これをプロットする:

2領域間の最短距離を求める:

これをプロットする:

三角形と楕円が交差する最小の を求める:

これをプロットする:

指定された3点を含む最小半径の円板を求める:

これをプロットする:

Circumsphereを使うと同じ結果が直接得られる:

を使って 内のベクトルであると指定する:

2領域間の最短距離を求める:

これをプロットする:

オプション  (7)

AccuracyGoalとPrecisionGoal  (2)

これは収束基準TemplateBox[{{{x, _, k}, -, {x, ^, *}}}, Norm]<=max(10^(-9),10^(-8)TemplateBox[{{x, _, k}}, Norm])TemplateBox[{{del , {f, (, {x, _, k}, )}}}, Norm]<=10^(-9)を強制する:

これは収束基準TemplateBox[{{{x, _, k}, -, {x, ^, *}}}, Norm]<=max(10^(-20),10^(-18)TemplateBox[{{x, _, k}}, Norm])TemplateBox[{{del , {f, (, {x, _, k}, )}}}, Norm]<=10^(-20)を強制する:

WorkingPrecisionを高く設定するとプロセスが収束する:

EvaluationMonitor  (1)

極小値への収束をプロットする:

Gradient  (1)

与えられた勾配を使う.ヘッシアンが自動的に計算される:

勾配とヘッシアンの両方を与える:

Method  (1)

この場合,デフォルトの導関数に基づくメソッドには無理がある:

導関数を必要としない直接探索法がこの場合は役に立つ:

NMinimizeもまた,さまざまな直接探索法を使う:

StepMonitor  (1)

FindArgMinが関数の最小を求める際に取るステップ:

WorkingPrecision  (1)

作業精度をに設定する.デフォルトで,AccuracyGoalPrecisionGoalに設定される:

特性と関係  (1)

FindMinimumは最小の値と最小となる点の両方を与える:

FindArgMinは最小となる位置を与える:

FindMinValueは最小となる点における値を与える:

考えられる問題  (4)

制約範囲が空であると,アルゴリズムは収束しない:

最小値が有限ではないと,アルゴリズムは収束しない:

整数線形計画法アルゴリズムは機械数の問題にしか使えない:

適切な始点を与えると,アルゴリズムの収束が助けられることがある:

Wolfram Research (2008), FindArgMin, Wolfram言語関数, https://reference.wolfram.com/language/ref/FindArgMin.html (2014年に更新).

テキスト

Wolfram Research (2008), FindArgMin, Wolfram言語関数, https://reference.wolfram.com/language/ref/FindArgMin.html (2014年に更新).

CMS

Wolfram Language. 2008. "FindArgMin." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/FindArgMin.html.

APA

Wolfram Language. (2008). FindArgMin. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FindArgMin.html

BibTeX

@misc{reference.wolfram_2024_findargmin, author="Wolfram Research", title="{FindArgMin}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/FindArgMin.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_findargmin, organization={Wolfram Research}, title={FindArgMin}, year={2014}, url={https://reference.wolfram.com/language/ref/FindArgMin.html}, note=[Accessed: 22-November-2024 ]}