Optimization of a real time system

Hi,
I currently control a physical electronic system with Matlab. Matlab controls three parameters of this system, each parameter has a total of 15-20 different options that could be selected by Matlab. I currently run this system in raster fashion, sweeping through all combinations of these three parameters. Base on each single parameter selection the system gives me a single numerical result which is saved in matlab. Thus, Matlab tests the system by using 3000-8000 different combinations of parameters. The lowest numerical result is the local minima which I am interested in and the corresponding parameters selected for achieving this local minimum will be my best operational parameters.
How can I speed up this process without needing to process all 3000-8000 combination of parameters?

 Accepted Answer

Alan Weiss
Alan Weiss on 5 Sep 2017
If I understand you corectly, you have three control variables that each take one of 15 to 20 possible values, meaning you have between 15^3 and 20^3 possibilities.
If that is correct, and if the objective function is an unknown nonlinear function of the three control variables, then in general you need to do an exhaustive search every time to be certain that you have found the optimum.
Of course, there may be heuristic ways of modeling your objective function that can speed up your search at the cost of possibly arriving at an incorrect answer sometimes. But for a general discrete nonlinear problem, there are no guarantees of correctness other than exhaustive search.
It is possible that you have some restrictions on your objective function. If so, then maybe you can figure out how not to evaluate certain combinations of values that cannot be optimal.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!