From: Dan Dunaev on
Hi All!
I have a function with several variables, for example:
x(y,z,s) = sin(s)*cos(z-y)*sin(z-y-s)

I need to minimize x(y,z,s) (find y,z and s). Could you advice me any matlab function for this problem?
Thanks.
From: James Allison on
The example function you provided is multimodal, i.e., it has multiple
local minima. fminunc will find a local minimum close to the starting
point you specify. If you need to find a global optimum, I would suggest
using one of the algorithms in the Global Optimization Toolbox
(previously the GADS toolbox):

http://www.mathworks.com/products/global-optimization/

such as the genetic algorithm or simulated annealing. You could also use
a hybrid approach, where you use a genetic algorithm with looser
tolerances (or even something like lhsdesign) to perform a a rough
search to get a good starting point for fminunc, which will then locate
a precise solution.

-James


Dan Dunaev wrote:
> Hi All!
> I have a function with several variables, for example:
> x(y,z,s) = sin(s)*cos(z-y)*sin(z-y-s)
>
> I need to minimize x(y,z,s) (find y,z and s). Could you advice me any
> matlab function for this problem? Thanks.