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