algorithmic modeling for Rhino
Hi all, this is going to be long, but its going to be clear, so everyone understands and can use it in the future:
I am in the process of assessing the trade-offs between A) heating energy intensity and B) daylight autonomy for a single room. A and B are therefore the conflicting objectives, and are connected to the O of octopus component. The geometry iterated is that of a window, on one of the rooms' facades.
I have a grasshopper definition that iterates the window by changing:
1. Window height
2. Window sill height
3. Window width
4. Window position from one side of the wall
1,2,3,4 are therefore the genes. A combination of these genes is a complete window, which is the chromoshome, that i will from now on call solution. All genes are connected to the G of octopus component.
Now regarding the octopus settings, i have these questions so that i can properly calibrate the settings (mutarion rate, crossover rate etc):
1.In the beginning of the octopus simulation, how many are the random solutions generated? (By random i mean totally random, not resulting solutions from mutation or crossover of previous solutions, i am talking about the very first generation). Is this number connected to the population size? Is it 6? How is it defined by octopus? Can somebody control it?
2.The first generation finishes when the number of "individuals to be evaluated" is reached. Then octopus jumps to the second generation. To do so, it keeps a specific number of solutions of the first generation, the so called elite. What is the number of these elite? Is it elitism x population size?
3.The SPEA2 original paper describes step wise the algorithm loop. During the loop, a number of solutions is stored in the elite domain, and from that domain, a number of solutions is used for mating. There are therefore two numbers, one that defines the number of solutions to enter the elite domain, and one that defines the number of solutions to be inserted in the mating pool. In octopus i only see elitism as a setting, which i am guessing is what defines the number of solutions to enter the elite domain. Is that true? How do i define the number of solutions to be copied in the mating pool, where mutation and crossover will occur? This number should be called tournament size, but i can't seem to find it..
4.Why is it that DURING one generation, the number of "individuals to be evaluated" can decrease? Is it because octopus finds out that there are no more possible solutions? (i am using discrete values for the genes)
5.The gene of window width, represented by a grasshopper slider, has 4 possible values: 0,1,2,3. Assuming that the mutation rate is 0.5. Does this mean that mutation of the gene can happen to an extent of 0.5 x 4 = 2? Meaning that the slider position can change for 0 to 2 or from 3 to 1 etc?
6.The mutation probability is dictating whether or not a gene will be mutated, or whether or not the whole solution will be mutated? So for instance, with a mutation probability of 0.5, does it mean that 2 out of the 4 genes are going to be mutated, or 2 out of 4 solutions is going to be mutated. If its the second case, then how is mutation divided between the different genes? Meaning, which of the 4 genes is going to get mutated? Is it random? Is it for all 4 genes?
7.Crossover can occur between 2 subsequent solutions. Crossover rate dictates whether or not crossover will take place? If so, then, assuming that it was chosen for crossover to take place between 2 solutions, which of the genes are going to be exchanged. I mean how many, out of the 4 genes (height, sill height, width, position). Is it random?
8.After clarifying the previous 7 questions, i can run a simulation. Then, is there an indicative number that i can be monitoring, to see that no more generations are required? I know that a good pareto has to be short, with a lot of solutions and with a uniform distribution. But is there a specific number output somewhere, that can inform me that a good pareto has more or less been generated? If there is such indicator...
Thank you all,
i hope this can help others as well,
Iason
Tags:
I can only answer #1 the others involve knowing the internal algorithm workings. I have an impression of how the mutation rates / probability and crossover work but I have no way of knowing if the specifics of my impressions are precisely correct so I will let someone who knows the answer respond.
Regarding #1
1. The population is the number of solutions generated in each generation, except the first generation. On the first generation the number is doubled and is based on a totally random genome for each individual. For every generation after the first generation, the number of solutions generated equals the population setting. If the population is set to '10', generation #1 will include 20 individuals, every generation after the 1st one will have 10 solutions. Gen 1 count is not controllable except for being relative to population number.
I eagerly await the answer to your other questions.
Hi Stan,
thank you for your feedback, it helped a lot!
i also hope we get some input on the rest,
regards,
Iason
Have you found the Operation Manual for Octopus. Although somewhat cryptic, some of the areas of your inquiry are discussed in that manual. The manual file is included among the Octopus download. It might be helpful, at least partially.
Yes i found that manual and went through it, i could only get the overall workings, nothing on the specifics i am looking for...
Hi,
I am also waiting for these questions to be answered.
Furthermore, some additional questions would be related to the pareto fronts. When the maximum generation reaches the goal and number of non-dominated solutions are generated on the octupus interface, how could we recall the genes for each non-dominated ones automatically. I have tried reinstating solutions one by one and felt like its the ideal way. I can see the fitness value of generated non dominants from export tab but I need to know what was their corresponding gene values ( in our case slider values) for each solutions.
Also, If the optimization has 2 objectives, how can we deactivate visual 3rd dimension (z direction) from the interface?
Thank you for your concern.
Kind regards,
Amaraa
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by