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