Synthetic Objective Functions

The API references for synthetic objective functions. Please see the general objective class in API Cheatsheet.

Garland

class PyXAB.synthetic_obj.Garland.Garland

Bases: PyXAB.synthetic_obj.Objective.Objective

Garland objective implementation, with the domain [0, 1]

__init__()

Initialization with fmax = 1

f(x)

Evaluation of the chosen point in Garland function

Parameters

x (list) – one input point in the form of x = [x1]

Returns

y – Evaluated value of the function at the particular point x = [x1], returns x * (1 - x) * (4 - sqrt(abs(sin(60 * x))))

Return type

float


DoubleSine

class PyXAB.synthetic_obj.DoubleSine.DoubleSine(rho1=0.3, rho2=0.8, tmax=0.5)

Bases: PyXAB.synthetic_obj.Objective.Objective

DoubleSine objective implementation, with the domain [0, 1]

__init__(rho1=0.3, rho2=0.8, tmax=0.5)

Initialization with fmax = 0

Parameters
  • rho1 (float) – The parameter rho1 between 0 and 1 to compute ep1

  • rho2 (float) – The parameter rho2 between 0 and 1 to compute ep2

  • tmax (float) – The parameter tmax between 0 and 1 to truncate x

f(x)

Evaluation of the chosen point in DoubleSine function

Parameters

x (list) – one input point in the form of x = [x1]

Returns

y – Evaluated value of the function at the particular point x = [x1], returns mysin2(log(u, 2) / 2.0) * envelope_width - pow(u, self.ep2)

Return type

float


HimmelBlau

class PyXAB.synthetic_obj.Himmelblau.Himmelblau

Bases: PyXAB.synthetic_obj.Objective.Objective

Himmelblau objective implementation, with the domain [-5, 5]^2

__init__()

Initialization with fmax = 0

f(x)

Evaluation of the chosen point in Himmelblau function

Parameters

x (list) – one input point in the form of x = [x1, x2]

Returns

y – Evaluated value of the function at the particular point x = [x1, x2], returns -((x1**2 + x2 - 11) ** 2) - (x1 + x2**2 - 7) ** 2

Return type

float


Ackley

class PyXAB.synthetic_obj.Ackley.Ackley

Bases: PyXAB.synthetic_obj.Objective.Objective

Ackley objective implementation, with the domain [-1, 1]^2

__init__()

Initialization with fmax = 0

f(x)

Evaluation of the chosen point in Ackley function

Parameters

x (list) – one input point in the form of x = [x1, x2]

Returns

y – Evaluated value of the function at the particular point x = [x1, x2], returns 20 * exp(-0.2 * sqrt(0.5 * (x1**2 + x2**2))) + exp(0.5 * (cos(2 * pi * x1) + cos(2 * pi * x2))) - e - 20

Return type

float


Rastrigin

class PyXAB.synthetic_obj.Rastrigin.Rastrigin

Bases: PyXAB.synthetic_obj.Objective.Objective

Rastrigin objective implementation, with the domain [-1, 1]^p

__init__()

Initialization with fmax = 0

f(x)

Evaluation of the chosen point in Rastrigin function

Parameters

x (list) – one input point in the form of x = [x1, x2,…,xp]

Returns

y – Evaluated value of the function at the particular point x = [x1, x2,…,xp], returns sum_i^p - 10 - (x[i] ** 2 - 10 * cos(2 * pi * x[i]))

Return type

float


Difficult Function

class PyXAB.synthetic_obj.DifficultFunc.DifficultFunc

Bases: PyXAB.synthetic_obj.Objective.Objective

DifficultFunc objective implementation, with the domain [0, 1]

__init__()

Initialization with fmax = 1

f(x)

Evaluation of the chosen point in DifficultFunc function

Parameters

x (list) – one input point in the form of x = [x1]

Returns

y – Evaluated value of the function at the particular point x = [x1], returns threshold(log(y)) * (sqrt(y) - y**2) - sqrt(y)

Return type

float