Mathematical Definition

\[f(x,y)=x^2 + y^2 + 25(sin^2(x) + sin^2(y))\]

Plots

Egg Crate Function

Egg Crate Function

Egg Crate Function

Egg Crate Function

Egg Crate Function

Egg Crate Function

Egg Crate Function

Egg Crate Function

Two contours of the function are presented below:

Egg Crate Function

Egg Crate Function

Description and Features

  • The function is continuous.
  • The function is not convex.
  • The function is defined on 2-dimensional space.
  • The function is multimodal.
  • The function is differentiable.
  • The function is separable.

Input Domain

The function can be defined on any input domain but it is usually evaluated on $x_i \in [-5, 5]$ for $i=1, 2$.

Global Minima

The global minimum $f(\textbf{x}^{\ast})=0$ is located at $\mathbf{x^\ast}=(0, 0)$.

Implementation

Python

For Python, the function is implemented in the benchmarkfcns package, which can be installed from command line with pip install benchmarkfcns.

from benchmarkfcns import eggcrate

print(eggcrate([[0, 0],
              [1, 1]]))

MATLAB

An implementation of the Egg Crate Function with MATLAB is provided below.

% Computes the value of the Egg Crate function.
% SCORES = EGGCRATEFCN(X) computes the value of the Egg Crate 
% function at point X. EGGCRATEFCN accepts a matrix of size M-by-2 and 
% returns a vetor SCORES of size M-by-1 in which each row contains the 
% function value for the corresponding row of X.
% 
% Author: Mazhar Ansari Ardeh
% Please forward any comments or bug reports to mazhar.ansari.ardeh at
% Google's e-mail service or feel free to kindly modify the repository.
function scores = eggcratefcn(x)
    n = size(x, 2);
    assert(n == 2, 'The Egg Crate function is defined only on the 2-D space.')
    X = x(:, 1);
    Y = x(:, 2);
    
    scores = X.^2 + Y.^2 + (25 * (sin(X).^2 + sin(Y).^2));
end 

The function can be represented in Latex as follows:

f(x,y)=x^2 + y^2 + 25(sin^2(x) + sin^2(y))

References:

  • Momin Jamil and Xin-She Yang, A literature survey of benchmark functions for global optimization problems, Int. Journal of Mathematical Modelling and Numerical Optimisation}, Vol. 4, No. 2, pp. 150–194 (2013), arXiv:1308.4008
  • http://al-roomi.org/benchmarks/unconstrained/2-dimensions/122-egg-crate-function
  • Chawdhry, P. K., Roy, R., & Pant, R. K. (2012). Soft Computing in Engineering Design and Manufacturing. London: Springer Science & Business Media.
  • Yang, X.S. (2008). Nature-Inspired Metaheuristic Algorithms, Luniver Press.