Version: | 1.1 |
Title: | Objective functions for benchmarking the performance of global optimization algorithms |
Author: | Katharine Mullen |
Maintainer: | Katharine Mullen <katharine.mullen@stat.ucla.edu> |
Description: | This package makes available 50 objective functions for benchmarking the performance of global optimization algorithms |
License: | GPL (≥ 3) |
Repository: | CRAN |
Packaged: | 2014-09-09 09:42:59 UTC; kmm |
NeedsCompilation: | yes |
Date/Publication: | 2014-09-09 14:18:29 |
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 katharine.mullen@stat.ucla.edu
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 katharine.mullen@stat.ucla.edu
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 katharine.mullen@stat.ucla.edu
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 katharine.mullen@stat.ucla.edu
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 |
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 katharine.mullen@stat.ucla.edu
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")