A collection of terms used throughout the optimization capability.



An individual represents a design for the engineering problem that the algorithm is tasked with optimizing. In the case of Detect3D, each individual is a flame detector layout.





A population is a collection of individuals. Typically, 30 individuals are present in each population.





A generation is a collection of populations. Presently each generation contains one population.





A parent is an individual that has been selected as a basis to create a new individual in the next generations. Parents are chosen using a pseudo-random process usually based on their fitness, i.e. the individuals with the highest fitness have a greater chance of being selected to be a parent. Each pair of parent individuals produces two “offspring”.




An offspring is an individual created from a pair of parents in the previous generation. The offspring is a combination aspects of the two parents, although there is no guarantee that this will result in offspring that have a higher fitness than the parents.


Fitness & Fitness Function


The fitness of each individual is evaluated by the fitness function. It is simply a single number indicating how “good” a layout is. The fitness function is specific to the problem, and in the case of optimizing detector layouts, is based on the coverage of the layout and the future potential for the layout to remove one detector.



Fittest Individual


The fittest individual is the individual in the population that has the highest fitness. Note that this does not always equate to the layout that has the highest coverage, as fitness is calculated from a combination of coverage and potential to remove a detector.




The concept of diversity is crucial when understanding the performance of a Genetic Algorithm. Generally, one wants to maintain a healthy level of diversity in the individuals – in other words, designs that are sufficiently different from one another.


The worst case scenario is zero diversity, meaning that all individuals (layouts) are the same. In this case, all individuals will have the same fitness, and produce offspring that are exactly the same as themselves. Only mutation will provide a method for progress. While this limit is never practically achieved, a maintaining good level of diversity is important.



Global Maximum


If it was possible to analyze the fitness of every single possible layout, there would be regions of similar layouts that have high fitness (“hills”) and regions that have low fitness (“valleys”). It is easiest to imagine this in three-dimensional space as a landscape will hills and valleys. In actuality, the Genetic Algorithm’s landscape is multi-dimensional – each detector has three dimensions (location, azimuth and declination) so a layout with 10 detectors has hills and valleys in 30-dimensional space.


Finding the global maximum is the ultimate goal of the Genetic Algorithm – in effect, it is finding the highest peak in the landscape. The problem is that the landscape is not known, as it is not possible to determine the fitness of all possible layouts (if it was, it would be simple to find the global maximum and there would be no need for the Genetic Algorithm). In the analogy, the Genetic Algorithm can stand on a high peak, but it cannot see all other peaks, so it cannot determine whether the peak it is on is the highest or not.


See What is the Optimal Layout? for further discussion on this.



Local Maximum


The local maximum is the maximum fitness value of the hill that that the Genetic Algorithm is currently on (see discussion on Global Maximum for this analogy). Genetic Algorithms tend to be very good at finding high peaks, but bad at finding the highest point of the hill they are on.



Local Optimization


Local Optimization refers to a “Hill Climbing” or “Greedy” algorithm that is useful for “polishing off” results from the Genetic Algorithm, and ascending the hill to the highest peak (see discussion on Local Maximum).


Key Points of Understanding


A list of key points to note before running an optimization study in Detect3D.