NMaxValue
NMaxValue[f,x]
x についての f の最大値を与える.
NMaxValue[f,{x,y,…}]
x, y, …についての f の最大値を与える.
NMaxValue[{f,cons},{x,y,…}]
制約条件 cons に従った f の最大値を与える.
NMaxValue[…,x∈reg]
x が領域 reg 内にあるように制限する.
詳細とオプション
- NMaxValueは大域的最適化(GO)としても知られている.
- NMaxValueは,与えられた制約条件に従って常に f の最大値を求めようとする.
- NMaxValueは,通常,制約が与えられた場合に可能な最大値を求めるために使われる.分野によっては,最適な戦略,最良適合,最適な構成等と呼ばれることがある.
- f が線形または凹で cons が線形または凸のとき,NMaxValueが与える結果は実数および整数値の両方の上で最大値になる.それ以外の場合は結果が単に極大値であるかもしれない.
- NMaxValueが制約条件を満足できないと判断した場合は-Infinityが返される.
- NMaxValueは,目的関数 f と制約条件 cons がスカラー変数またはベクトル変数に依存する式で与えられるモデリング言語をサポートする.f と cons は,一般に,非常に効率的な形に解析されるが,f と cons の項が変数の数値に対して数値を与える限りNMaxValueはしばしば解を求めることができる.
- 制約条件 cons は以下の論理結合でよい.
-
lhs==rhs 等式 lhs>rhs, lhs≥rhs, lhs<rhs, lhs≤rhs 不等式 (LessEqual, …) lhsrhs, lhsrhs, lhsrhs, lhsrhs ベクトル不等式 (VectorLessEqual, …) {x,y,…}∈rdom 領域指定 - NMaxValue[{f,cons},x∈rdom]は,事実上,NMaxValue[{f,cons&&x∈rdom},x]に等しい.
- x∈rdom については,Indexed[x,i]を使って別の座標に言及することができる.
- 次は,使用可能な領域 rdom である.
-
Reals 実数スカラー変数 Integers 整数スカラー変数 Vectors[n,dom] のベクトル変数 Matrices[{m,n},dom] の行列変数 ℛ 幾何学領域 に制限されたベクトル変数 - デフォルトで,変数はすべて実数であるとみなされる.
- 次は,指定可能なオプションである.
-
AccuracyGoal Automatic 目標となる最終確度桁数 EvaluationMonitor None f が評価されたときに常に評価される式 MaxIterations Automatic 使用する最大反復回数 Method Automatic 使用されるメソッド PrecisionGoal Automatic 目標となる最終精度桁数 StepMonitor None ステップを取るたびに常に評価される式 WorkingPrecision MachinePrecision 内部計算に使用する精度 - AccuracyGoalとPrecisionGoalの設定で,最大値の位置の値と最大になったときの関数の値の両方で目標とする桁数を指定する.
- NMaxValueは,AccuracyGoalとPrecisionGoalで指定された目標値のどちらかが達成されるまで計算を続ける.
- NMaxValueのためのメソッドには2つのクラスがある.最初のクラスは問題の特性を使うので,メソッドが収束する際に求まった最大値は大域的であることが保証される.2番目のクラスは発見的なメソッドで,複数の局所探索を使うことがあるが,一般的には確率論によって調整され,大域的最大値に焦点が当てられる.このメソッドもしばしば大域的な最大値を求めるが,必ずそうするとは保証されない.
- 次は,解に収束する場合に最大値を与えることが保証されているメソッドである.
-
"Convex" 凸法だけを使う "MOSEK" 凸問題用の商用MOSEKライブラリを使う "Gurobi" 凸問題用の商用Gurobiライブラリを使う "Xpress" 凸問題用の商用Xpressライブラリを使う - 次は,発見的な方法である.
-
"NelderMead" Nelder・Meadのシンプレックス法 "DifferentialEvolution" 差分進化を使う "SimulatedAnnealing" 焼きなまし法を使う "RandomSearch" 複数のランダムな初期点から始めて求まった最良の極小値を使う "Couenne" 非凸混合整数非線形問題にCouenneライブラリを使う
例題
すべて開くすべて閉じるスコープ (34)
基本的な用法 (12)
いくつかの線形不等式制約はVectorGreaterEqualで表現できる:
v>= または\[VectorGreaterEqual]を使ってベクトル不等式の記号を入力する:
にスレッディングの可能性があるので,不等式 は とは等しくないかもしれない:
での意図しないスレッディングを避けたければInactive[Plus]を使うとよい:
定数パラメータを持つ方程式を使って での意図しないスレッディングを回避する:
VectorGreaterEqualは"NonNegativeCone"についての錐不等式を表す:
円錐の次元を明示的に指定したければ,{"NonNegativeCone",n}を使うとよい:
"NormCone"で錐不等式を使って制約条件 を指定する:
Indexedを使ってベクトル変数の成分(例:)にアクセスする:
ベクトル変数の次元と領域が曖昧なときはVectors[n,dom]を使って指定する:
NonNegativeReals ()を使って非負の制約条件を指定する:
NonPositiveReals ()を使って非正の制約条件を指定する:
Orという制約を指定することができる:
領域制約1 (4)
Integersを使って整数領域の制約を指定する:
Vectors[n,Integers]を使ってベクトル変数に整数領域の制約を指定する:
NonNegativeIntegers ()を使って非負の整数領域の制約を指定する:
NonPositiveIntegers ()を使って非正の整数領域の制約を指定する:
線形問題 (5)
線形の目的関数と制約条件がある場合は,最大値が見付かるとそれは大域的になる:
Equalを使っていくつかの等式制約を一度に表現する:
VectorLessEqualを使っていくつかのLessEqual不等式制約を一度に表現する:
Intervalを使って変数の境界を指定する:
凸問題 (4)
オプション (7)
AccuracyGoalとPrecisionGoal (2)
Method (2)
StepMonitor (1)
NMaxValueが関数の最大値を求めるのに取るステップ:
WorkingPrecision (1)
作業精度をにする.デフォルトでAccuracyGoalとPrecisionGoalはに設定されている:
アプリケーション (4)
特性と関係 (7)
NMaximizeは最大値と,変数の値を最大にする規則を与える:
NArgMaxは最大化する値のリストを与える:
NMaxValueは最大値だけを与える:
凸問題については,ConvexOptimizationを使って追加的な解の特性が得られるかもしれない:
パラメータがある凸問題について,ParametricConvexOptimizationを使うとParametricFunctionが与えられる:
ParametricFunctionはパラメータの値について評価できる:
NMaxValueを使ってパラメトリック問題についての関数を定義する:
ParametricFunctionの導関数も計算できる:
RobustConvexOptimizationは,パラメータ制約がある凸問題についてはパラメータの可能なすべての値について有効な最適値を求める:
NMaxValueはパラメータの特定の値についてより大きい最大値を求めるかもしれない:
この値を与えるマキシマイザは と の使用可能なすべての値についての制約条件は満足しない:
パラメータの特定の値について求まった最大値はロバストな最大値以上である:
NMaxValueは線形計画問題を解くことができる:
LinearProgrammingを使って行列記法で与えられた同じ問題を解くことができる:
RegionBoundsを使って境界ボックスを計算する:
テキスト
Wolfram Research (2008), NMaxValue, Wolfram言語関数, https://reference.wolfram.com/language/ref/NMaxValue.html (2024年に更新).
CMS
Wolfram Language. 2008. "NMaxValue." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/NMaxValue.html.
APA
Wolfram Language. (2008). NMaxValue. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NMaxValue.html