both real and integer variables ga optimization

2 views (last 30 days)
How can i perform an optimization with the gamultiobj function using both real and integer variables ?

Accepted Answer

Shashank Prasanna
Shashank Prasanna on 8 Feb 2013
Andrea, integers are real, however I think you are referring to solving a mixed integer problem. Here is an example of how it can be done using GA:
  4 Comments
Walter Roberson
Walter Roberson on 10 Feb 2013
R2011a did not support constraining to integer.
I don't think you can (even with R2012b) constrain to arbitrary sets of values. However, you can (in versions that support it) constrain to integer values, with a range of 1 to the number of different values, and then in the function you provide, use that variable as an index into the table of actual values.
andrea84
andrea84 on 10 Feb 2013
Thanks for the explanation!
I'm thinking to use a function to "map" the values obtained from the ga, e.g. [1 2 3 4 5] to the range i need: [20 40 60 80 100].

Sign in to comment.

More Answers (1)

Alan Weiss
Alan Weiss on 11 Feb 2013
As Benji said, you cannot perform mixed integer optimization automatically in GA unless you have MATLAB R2011b or later. However, you can write custom population functions for this purpose; see this explanation. You might also want to see this example on mapping integer variables to a finite set of choices.
Good luck,
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!