PSALHE: an algorithm to solve multimodal optimization problems.

Technical papers:

  • E. Dilettoso, S.A. Rizzo, and N. Salerno.(2014) A Parallel Version of the Self-Adaptive Low-High Evaluation Evolutionary-Algorithm for Electromagnetic Device Optimization. IEEE Transactions on Magnetics. 50 (2). Published version from IEEE Explore.
    Abstract
    The self-adaptive low-high evaluation evolutionary-algorithm (SALHE-EA) is used to solve multimodal optimization problems. SALHE-EA is able to find the multiple optima of a single objective function (OF) and to give an idea of the fitness landscape in the neighborhood of these optima. This aspect is of crucial importance when the single OF is obtained using the weighted sum of the OFs, each related to a different goal of the optimization problem. This paper presents an improved version of SALHE-EA. This new version has several new features and, mainly, the suitability for parallelization.
    Keywords:- evolutionary computation, finite element methods (FEMs), induction heating, optimization methods, parallel algorithms.

  • E. Dilettoso, S.A. Rizzo, and N. Salerno.(2008) SALHE-EA: A New Evolutionary Algorithm for Multi-Objective Optimization of Electromagnetic Devices. Studies in Computational Intelligence. 119 (Intelligent Computer Techniques in Applied Electromagnetics). Published version from Springer Link.
    Abstract
    This paper presents a new evolutionary algorithm (EA) for the optimization of electromagnetic devices called SALHE-EA (self-adaptive low-high evaluations – evolutionary algorithm). Its main aspects are identification of the optima of the objective function and evaluation of their sensitivity. Moreover, SALHE-EA works well if combined with the deterministic pattern search (PS) method, forming a good hybrid method. It performs well in the design of electromagnetic devices when the optimization of a multimodal function is required.

Downloads:

  • ">C++ source code of PSALHE-EA (rev. 1, size

  • "Try PSALHE-EA": the example is a function with 2 variables and 24 maxima. 
    ">Example source code (size
    In this example, PSALHE algorithm has to find all the 24 maxima of a function of 2 variables (optimization or design parameters). Moreover, PSALHE algorithm provides an estimation of the radius of each discovered niche.
    The zipped archive contains three files:  
    • "objective_function.cpp": C++ source code for the objective function implementation; 
    • "example_par.txt": a text file containing lower and upper limits of the two optimization parameters;
    • "psalhe-ea.txt": a text file containing parameters for the PSALHE algorithm. 

  • "PSALHE algortithm at work": a video that shows PSALHE searching for a solution of the example above.
    ">Video (AVI format, size
    The video displays the movements of individuals of the population during PSALHE's steps:  
    • stochastic session (250 generations); 
    • identification of  hypothetical maxima and hypothetical minima;
    • deterministic session;
    • elimination of doublets; 
    • evaluation of niche radii.  
    Eventually, the solution consists of the optimum points (maxima), in the discovered niches, each associated with its estimated radius.

Other open source software:

  • DOA: a unary quality indicator for assessing the performance of many-objective optimization algorithm (MOOA).
  • PSRS: an open source tool for reliability evaluation of distribution systems.