Optimization of discrete variables

I have a nonlinear problem with a set of 6 discrete variables which have to be optimized in order to find an optimum (max value of a target function). Each variable has up 50 acceptable values. Which optimization function you suggest to use? Is the genetic algorithm the only possible solution for discrete variable problems?
As a first approach, I would like to exclude the use multiple of "for" loops.
Thanks and regards.

1 commentaire

Oskar Adolfson
Oskar Adolfson le 7 Sep 2017
Could you maybe post your problem please? Or code which you already have?

Connectez-vous pour commenter.

Réponses (1)

Alan Weiss
Alan Weiss le 7 Sep 2017

0 votes

50^6 > 1e10, so it might not be practical to perform an exhaustive search, which I think is what you mean with the nested for loop approach. I don't know if you'll have luck with the mixed-integer genetic algorithm solver, as your problem might be too large for efficient searching. Then again, you could give it a try.
If you can vectorize your objective function evaluations, then you might try the for loop approach, evaluating a few hundred or thousands of points at once. That might make exhaustive search more practical.
Sorry, I know of nothing else.
Alan Weiss
MATLAB mathematical toolbox documentation

Community Treasure Hunt

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

Start Hunting!

Translated by