Package 'globalOptTests'

Title: Objective functions for benchmarking the performance of global optimization algorithms
Description: This package makes available 50 objective functions for benchmarking the performance of global optimization algorithms
Authors: Katharine Mullen
Maintainer: Katharine Mullen <[email protected]>
License: GPL (>= 3)
Version: 1.1
Built: 2024-11-03 06:39:20 UTC
Source: CRAN

Help Index


Objective functions for benchmarking the performance of continuous global optimization algorithms

Description

This package makes available 50 objective functions for benchmarking the performance of global optimization algorithms.

Details

The C implementations were downloaded in a form that was modified from the paper above, and modified further for incorporation into this package from a site maintained by GAMS Development Corp. and GAMS Software GmbH: http://www.gamsworld.org/performance/selconglobal/selcongloballib.htm.

Author(s)

Katharine Mullen [email protected]

References

Montaz Ali, M., Khompatraporn, C. and Zabinsky, Z. B. (2005), A Numerical Evaluation of Several Stochastic Algorithms on Selected Continuous Global Optimization Test Problems, Journal of Global Optimization, 31, 4, 635–672.

Mullen, K. M. (2014), Continuous Global Optimization in R, Journal of Statistical Software, 60, 6, 1–45, URL http://www.jstatsoft.org/v60/i06/.

http://www.gamsworld.org/performance/selconglobal/selcongloballib.htm for the C source.


Get the default box constraints for the objective function.

Description

This function returns the default lower and upper bounds (box constraints) for the given objective function.

Usage

getDefaultBounds(fnName)

Arguments

fnName

A character vector naming the objective function to call. Options are elements of

c("Ackleys", "AluffiPentini", "BeckerLago",
      "Bohachevsky1", "Bohachevsky2", "Branin",
      "Camel3", "Camel6", "CosMix2", "CosMix4",
      "DekkersAarts", "Easom", "EMichalewicz",
      "Expo", "GoldPrice", "Griewank", "Gulf",
      "Hartman3", "Hartman6", "Hosaki", "Kowalik",
      "LM1", "LM2n10", "LM2n5", "McCormic",
      "MeyerRoth", "MieleCantrell", "Modlangerman",
      "ModRosenbrock", "MultiGauss", "Neumaier2",
      "Neumaier3", "Paviani", "Periodic",
      "PowellQ", "PriceTransistor", "Rastrigin",
      "Rosenbrock", "Salomon", "Schaffer1",
      "Schaffer2", "Schubert", "Schwefel",
      "Shekel10", "Shekel5", "Shekel7",
      "Shekelfox5", "Wood", "Zeldasine10",
      "Zeldasine20").

Unique partial matches to these elements are accepted.

Value

A list containing the elements

lower

Vector of reals representing lower bounds

upper

Vector of reals representing upper bounds

Author(s)

Katharine Mullen [email protected]

References

Mullen, K. M. (2014), Continuous Global Optimization in R, Journal of Statistical Software, 60, 6, 1–45, URL http://www.jstatsoft.org/v60/i06/.

Examples

getProblemDimen("Ackleys")
getProblemDimen("AluffiPentini")

Return the global optimum of a given objective function.

Description

Return the real value representing the global optimum (minimum) of a given objective function between the default bounds possible to obtain via the function getDefaultBounds(fnName).

Usage

getGlobalOpt(fnName)

Arguments

fnName

A character vector naming the objective function to call. Options are elements of

c("Ackleys", "AluffiPentini", "BeckerLago",
      "Bohachevsky1", "Bohachevsky2", "Branin",
      "Camel3", "Camel6", "CosMix2", "CosMix4",
      "DekkersAarts", "Easom", "EMichalewicz",
      "Expo", "GoldPrice", "Griewank", "Gulf",
      "Hartman3", "Hartman6", "Hosaki", "Kowalik",
      "LM1", "LM2n10", "LM2n5", "McCormic",
      "MeyerRoth", "MieleCantrell", "Modlangerman",
      "ModRosenbrock", "MultiGauss", "Neumaier2",
      "Neumaier3", "Paviani", "Periodic",
      "PowellQ", "PriceTransistor", "Rastrigin",
      "Rosenbrock", "Salomon", "Schaffer1",
      "Schaffer2", "Schubert", "Schwefel",
      "Shekel10", "Shekel5", "Shekel7",
      "Shekelfox5", "Wood", "Zeldasine10",
      "Zeldasine20").

Unique partial matches to these elements are accepted.

Value

Real representing the global optimum (minimum) of the objective function named in fnName.

Author(s)

Katharine Mullen [email protected]

References

Montaz Ali, M., Khompatraporn, C. and Zabinsky, Z. B. (2005), A Numerical Evaluation of Several Stochastic Algorithms on Selected Continuous Global Optimization Test Problems, Journal of Global Optimization, 31, 4, 635–672.

Mullen, K. M. (2014), Continuous Global Optimization in R, Journal of Statistical Software, 60, 6, 1–45, URL http://www.jstatsoft.org/v60/i06/.

