Optimisation Technical Background

How It Works

DesignBuilder uses a Genetic Algorithm (GA) based on the NSGA-II method, which is widely used as a "fast and elitist multi-objective" method providing a good trade off between a well converged and a well distributed solution set. It works as follows:

 

  1. First, the population is randomly initialised.
  2. Chromosomes (design variants) are sorted and put into fronts based on Pareto non-dominated sets. Within a Pareto front, the chromosomes are ranked based on Euclidean distances between solutions or I-dist (term used in NSGA-II) . Generally, solutions which are far away (not crowded) from other solutions are given a higher preference in the selection process to help create a diverse solution set and avoid crowding.
  3. The best designs are picked from the current population and put into a mating pool.
  4. In the mating pool, tournament selection, crossover and mating is carried out.
  5. The mating pool and current population is combined. The resulting set is sorted, and the best chromosomes are passed it into the new population.
  6. Go to step 2, unless maximum number of generations have been reached.
  7. The solution set is the highest ranked Pareto non-dominated set from all populations.

Bibliography

  1. Introduction to Genetic Algorithms:

     

  2. Hitch-Hiker's Guide to Evolutionary Computation http://www.aip.de/~ast/EvolCompFAQ/
  3. Sean Luke, 2009, Essentials of Metaheuristics, Lulu, available for free at http://cs.gmu.edu/~sean/book/metaheuristics/
  4. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing, Springer, Natural Computing Series, Corr. 2nd printing, 2007, ISBN: 978-3-540-40184-1 http://www.cs.vu.nl/~gusz/ecbook/Eiben-Smith-Intro2EC-Ch2.pdf
  5. Deb, K., Pratap. A, Agarwal, S., and Meyarivan, T. (2002). A fast and elitist multi-objective genetic algorithm: NSGA-II. IEEE Transaction on Evolutionary Computation, 6(2), 181-197.