Optimization that does not repeat same evaluation

4 views (last 30 days)
Hey, I got a nonlinear optimization problem using real-time data online. I know
(a) the solution have a constraint that it will be integer only. I know ga have that option.
(b) I know I can use ga for this kind of problem. But I hate ga as I found that it keep repeating function evaluations using same value of optimization variable, everytime it repeats the function evaluation it changes within a limit due to noise as the data are real-time. I want optimization solver keep remember the result from past evaluation instead of repeating the evaluation again.
Is there any optimization method MATLAB has that have option to handle both situation? Please tell what option should I use for any methods. Thanks in advance.

Answers (2)

Matt J
Matt J on 25 Apr 2019
One solution might be to memoize your fitness function

Walter Roberson
Walter Roberson on 25 Apr 2019
You could continue to use ga(), but memoize() the function so that if it were to be called with the same parameters again then it would give back the same results.
However, MATLAB does not offer any optimizers for the case where re-evaluating with the same parameters might give a different result.
Changing as you re-evaluate implies that you are loading data each iteration. You should not do that: you should load the data ahead of time and then optimize.

Community Treasure Hunt

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

Start Hunting!