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

최댓값은 1.5574(보고된 fval의 음수 값)이고 x = 6.2832에 나타납니다. 이 답은, 최댓값이 tan(1) = 1.5574(5자리까지)이고 x = 2π = 6.2832에 나타나므로 맞습니다.