Which optimization method is better for problems with random steps
Show older comments
Hi! I'm working on the parameter optimization of a function that has random steps inside it. The function is something like this
Error=fun(x(1),x(2),x(3))
The thing is that almost all steps of my function use random numbers (and have random steps) and I can obtain different values of "Error" for the same values of x(1),x(2) & x(3). These different values are constrained between a deviation, i.e for a specific input the Error value will be between 0.6 and 0.8.
So when I go to the MATLAB Optimize Live Editor I'm not sure about which solver should I use since my function doesn't seem to fit any of the categories, given its random nature. May be there is another optimization method/solver designed for these kind of problems? If not which one would you recommend me to use?
Thank you in advance! I hope I made myself clear
Accepted Answer
More Answers (2)
Alan Weiss
on 22 Dec 2022
1 vote
In addition to what the other answerers have described, there does exist an optimization solver that can deal with stochastic objective functions: bayesopt in Statistics and Machine Learning Toolbox. This is the only solver that I am aware of that assumes that the objective function gives a stochastic (nondeterministic) response.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
Torsten
on 21 Dec 2022
0 votes
This seems to be a stochastic optimization problem. None of the optimizers from the optimization toolbox can cope with random outputs from the objective function. Since I don't know what your problem is about, I cannot give further advice.
4 Comments
Tomás Romero Pietrafesa
on 21 Dec 2022
Torsten
on 21 Dec 2022
I don't know what you try to optimize and how Monte Carlo simulation comes into play. Maybe "ga" is suited, but without further explanations I cannot give advice.
Tomás Romero Pietrafesa
on 21 Dec 2022
I'd define reasonable lower and upper bounds for x(1), x(2) and x(3) and make a patternsearch over a 3d grid to find the best triple for the parameters.
Maybe of interest for the simulation part:
Categories
Find more on Surrogate Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!