exponenta event banner

Максимизация по сравнению с минимизацией

Функции оптимизации Global Optimization Toolbox минимизируют целевую (или фитнес) функцию. То есть решают задачи формы

minxf (x).

Если вы хотите максимизировать f (x), сверните -f (x), поскольку точка, в которой наступает минимум -f (x), совпадает с точкой, в которой наступает максимум f (x).

Например, предположим, что вы хотите максимизировать функцию

f (x) = exp ((x12 + x22)) (x12 2x1x2 + 6x1 + 4x22 − 3x2).

Запись функции для вычисления

g (x) = f (x) = exp ((x12 + x22)) (x12 2x1x2 + 6x1 + 4x22 − 3x2),

и затем минимизировать g (x). Начать с точкиx0 = [0 0].

f = @(x)exp(-(x(1)^2 + x(2)^2))*(x(1)^2 - 2*x(1)*x(2) + 6*x(1) + 4*x(2)^2 - 3*x(2));
g = @(x)-f(x);
x0 = [0 0];
[xmin,gmin] = fminsearch(g,x0)
xmin =

    0.5550   -0.5919


gmin =

   -3.8683

Максимум f - это значение f (xmin), которая является -gmin.

f(xmin)
ans =

    3.8683

Связанные темы