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:
- First, the population is randomly initialised.
- 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.
- The best designs are picked from the current population and put into a mating pool.
- In the mating pool, tournament selection, crossover and mating is carried out.
- The mating pool and current population is combined. The resulting set is sorted, and the best chromosomes are passed it into the new population.
- Go to step 2, unless maximum number of generations have been reached.
- The solution set is the highest ranked Pareto non-dominated set from all populations.
Bibliography
- Introduction to Genetic Algorithms:
- Hitch-Hiker's Guide to Evolutionary Computation http://www.aip.de/~ast/EvolCompFAQ/
- Sean Luke, 2009, Essentials of Metaheuristics, Lulu, available for free at http://cs.gmu.edu/~sean/book/metaheuristics/
- 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
- 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.