Space Missions Engineering Laboratory

Evolutionary Computation

Evolutionary Computation (EC) is the general term for several computational techniques which are based to some degree on the evolution of biological life in the natural world. Evolution is the great unifying principle of biology, but it extends beyond biology and can be used as an engineering principle where individuals in a population of candidate solutions to some particular problem undergo random variation (mutation and recombination) and face competition and selection based on their appropriateness for the task at hand. EC usually has a population-based structure: different possible solutions are simultaneously evaluated and ranked according to reciprocal comparison.

EC turns out to be very effective whenever relationships and rules - leading the problem to be solved - are fuzzy and partially unknown; thanks to the EC are quite effective too in pruning wide space search areas to obtain first guess solutions to be further analyzed by different techniques. Therefore, data mining, autonomous and continuous learning, design support, optimization, control and classification problems represent a set of problems EC is well-suited to solve. In fact, successful applications to mechatronics design, adaptive control, computer vision, path planning, and knowledge base refinement are reported.

EC includes paradigms like the Genetic Algorithms, Genetic Programming, Evolutionary Programming, Evolution Strategy, Differential Evolution, Swarm Intelligence, Invasive Weed Optimization, Tabu Search and Simulated Annealing. The aforementioned methods differ in terms of search strategies and problem coding but they present some commonalities: an evaluation function that describes the quality of any candidate solution in quantitative terms; a representation or data structure to store solutions;   variation operators that transform “parents” into “offspring,” and a means for selecting which solutions will survive to the next generation and which will be eliminated. An EC algorithm is executed over a series of generations of random variation and selection: variation to the existing solutions depends on the specific applied algorithm in the EC class; alternative choices offer different sampling distributions from the space of all possible solutions. Each of the individuals in the population is scored with respect to how well the individual accomplishes the task at hand, and selection is used to eliminate some subset of the population or to amplify the percentage of above-average solutions. The algorithm terminates when some extrinsic criterion has been satisfied, such as prescribed maximum number of generations, or a suitable error tolerance. Over time, by eliminating poor solutions and extending the evolutionary search around those that appear better, the population can discover superior solutions to complex problems.

EC ask no specific features over the problem to be solved: search domains of different nature - say either integer, discrete, continuous, numerical, and linguistic variables - can be dealt with simultaneously; no mathematical properties must be satisfied by the faced problem; almost any algorithm in the EC class can be easily and quickly settled; EC algorithms show their potential merged with other soft computing techniques such as ANN and FL: they are in charge of supporting the model identification process of the main parameters the ANN and FL mechanisms lean on. On the other hand EC asks to be tuned depending on the problem to be faced; whenever fine solutions are required, solutions obtained by any EC algorithm should be refined by some local search sharper technique. 

Our group has a good knowledge about EC algorithms; they have been applied in the following cases:

  • tuning ANN for autonomous robot control identification;
  • solving complex constraints net in spacecraft activities autonomous scheduling;
  • selecting the optimal design for spacecraft constellation;
  • identifying a set of possible feasible space system preliminary configuration for complex missions;
  • coding human behaviours into a FL inference motor through learning mechanism;
  • pruning the wide space of feasible interplanetary mission trajectories according to fuel mass contention;
  • path planning problem solving for autonomous exploration robots.
« prev top next »

Powered by CMSimple