Optimization: Which algorithms I should choose when it's difficult to define an objective function?

1 view (last 30 days)
Dear All,
I have no much experience about optimization. Recently I have a project about optimizing parameters in a system simulation. Apparently the design variables of the optimization are those parameters, and the value I'd like to minimize can be obtained from simulation results. However, I don't really know how to define the objective function for this complicated system. So I would like to know if it's possible that I optimize the parameters without defining an objective function. Which algorithms I should use? Genetic algorithm? or any other recommendations? Thanks!

Accepted Answer

Sean de Wolski
Sean de Wolski on 18 Jul 2012
If the function will be discontinuous and have local minima you want to avoid then a genetic algorithm or pattern search is probably a good bet.
doc ga
doc patternsearch
Of course we can be of more assistance if you provide us with more information...

More Answers (1)

Sargondjani
Sargondjani on 18 Jul 2012
Edited: Sargondjani on 18 Jul 2012
...and if your problem is continuous, then the other optimizers are more usefull (fminsearch, fminunc, fsolve, fmincon,...).
that you get the value of the objective function from a simulation does not matter (as long as it is continuous).
the problem that i can think of (when the objective comes from simulations) is that you can only determine the gradient with finite differences, but some of these optimizers dont even use gradients (ie. fminsearch, which is only suited for a couple of variables at most)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!