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 Comment

Could you maybe post your problem please? Or code which you already have?

Sign in to comment.

Answers (1)

Alan Weiss
Alan Weiss on 7 Sep 2017
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

Asked:

on 7 Sep 2017

Answered:

on 7 Sep 2017

Community Treasure Hunt

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

Start Hunting!