I am trying to use Galapagos or Octopus to optimize the allocation of a few rooms on a grid, which (to my knowledge) means the downstream slider (indicating the location of its room) should have its range depend on the slider before it. (I Could ignore the range change and use a boolean to decide if the current numbers are ready to go into optimizer but I find it to be slow when the network is too crowded with too many rooms). I am worried if I use code or the metahopper plugin to manually update sliders outside of the galapagos would conflict with the randomization executed by the Optimizer. I think there is two way to tackle with this problem:
First, I couple the evolution algorithm’s gene choice procedure with the re-ranging of the sliders, but I am really not comfortable with non-graphic coding (and too late to learn now). Maybe someone would know if I can do this using the explicit components of Octopus?
Second, I write a small code to generate a list of value representing the all (30) genes and assign them to the rooms, using a ‘seed-like" input to control them, so I can optimize the "seed’ and indirectly optimize the genes. But the tricky thing is how well is this SEED gonna to represent the geno-type? To my knowledge the continuous change of the seed should reflect the continuous change of the geno-type, thus reflect the continuous change of the pheno-type.
I have worked for some time on the second approach, I simplify the genotype to be the movement of each room from the initial place so all I have to control is that each movement of the next room be smaller or equal to the movement of the previous room. So assume for the first room the maximal movement is 10, and the actual movement choosed by galapagos is 9, the next room movement can only be smaller or equal to 9. Therefore, I could develop a ‘seed" of integers within 10^^30 to represent the all the possible movement. But I am having trouble being sure if this is a true "continuous’ representation of the phonetype, it is all too indirect and I dont know what evolution algorithm will function on this.
Therefore I am currently working on the First Approach, any insight would be welcomed. Hopefully I will be back if I made any progress.
Developer here: https://www.researchgate.net/profile/Robert_Vierlinger. Unfortunately I still cannot understand how does Octopus choose the new parameters, and if there is a way to feed parameters into Octopus one by one, in this paper he mentioned actual geometry can be provided instead of numbers as gene, but I cannt see how.
Perhaps its best that I do both parametric modelling and optimization with python…
ps.
Something I wish I had found earlier:
review on facilities layout problem
physically based model of space relationship, maybe by kangaroo
awesome work by hellguz but in fact no use to me
Found source code of Octopus from developer/s thesis…
I am new to C# but this looks like everything is developed from the former generation and the archive(that is in fact the essential of genetic algorithm, should have pay more attention to basic knowledge). It seems dumb to pay too much attention to the parameters since they will be manipulated by GA.
However, it remains a problem that the placement of the rooms are taking too much time, but, with the first generation created by a smarter algorithm instead of bare randomization should help. I am going to give it a try.