Contents
ToggleStrong Pareto evolutionary algorithm SPEA
The goal of the SPEA strong Pareto evolutionary algorithm is to locate and maintain a front of non-dominated solutions, ideally a set of Pareto optimal solutions. This is achieved by using an evolutionary process (with surrogate procedures for genetic recombination and mutation) to explore the search space, and a selection process that uses a combination of a candidate solution's degree of dominance (strong ) and an estimate of the Pareto front density as an assigned fitness.
An archive of the nondominated set is kept separate from the population of candidate solutions used in the evolutionary process, providing a form of elitism.
Here are the functions of the evolutionary strong Pareto algorithm SPEA.
The CalculateRawFitness function calculates raw fitness as the sum of the strength values of the solutions that dominate a given candidate, where strength is the number of solutions that a given solution dominates. The CandidateDensity function estimates the density of an area of the Pareto front as 1/(o^k + 2) where o^k is the Euclidean distance of objective values between a given solution, the kth nearest neighbor of the solution, and k is the square root of the combined population and archive size.
The PopulateWithRemainingBest function iteratively populates the archive with the remaining candidate solutions in order of fitness. The RemoveMostSimilar function truncates the archive population by removing members with the smallest o^k values calculated relative to the archive.
The SelectParents function selects the parents of a population using a selection method of thegenetic algorithm such as the selection of binary tournaments. The CrossoverAndMutation function performs the genetic algorithm crossover and mutation operators.
The SPEA strong Pareto scalable algorithm has been designed and adapted to instances of combinatorial multi-objective and continuous-function optimization problems. A binary representation can be used for continuous function optimization problems in conjunction with classical genetic operators such as one-point crossover and point mutation. A k value of 1 can be used for efficiency and still provide useful results. The archive size is usually smaller than the population size.
