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

2 次查看(过去 30 天)
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!

采纳的回答

Sean de Wolski
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 个)

Sargondjani
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)

类别

Help CenterFile Exchange 中查找有关 Surrogate Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by