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?

Réponses (2)

Matt J
Matt J le 2 Mar 2014
Modifié(e) : Matt J le 2 Mar 2014

0 votes

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 commentaires

Chockalingam Kasi
Chockalingam Kasi le 2 Mar 2014
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.
Matt J
Matt J le 2 Mar 2014
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.
Chockalingam Kasi
Chockalingam Kasi le 3 Mar 2014
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 le 3 Mar 2014
Modifié(e) : Matt J le 3 Mar 2014
When you run GA the second time, I mentioned for you to do so with IntCon enabled.
Chockalingam Kasi
Chockalingam Kasi le 5 Mar 2014
still the same issue persists...
Matt J
Matt J le 5 Mar 2014
Modifié(e) : Matt J le 5 Mar 2014
You mean, even with IntCon enabled, you get non-integer solutions? That doesn't seem possible.
Chockalingam Kasi
Chockalingam Kasi le 5 Mar 2014
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?

Connectez-vous pour commenter.

Alan Weiss
Alan Weiss le 5 Mar 2014

0 votes

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

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by