Optimization results in GA

I have performed some optimization in using GA under the Optimization Toolbox and have found out my results to be of certain values. They are all well and good.
I would like to have the values given by GA in a rounded solid integer number like 15 or 18 or 55 instead of 15.45656 or 18.23453 04 55.17483 and so on...
I had went through the IntCon parameter but the results i get after using IntCon is unusable. I am optimizing well over 1000 variables (Double vector) and would prefer GA gives me nice numbers rather than decimals which i later need to round myself and which might not necessarily be optimal.
Do i have any other option to try out?

Answers (2)

Matt J
Matt J on 2 Mar 2014
Edited: Matt J on 2 Mar 2014
What if you take the solution produced without IntCon, apply round() to it, and re-run GA with IntCon active and with an initial population including this modified point?

7 Comments

i'm currently applying ceil to ensure a bigger number either way to not loose any possible data.
I have the already run GA without IntCon and have the data. Are you suggesting to take the variable "options.InitialPopulation", round it then use this as the new initial Population in the new run?
thanks.
No, I'm suggesting that you round the non-integer result that you're almost happy with, put that in options.InitialPopulation, and then re-run GA.
It is now maybe a little better as I see a few variables are a solid integer but the vast bulk of the values are all still decimals...
can i try anything else to resolve this issue?
Matt J
Matt J on 3 Mar 2014
Edited: Matt J on 3 Mar 2014
When you run GA the second time, I mentioned for you to do so with IntCon enabled.
still the same issue persists...
Matt J
Matt J on 5 Mar 2014
Edited: Matt J on 5 Mar 2014
You mean, even with IntCon enabled, you get non-integer solutions? That doesn't seem possible.
yes.. i have read through the documentation and specific examples on IntCon given by MathWorks and when i feed this in the values i get are all like 100.123 and so on...
And my optimized values are all wrong as well... without IntCon everything is fine and acceptable just that i would need to round it manually after optimization...
are there any alternatives please?

Sign in to comment.

Alan Weiss
Alan Weiss on 5 Mar 2014
It is possible that your version of MATLAB is older than R2011b when mixed integer GA was introduced. If so, you can try to use these suggestions for programming your own integer GA solver.
However, if you have R2011b or later, then I do not understand how you can get non-integer solutions when using the IntCon argument.
Alan Weiss
MATLAB mathematical toolbox documentation

Categories

Asked:

on 2 Mar 2014

Answered:

on 5 Mar 2014

Community Treasure Hunt

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

Start Hunting!