MATLAB Answers

Yu-Yun
0

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

Yu-Yun
さんによって質問されました 2012 年 7 月 18 日
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!

  0 件のコメント

サインイン to comment.

2 件の回答

回答者: Sean de Wolski
2012 年 7 月 18 日
 採用された回答

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...

  1 件のコメント

Thank you so much! I'll try GA first. :)

サインイン to comment.


回答者: Sargondjani 2012 年 7 月 18 日
編集済み: Sargondjani 2012 年 7 月 18 日

...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 件のコメント

and pattern search :)
I see. I will also read some materials about fminsearch to see which one could be the best for my project. Thank you guys! :)

サインイン to comment.



Translated by