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

2 vues (au cours des 30 derniers jours)
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!

Réponse acceptée

Sean de Wolski
Sean de Wolski le 18 Juil 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...

Plus de réponses (1)

Sargondjani
Sargondjani le 18 Juil 2012
Modifié(e) : Sargondjani le 18 Juil 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)
  2 commentaires
Yu-Yun
Yu-Yun le 19 Juil 2012
I see. I will also read some materials about fminsearch to see which one could be the best for my project. Thank you guys! :)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Surrogate Optimization dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by