Determining the generation size count

Hello

How would you go about to Determining parameters in the control panel, for any given problem. I am now conducting a pilot run, how could i use that information to setup a final run with “ideal” settings. here is my ongoing simulations, with the normal settings.

Hi Bert,

first and foremost… there is no magic number… The population size (gen size and count) is primarily driven by the complexity of the design problem one is investigating. A simple problem will need less time to optimise, thus translating to a smaller population size, while more complex problems will need more time to optimise and so you want to give the simulation adequate time to do this by increasing the population size. There is considerable literature on this issue (just google “determining population size in evolutionary algorithms” and you’ll have enough reading material for a couple of days).

my advice would be to always run a sim with a small pop size, to first see that your objectives are optimising the way you wish for them to… seeing your screengrab, the graphs are optimising quite well (well done), the question then is have the objectives converged… which from the SD charts it indicates that not yet (for the first two objectives atleast) - the sd curves still show the same variation per generation, but improved fitness… this for some may be sufficient, others may want to observe convergence before calling it quits (and so meaning increasing pop size, or editing the crossover/mutation rates (also considerable material online about this)).

my experience with people using this tells me that the pop size decision is driven by multiple factors, one of which is obviously time (you can increase the pop until you converge, but that may take you considerable hours).

You can also look into the best ratio between gen size and count… higher gen count means there will be more variation through crossover and mutations, but use too low a gen size then you wont have sufficient variation within a given generation… i always start with a 1:2 ratio of gen size to count and grow exponentially from there (i.e. 1:3, 1:4, 1:5)… but again, the key thing is that its truly dependent on the problem at hand.

1 Like