PPCea: A Domain-Specific Language for Programmable Parameter Control in Evolutionary Algorithms
Shih-Hsi Alex Liu, Marjan Mernik, Mohammed Zubair, Matej Črepinšek, Barrett R. · InTech eBooks · 2011
An Evolutionary Algorithm (EA) is a meta-heuristic and stochastic optimization search process that mimics Darwinian evolution theory and Mendel's Genetics.Each process facilitates (a) population(s) evolve into fittest and/or convergence by setting parameters of selection, mutation, crossover, population resizing, and/or many other variant operators.However, due to two primary identified factors, EAs are still a challenging research topic: (1) Value choices/ranges for parameters (i.e., parameter settings) will greatly influence the evolution performance of a search process in terms of fittest and/or convergence; and (2) Parameter settings that are good for one fitness function do not guarantee the same evolution performance of another fitness function.Namely, parameter settings are function-specific.Different functions may have various characteristics that request specific attention.In order to better organize and overcome the parameter setting problem, Eiben et al. have classified parameter settings into parameter tuning and parameter control (Eiben et al., 1999): Parameter tuning determines parameter values before a search process begins while parameter control changes parameter values during a search process.More specifically, parameter control adjusts parameters on-the-fly using three different approaches: (1) Deterministic approach alters parameters based on certain pre-determined rules or formulae; (2) Adaptive approach strategically adjusts parameter values based on the feedbacks of a search process.Such feedbacks could be fitness, diversity, distance, among others; and (3) Self-adaptive approach encodes parameters to be adapted and evolves them along with a search process.Yet, even with such a classification, to our best knowledge there is no existing tool to assist researchers with conducting experiments of parameter settings with ease.Namely, researchers need to find out appropriate places out of thousand lines of EA source code to introduce and update specific parameters (including feedbacks) as well as formulae and adaptive strategies.Additionally, a number of revisions for EA source code will be also required for different kinds of experiments.To EA experimenters, such endeavor is time consuming and error prone.To EA developers, complex and tangling source code, resulted from different