Genetic Algorithm starting population with integer valued variables
6 次查看(过去 30 天)
显示 更早的评论
Hello All,
I am using the genetic algorithm for a design optimization with 49 integer-valued variables which can take values from 1->6. Each function iteration calls a Comsol multiphysics simulation and takes about 2 seconds.
I know of about 10 good designs (i.e. sets of the 49 variables) and I am hoping to somehow include these in my initial population. Right now, it takes about two days before the population starts to "hone in" on good performance and another two days before the performance exceeds one of these 10 designs. It would be really fantastic if I could start from "simple designs" and iterate from here.
From what I read, its not possible to "seed" the initial population when you are using integer valued variables. Is this correct? Are there other optimization algorithms which you guys recommend for this, even looking into the python scipy packages?
Right now, the most logical solution is to use an optimization method that allows a seed or initial population definition (ga, sim. annealing, particle swarm,...) and round each variable to the nearest integer, but I fear there are some consequences with this approach.
Thanks so much in advance,
Reed
0 个评论
采纳的回答
Alan Weiss
2016-11-22
I don't know why you think that you cannot put in some initial points to help start the optimization. The documentation for ga does not mention any limitation in that respect.
Alan Weiss
MATLAB mathematical toolbox documentation
0 个评论
更多回答(2 个)
Walter Roberson
2016-11-22
Do not tell ga that you are using integer constraints. Instead, provide custom functions for initial population, and for crossover, and mutation. See the initial population as you see fit, and make sure the other members you generate fit the integer constraints. Adjust the crossover and mutation functions to only generate integer values.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Genetic Algorithm 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!