Oracle Penalty Method

The oracle penalty method is an advanced approach for constraint handling within evolutionary optimization algorithms. The method is based on a single parameter Omega (Ω), which is called an oracle due to its predictive nature. This parameter directly corresponds to the global optimal objective function value f(x). In case of real-world applications where the user has some (rough) guess about a possible global optimal f(x) value, this information can be exploited as oracle information to improve the convergence speed of the optimization algorithm. In case no such user guided information is available, an (automated) update rule can be applied for Ω, starting with a value of infinity (∞) and updating Ω after individual optimization runs, when better (feasible) solutions have been found. Algorithms implementing the oracle penalty method with automated update are classified as self-tuning. The oracle penalty method has been applied for example in Ant Colony Optimization (ACO) see [1], [6], [7], Genetic Algorithms (GA) see [2], [10], [11], Particle Swarm Optimization (PSO) see [3], Artificial Bee Colony Algorithm see [12] and Differential Evolution (DE) see [4], [5], [8]. The most detailed introduction to the method can be found in [1], a brief motivation of the key idea of the method can be found in this PDF presentation (slide 11-15). The oracle penalty method is one of the major reasons why MIDACO is capable to solve problems with up to hundreds of (non-linear) constraints  fast & robust  (see Benchmarks).


 Mathematical Formulation of the extended Oracle Penalty Function


Source code
Matlab  oracle_penalty.m
C/C++  oracle_penalty.cpp
Fortran  oracle_penalty.f


LaTeX formula




Graphical illustration of the extended oracle penalty function for Omega = 0


Literature References  ( chronological order )
[1] Schlueter, Gerdts The Oracle Penalty Method Journal of Global Optimization (Springer), Vol. 47, Issue 2, Pages 293-325 (Preprint) (2010) 
[2] Munawar et al. Advanced genetic algorithm to solve MINLP problems over GPU IEEE Congress on Evolutionary Computation (CEC), 318 - 325 (2011)
[3] Dong, Cheng, Niu A Constrained Particle Swarm Optimization Algorithm with Oracle Penalty Method Applied Mechanics and Material (AMM) 303-306, 1519 (2013)
[4] Dong, Wang, Cheng, Jiang Composite differential evolution with modified oracle penalty method for constrained optimization problems Mathematical Problems in Engineering (Preprint) (2014)
[5] Dong, Cheng, Niu Adaptive Constrained Differential Evolution Algorithms based on Oracle Penalty Function Computer Applications and Software (Chinese), DOI:10.3969/j.issn.1000-386x.2014.01.078 (2014)
[6] Gebreslassie, Diwekar Efficient ant colony optimization for computer aided
molecular design: case study solvent selection problem
Computers & Chemical Engineering (Elsevier) Volume 78, Pages 1–9 (2015)
[7] Gebreslassie, Diwekar Efficient ant colony optimization (EACO) algorithm for deterministic optimization AIChE Annual Meeting Atlanta, GA (link) (2014)
[8] Chen, Liang An Optimization Approach of SRM Sphere Slot Grain Design Based on Improved Differential Evolution Algorithm Advanced Materials Research, Vol 971-973, Pages 1072-1075 (2014)
[9] Gago-Vargas et al. Nonlinear integer problems with applications to engineering design  Computational Optimization and Applications (Springer), (Preprint) (2015)
[10] Sato, Watanabe, Igarashi

Multimaterial Topology Optimization of Electric Machines Based on Normalized Gaussian Network

IEEE Transaction on Magnetics, Vol. 51, No. 3, Art. 7202604 (Preprint) (2015)

[11] Noguera

What's New in DiscoverSim Version 2

INFORMS 2015 Workshop, Philadelphia USA (PPTX) (2015)

[12] Zhang, Han, Wang

Emulsion Explosive Formulation Optimization Based on Hybrid Artificial Bee Colony Algorithm

Acta Analysis Functionalis Applicata, Vol.17, No.4, pp. 421-430 (Preprint) (2015)