Object‐Oriented Programming of Optimizers – Examples in Scilab

Optimization algorithms are generally implemented following a functional paradigm that places the optimization method at the top of the hierarchy. Consider for instance the package Scilab [CAM 06], where an objective function f is optimized by a single call to a procedure that performs the whole optimization process, without any interference of the user:-> [yopt, xopt] = optim(f, x0) Remark – Objective functions and constraints are calculated from the outputs of a (programming) function or an external software, both of which we call simulators. To keep the text readable, the words " objective function " and " simulator " are used here as a generalization of objective functions and constraints. The ideas presented also apply to constraints and multiple objectives. Such a structure turns out to be very restrictive to implement more versatile strategies , such as changing the optimizer or f during the optimization, which may be needed, e.g., to couple local and global optimizers (e.g., [HAR 05]) or to replace high fidelity simulations by metamodels (see Chapter 5).

[1]  Hans-Georg Beyer,et al.  The Theory of Evolution Strategies , 2001, Natural Computing Series.

[2]  Petros Koumoutsakos,et al.  Reducing the Time Complexity of the Derandomized Evolution Strategy with Covariance Matrix Adaptation (CMA-ES) , 2003, Evolutionary Computation.

[3]  James C. Spall,et al.  Introduction to stochastic search and optimization - estimation, simulation, and control , 2003, Wiley-Interscience series in discrete mathematics and optimization.

[4]  Nikolaus Hansen,et al.  Completely Derandomized Self-Adaptation in Evolution Strategies , 2001, Evolutionary Computation.

[5]  Nikolaus Hansen,et al.  Evaluating the CMA Evolution Strategy on Multimodal Test Functions , 2004, PPSN.

[6]  Nikolaus Hansen,et al.  A restart CMA evolution strategy with increasing population size , 2005, 2005 IEEE Congress on Evolutionary Computation.

[7]  David K. Smith,et al.  Mathematical Programming: Theory and Algorithms , 1986 .

[8]  John A. Nelder,et al.  A Simplex Method for Function Minimization , 1965, Comput. J..

[9]  William E. Hart,et al.  Memetic Evolutionary Algorithms , 2005 .

[10]  William E. Hart,et al.  Recent Advances in Memetic Algorithms , 2008 .

[11]  Donald R. Jones,et al.  Efficient Global Optimization of Expensive Black-Box Functions , 1998, J. Glob. Optim..

[12]  Blas Galván,et al.  On Uncertainty and Robustness in Evolutionary Optimization-Based MCDM , 2009, EMO.

[13]  Nikolaus Hansen,et al.  The CMA Evolution Strategy: A Comparing Review , 2006, Towards a New Evolutionary Computation.

[14]  Jean-Philippe Chancelier,et al.  Modeling and Simulation in Scilab/Scicos , 2006 .

[15]  Petros Koumoutsakos,et al.  A Method for Handling Uncertainty in Evolutionary Optimization With an Application to Feedback Control of Combustion , 2009, IEEE Transactions on Evolutionary Computation.