http://www.gamsworld.org/performance/selconglobal/selcongloballib.htm for the C source.

Examples

getGlobalOpt("Ackleys")
getGlobalOpt("AluffiPentini")

Get the length of the parameter vector expected by a given objective function.

Description

This function returns an integer value that corresponds to the length of the parameter vector expected by a given objective function.

Usage

getProblemDimen(fnName)

Arguments

fnName

A character vector naming the objective function to call. Options are elements of

c("Ackleys", "AluffiPentini", "BeckerLago",
      "Bohachevsky1", "Bohachevsky2", "Branin",
      "Camel3", "Camel6", "CosMix2", "CosMix4",
      "DekkersAarts", "Easom", "EMichalewicz",
      "Expo", "GoldPrice", "Griewank", "Gulf",
      "Hartman3", "Hartman6", "Hosaki", "Kowalik",
      "LM1", "LM2n10", "LM2n5", "McCormic",
      "MeyerRoth", "MieleCantrell", "Modlangerman",
      "ModRosenbrock", "MultiGauss", "Neumaier2",
      "Neumaier3", "Paviani", "Periodic",
      "PowellQ", "PriceTransistor", "Rastrigin",
      "Rosenbrock", "Salomon", "Schaffer1",
      "Schaffer2", "Schubert", "Schwefel",
      "Shekel10", "Shekel5", "Shekel7",
      "Shekelfox5", "Wood", "Zeldasine10",
      "Zeldasine20").

Unique partial matches to these elements are accepted.

Details

Note that some of the above functions can handle parameter vectors of multiple lengths; the return value given indicates the parameter vector length that corresponds to a problem dimension for which the function getGlobalOpt returns the global optimum.

Value

An integer value describing the length of the parameter vector expected by the objective function.

Author(s)

Katharine Mullen [email protected]

References

Mullen, K. M. (2014), Continuous Global Optimization in R, Journal of Statistical Software, 60, 6, 1–45, URL http://www.jstatsoft.org/v60/i06/.

Examples

getProblemDimen("Ackleys")
getProblemDimen("AluffiPentini")

Call an objective function

Description

This function is used to access one of 50 objective functions that may be useful for benchmarking performance of global optimization algorithms.

Usage

goTest(par, fnName, checkDim = TRUE)

Arguments

par

Vector of reals representing the parameter vector at which to evaluate the objective function.

fnName

A character vector representing the name of the objective function to use. Options are elements of

c("Ackleys", "AluffiPentini", "BeckerLago",
      "Bohachevsky1", "Bohachevsky2", "Branin",
      "Camel3", "Camel6", "CosMix2", "CosMix4",
      "DekkersAarts", "Easom", "EMichalewicz",
      "Expo", "GoldPrice", "Griewank", "Gulf",
      "Hartman3", "Hartman6", "Hosaki", "Kowalik",
      "LM1", "LM2n10", "LM2n5", "McCormic",
      "MeyerRoth", "MieleCantrell", "Modlangerman",
      "ModRosenbrock", "MultiGauss", "Neumaier2",
      "Neumaier3", "Paviani", "Periodic",
      "PowellQ", "PriceTransistor", "Rastrigin",
      "Rosenbrock", "Salomon", "Schaffer1",
      "Schaffer2", "Schubert", "Schwefel",
      "Shekel10", "Shekel5", "Shekel7",
      "Shekelfox5", "Wood", "Zeldasine10",
      "Zeldasine20").

Unique partial matches to these elements are accepted.

checkDim

A boolean value that is TRUE if the length of the parameter vector should be checked to make sure it matches the expected value. If set to FALSE, the function runs slightly faster.

Details

Note that the factor of 0.02 in Ackley's function has been changed to the value commonly found in the literature, 0.2. Also, Storn's Tchebychev Problem in 9 and 17 dimensions was not included, since the global minima of the imlementation of these functions does not correspond to the global minima reported in the above paper.

Value

A real that representes the value of the objective function fnName at the parameter vector par.

Author(s)

Katharine Mullen [email protected]

References

Montaz Ali, M., Khompatraporn, C. and Zabinsky, Z. B. (2005), A Numerical Evaluation of Several Stochastic Algorithms on Selected Continuous Global Optimization Test Problems, Journal of Global Optimization, 31, 4, 635–672.

Mullen, K. M. (2014), Continuous Global Optimization in R, Journal of Statistical Software, 60, 6, 1–45, URL http://www.jstatsoft.org/v60/i06/.

http://www.gamsworld.org/performance/selconglobal/selcongloballib.htm for the C source.

Examples

goTest(fnName="Ackleys", par=rnorm(10))
goTest(fnName="AluffiPentini", par=c(1,2))
goTest(fnName="AluffiPentini",
par=rep(1,getProblemDimen("AluffiPentini")))

## use in an optimization via 'optim'
optim(par=c(1,2), fn=goTest, fnName="AluffiPentini")