Main Content

目的関数の最大化

すべてのソルバーでは、目的関数の最小化が試みられます。最大化問題を扱う場合、問題の形式

maxxf(x),

g(x) = f(x) を定義し、g を最小化します。

たとえば、x = 5 の近くの tan(cos(x)) の最大値を見つけるには以下を計算します。

[x,fval] = fminunc(@(x)-tan(cos(x)),5)
Local minimum found.

Optimization completed because the size of the gradient is less than
the value of the optimality tolerance.
x = 6.2832
fval = -1.5574

最大値は x = 6.2832 のとき 1.5574 (fval の出力の負の値) になります。この回答は 5 桁まで正しい結果です。最大値は tan(1) = 1.5574 で、x = 2π = 6.2832 のときに発生します。