The optimisation algorithm used by the iVN is the Genetic Algorithm (GA), implemented by the python library pygmo. The GA is a nature-inspired optimisation algorithm that can optimise a problem using principles taken from studies of biological evolution. Consequently, the set of terminology used to describe various aspects of the algorithm are taken directly from the evolutionary context. We describe some of these terms below:
· A “decision variable” is any input parameter chosen by the user to be the target of optimisation. For example, a power station might have its maximum output (i.e. its capacity) set to be a decision variable.
· A “decision vector” is the set of all decision variables for an IVN model;
· An “individual” is defined as an IVN model with a specific decision vector; in other words, each decision variable has a particular value set;
· A “population” is a set of different individuals.
· A “fitness function” is a particular function which, when evaluated for a given individual, gives a metric which can be used to compare individuals with each other. The set of objective functions defined by the user gives rise to the fitness function.
· “Fitness evaluation” is the name given to the calculation of a fitness function for a particular individual.
· The “fitness score” is the result of the fitness evaluation. These are used to compare individuals with each other.
· “Selection” occurs when some of the individuals in a population are discarded because their fitness scores are considered worse than the others.
· “Evolution” is the name given to the process of generating new populations based on the remaining individuals from the population of a previous generation.
· A “generation” is a specific step in the evolution of a population. The first generation is an initial population and the population changes depending on the fitness evaluations of the previous generation.
· An “optimal result” is the individual considered to have the best fitness score (lowest or highest) amongst those in the last generation.