Функции оптимизации Global Optimization Toolbox минимизируют целевую (или фитнес) функцию. То есть решают задачи формы
).
Если вы хотите максимизировать f (x), сверните -f (x), поскольку точка, в которой наступает минимум -f (x), совпадает с точкой, в которой наступает максимум f (x).
Например, предположим, что вы хотите максимизировать функцию
6x1 + 4x22 − 3x2).
Запись функции для вычисления
+ 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