How to run evolutionary or other optimization with discrete set of inputs

2 次查看(过去 30 天)
Hi,
I have an optimization problem that involves many inputs and a large data set. I have considered using evolutionary optimization, however the calculation time will likely be way too long. From what I know so far, evolutionary optimization is quite efficient for a nonlinear problem like mine, but runs for continuous inputs.
My question is: is there a way to run an optimization, perhaps evolutionary, where only a set of certain inputs is considered by the algorithm? I don't need to get perfect values for my purposes, and would be happy to give say 5 different potential values for 7-8 different inputs instead of having the algorithm considering all inputs in a continuous range. This would reduce dramatically the computation time (I hope), as the algorithm would not have to try as many scenarios to get to the optimal one given the constraints.
Does anybody know how to set up an optimization problem like this? Perhaps it is just a matter of setting constraints somehow in an evolutionary optimization? Thanks in advance.
Best, Mike

采纳的回答

Michael
Michael 2014-8-4
Alan,
Thanks so much. That looks perfect!
Best, Mike

更多回答(1 个)

Alan Weiss
Alan Weiss 2014-8-4
You can use the genetic algorithm with mixed integer optimization for discrete choices. This example shows how to use mixed integer optimization to choose from a finite set of choices in certain dimensions.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by