Oracle Penalty Method

The oracle penalty method is an advanced approach for constraint handling for evolutionary and metaheuristic 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], [15], [17], Genetic Algorithms (GA) see [2], [10], [11], Particle Swarm Optimization (PSO) see [3],[16], Artificial Bee Colony Algorithm see [12] and Differential Evolution (DE) see [4], [5], [8], [13] and was also extended to deterministic methods [14]. 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 hundreds of (non-linear) constraints  fast & robust  (see Benchmarks).


Mathematical Formulation of the extended Oracle Penalty Function  ( Section 2.3 )

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

Source code
Matlab  oracle_penalty.m

LaTeX formula



C/C++  oracle_penalty.cpp
Fortran  oracle_penalty.f


Literature References
[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, pp. 318 - 325 (link) (2011)
[3] Dong, Cheng, Niu A Constrained Particle Swarm Optimization Algorithm with Oracle Penalty Method Applied Mechanics and Material (AMM) pp. 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, Vol. 1, pp. 1-15, DOI:10.1155/2014/617905 (Paper) (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 Int. J. Swarm Intel. Evol. Comput. 5:131. doi:10.4172/2090-4908.1000131 (link) (2016)
[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)

[13] Shi, Liu, Feng, Zhao

Improved Differential Evolution Based PA Energy Efficiency Optimization Scheme with Joint Polarization-QAM in OFDM Systems

IEEE/CIC International Conference on Communications in China (ICCC), DOI: 10.1109/ICCChina.2017.8330407 (link) (2017)

[14] Costa, Rocha, Fernandes

A Penalty Approach for Solving
Nonsmooth and Nonconvex MINLP

Springer Proceedings in Mathematics & Statistics, vol 223. (link) (2018)

[15] Paffrath, Zhou, Guo, Ertl

Interactive winding geometry design of power transformers

IEEE/ICOA, 4th Inter. Conf. on Opt. App.,  DOI: 10.1109/ICOA.2018.8370494 (link) (2018)

[16] Zhengtonga, Zhengqi, Xiaokui, Chen

Multimaterial layout optimization of truss structures via an improved particle swarm optimization algorithm

Computers & Structures, Vol. 222, pp 10-24 (Elsevier) (2019)

[17] Acciarini

Solar Sailing Polar Mission to the Sun

Master Thesis, TU-Delft, Netherlands (link) (2019)

[18] Sato, Igarashi

Automatic Design of PM Motor Using Monte Carlo Tree Search

IEEE Transaction on Magnetics,

DOI: 10.1109/TMAG.2022.3164926, (link) (2022)

[19] Otomo, Sato, Ken, Onozaka, Hajime

Parameter and Topology Optimizations for Wireless Power Transfer Device

IEEE Transactions on Magnetics,

DOI: 10.1109/TMAG.2023.3301995 (link) (2023)