FindMinValue[f,x]
f の極小値を与える.
FindMinValue[f,{x,x0}]
点 x=x0からスタートした検索で求まった,f の極小値を与える.
FindMinValue[f,{{x,x0},{y,y0},…}]
複数の変数を持つ関数の極小値を与える.
FindMinValue[{f,cons},{{x,x0},{y,y0},…}]
条件 cons に従って極小値を与える.
FindMinValue[{f,cons},{x,y,…}]
条件で定義される範囲内の点からスタートする.
FindMinValue
FindMinValue[f,x]
f の極小値を与える.
FindMinValue[f,{x,x0}]
点 x=x0からスタートした検索で求まった,f の極小値を与える.
FindMinValue[f,{{x,x0},{y,y0},…}]
複数の変数を持つ関数の極小値を与える.
FindMinValue[{f,cons},{{x,x0},{y,y0},…}]
条件 cons に従って極小値を与える.
FindMinValue[{f,cons},{x,y,…}]
条件で定義される範囲内の点からスタートする.
詳細とオプション
- FindMinValue[…]は事実上First[FindMinimum[…]]に等しい.
- 変数の始点がリストで与えられた場合,変数の値は同じ時点のリストであるとみなされる.
- cons は方程式,不等式これらの論理結合を含むことができる.
- 制約条件 cons は以下の論理結合でよい.
-
lhs==rhs 方程式 lhs>rhs または lhs>=rhs 不等式 {x,y,…}∈reg 領域指定 - FindMinValueは,まずすべての変数の値を局所化し,次に記号的な変数で f を評価し,次に結果を繰返し数値的に評価する.
- FindMinValueは属性HoldAllを有し,事実上Blockを使って変数を局所化する.
- FindMinValue[f,{x,x0,x1}]は x0と x1を x の最初の2つの値として使って導関数の使用を避けて f 中の極小値を検索する.
- FindMinValue[f,{x,x0,xmin,xmax}] は極小値を検索し,x が xminから xmaxまでの範囲外に出たところで検索を中止する.
- f と cons が両方とも線形である場合を除き,FindMinValueによって求まった結果は極小値のみに対応し,最小値には対応しない場合がある.
- デフォルトで,すべての変数は実数であるとみなされる.
- 線形の f と cons について,x∈Integersを使って変数が整数値のみを取るように指定することができる.
- FindMinValueはFindMinimumと同じオプションを取る.
-
AccuracyGoal Automatic 目標確度 EvaluationMonitor None f が評価されたときに常に評価される式 Gradient Automatic f の勾配要素のリスト MaxIterations Automatic 使用する最大反復回数 Method Automatic 使用するアルゴリズム PrecisionGoal Automatic 目標精度 StepMonitor None 段階を取るたびに常に評価される式 WorkingPrecision MachinePrecision 内部計算で使用する精度
全オプションのリスト
例題
すべて開く すべて閉じる例 (4)
FindMinValue[2x ^ 2 - 3x + 5, x]FindMinValue[Sin[x]Sin[2y], {x, y}]FindMinValue[{x - 2y, x ^ 2 + y ^ 2 ≤ 1}, {x, y}]FindMinValue[{x + y, {x, y}∈Disk[]}, {x, y}]スコープ (12)
FindMinValue[x Cos[x], {x, 5}]FindMinValue[x Cos[x], {x, 10}]FindMinValue[Sin[x]Sin[2y], {{x, 2}, {y, 2}}]FindMinValue[{Sin[x]Sin[2y], x ^ 2 + y ^ 2 < 3}, {{x, 2}, {y, 2}}]FindMinValue[{Sin[x]Sin[2y], x ^ 2 + y ^ 2 < 3}, {x, y}]線形目的および制約については,整数の制約条件を課すことができる:
FindMinValue[{x + y, 3x + 2y ≥ 7 && x ≥ 0 && y ≥ 0}, {x, y}]FindMinValue[{x + y, 3x + 2y ≥ 7 && x ≥ 0 && y ≥ 0 && x∈Integers}, {x, y}]Or条件を指定することができる:
FindMinValue[{-x - y, x ^ 2 + y ^ 2 ≤ 1 || (x + 2) ^ 2 + (y + 2) ^ 2 ≤ 1}, {x, y}]t = RotationTransform[{{0, 0, 1}, {1, 1, 1}}];
ℛ = TransformedRegion[Ellipsoid[{0, 0, 0}, {1, 2, 3}], t];FindMinValue[{z, {x, y, z}∈ℛ}, {x, y, z}]Graphics3D[{Opacity[0.5], {Green, GeometricTransformation[Ellipsoid[{0, 0, 0}, {1, 2, 3}], t]}, {Red, InfinitePlane[{{0, 0, %}, {1, 0, %}, {0, 1, %}}]}}]Subscript[ℛ, 1] = Disk[];
Subscript[ℛ, 2] = InfiniteLine[{{-2, 0}, {0, 2}}];FindMinValue[{(x - u)^2 + (y - v)^2, {{x, y}∈Subscript[ℛ, 1], {u, v}∈Subscript[ℛ, 2]}}, {x, y, u, v}]Graphics[{{LightBlue, Subscript[ℛ, 1]}, {Green, Subscript[ℛ, 2]}, {Blue, Circle[{0, 0}, 1 + Sqrt[%]]}}]Subscript[ℛ, 1] = Triangle[{{0, 0}, {1, 0}, {0, 1}}];
Subscript[ℛ, 2] = Disk[{1, 1}, {2r, r}];FindMinValue[{r, {x, y}∈Subscript[ℛ, 1] && {x, y}∈Subscript[ℛ, 2]}, {r, x, y}]Graphics[{LightBlue, Subscript[ℛ, 1], Subscript[ℛ, 2]} /. r -> %]Subscript[ℛ, 3] = Disk[{a, b}, r];FindMinValue[{r, ({0, 0} | {1, 0} | {0, 1})∈Subscript[ℛ, 3]}, {a, b, r}]Circumsphereを使うと,同じ結果が直接与えられる:
Circumsphere[{{0, 0}, {1, 0}, {0, 1}}]//Nℛ = Sphere[];FindMinValue[{x.{1, 2, 3}, x∈ℛ}, x]Subscript[ℛ, 1] = Triangle[{{0, 0}, {1, 0}, {0, 1}}];
Subscript[ℛ, 2] = Disk[{2, 2}, 1];FindMinValue[{EuclideanDistance[x, y], {x∈Subscript[ℛ, 1], y∈Subscript[ℛ, 2]}}, {x, y}]Graphics[{{LightBlue, Subscript[ℛ, 1], Subscript[ℛ, 2]}, {Blue, Circle[{2, 2}, 1 + %]}}]オプション (8)
AccuracyGoalとPrecisionGoal (2)
FindMinValue[Sin[x / 2], {x, 1}, AccuracyGoal -> 9, PrecisionGoal -> 8]FindMinValue[Sin[x / 2], {x, 1}, AccuracyGoal -> 20, PrecisionGoal -> 18]WorkingPrecisionを高くするとプロセスが収束する:
FindMinValue[Sin[x / 2], {x, 1}, AccuracyGoal -> 20, PrecisionGoal -> 18, WorkingPrecision -> 40]EvaluationMonitor (1)
Gradient (2)
FindMinValue[Sin[x]Sin[2 y], {x, y}, Gradient -> {Cos[x] Sin[2 y], 2 Cos[2 y] Sin[x]}, Method -> "Newton"]FindMinValue[Sin[x]Sin[2y], {x, y}, Gradient -> {Cos[x] Sin[2 y], 2 Cos[2 y] Sin[x]}, Method -> {"Newton", Hessian -> {{-Sin[x] Sin[2 y], 2 Cos[x] Cos[2 y]}, {2 Cos[x] Cos[2 y], -4 Sin[x] Sin[2 y]}}}]Method (1)
FindMinValue[Abs[x + 1] + Abs[x + 1.01] + Abs[y + 1], {x, y}]FindMinValue[Abs[x + 1] + Abs[x + 1.01] + Abs[y + 1], {x, y}, Method -> "ConjugateGradient"]FindMinValue[Abs[x + 1] + Abs[x + 1.01] + Abs[y + 1], {x, y}, Method -> "PrincipalAxis"]NMinimizeもまた,さまざまな直接探索法を使う:
NMinimize[{Abs[x + 1] + Abs[x + 1.01] + Abs[y + 1]}, {x, y}]StepMonitor (1)
FindMinValueが関数の最小値を求めるのに使うステップ:
pts = Reap[FindMinValue[(1 - x) ^ 2 + 100(-x ^ 2 - y) ^ 2 + 1, {{x, -1.2}, {y, 1}}, StepMonitor :> Sow[{x, y}]]][[2, 1]];
pts = Join[{{-1.2, 1}}, pts];ContourPlot[(1 - x) ^ 2 + 100(-x ^ 2 - y) ^ 2 + 1//Log, {x, -1.3, 1.5}, {y, -1.5, 1.4}, Epilog -> {Red, Line[pts], Point[pts]}]WorkingPrecision (1)
作業精度を
に設定する.デフォルトでAccuracyGoalとPrecisionGoalは
に設定される:
FindMinValue[Cos[x ^ 2 - 3 y] + Sin[x ^ 2 + y ^ 2], {x, y}, Method -> "Newton", WorkingPrecision -> 20]特性と関係 (1)
FindMinimumは最小値と最小とする引数の両方を与える:
FindMinimum[{x - 2y, x ^ 2 + y ^ 2 ≤ 1}, {x, y}]FindArgMinは極小値の位置をリストにして与える:
FindArgMin[{x - 2y, x ^ 2 + y ^ 2 ≤ 1}, {x, y}]FindMinValueは最小における値を与える:
FindMinValue[{x - 2y, x ^ 2 + y ^ 2 ≤ 1}, {x, y}]考えられる問題 (4)
FindMinValue[{x + y, x ^ 2 + y ^ 2 ≥ 2 && x ^ 2 + y ^ 2 ≤ 1}, {x, y}]FindMinValue[Tan[x], {x, 2}]FindMinValue[{-x ^ 2 - y ^ 2, x ^ 2 + y ^ 2 > 10}, {x, y}]Plot3D[-x ^ 2 - y ^ 2, {x, -10, 10}, {y, -10, 10}, RegionFunction -> Function[{x, y}, x ^ 2 + y ^ 2 > 10]]FindMinValue[{x + y, x + 2y ≥ 3 && x > 1 && y > 1 && x∈Integers}, {x, y}, WorkingPrecision -> 20]適切な初期値を与えるとアルゴリズムの収束が助けられることがある:
FindMinValue[{Cos[x] - Exp[(x - 0.5) y], x ^ 2 + y ^ 2 < 1}, {x, y}]FindMinValue[{Cos[x] - Exp[(x - 0.5) y], x ^ 2 + y ^ 2 < 1}, {{x, -1}, {y, -1}}]関連するガイド
-
▪
- 最適化 ▪
- 凸最適化 ▪
- 領域におけるソルバ ▪
- 記号的なベクトル,行列,配列
テキスト
Wolfram Research (2008), FindMinValue, Wolfram言語関数, https://reference.wolfram.com/language/ref/FindMinValue.html (2014年に更新).
CMS
Wolfram Language. 2008. "FindMinValue." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/FindMinValue.html.
APA
Wolfram Language. (2008). FindMinValue. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FindMinValue.html
BibTeX
@misc{reference.wolfram_2026_findminvalue, author="Wolfram Research", title="{FindMinValue}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/FindMinValue.html}", note=[Accessed: 04-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_findminvalue, organization={Wolfram Research}, title={FindMinValue}, year={2014}, url={https://reference.wolfram.com/language/ref/FindMinValue.html}, note=[Accessed: 04-November-2026]}