Learn R Programming

smoof (version 1.7.0)

Single and Multi-Objective Optimization Test Functions

Description

Provides generators for a high number of both single- and multi- objective test functions which are frequently used for the benchmarking of (numerical) optimization algorithms. Moreover, it offers a set of convenient functions to generate, plot and work with objective functions.

Copy Link

Version

Install

install.packages('smoof')

Monthly Downloads

5,767

Version

1.7.0

License

BSD_2_clause + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Jakob Bossek

Last Published

February 24th, 2026

Functions in smoof (1.7.0)

getMeanFunction

Returns the true mean function in the noisy case
getParamSet

Get parameter set
getOptimaDf

Get Data Frame of optima
isSmoofFunction

Checks whether the given object is a smoof_function or a smoof_wrapped_function
getTags

Returns the vector of associated tags
isWrappedSmoofFunction

Checks whether the function is of type smoof_wrapped_function
isSingleobjective

Checks whether the given function is single-objective
isVectorized

Checks whether the given function accepts “vectorized” input
getWrappedFunction

Extract wrapped function
hasLocalOptimum

Checks whether local optima are known
isNoisy

Checks whether the given function is noisy
hasOtherConstraints

Checks whether the objective function has other constraints
isMultiobjective

Checks whether the given function is multi-objective
makeAdjimanFunction

Adjiman function
makeBealeFunction

Beale Function
makeAluffiPentiniFunction

Aluffi-Pentini function
makeBentCigarFunction

Bent-Cigar Function
hasConstraints

Checks whether the objective function has constraints
makeAckleyFunction

Ackley Function
makeAlpine01Function

Alpine01 function
makeBiObjBBOBFunction

Generate Bi-Objective Function from the Real-Parameter Bi-Objective Black-Box Optimization Benchmarking (BBOB)
hasTags

Checks if the function has assigned special tags
makeBiSphereFunction

Bi-objective Sphere function
makeBBOBFunction

Generator for noiseless function set of the real-parameter BBOB
makeBK1Function

BK1 function generator
makeBartelsConnFunction

Bartels Conn Function
makeAlpine02Function

Alpine02 function
makeBohachevskyN1Function

Bohachevsky function N. 1
makeBirdFunction

Bird Function
makeBukinN4Function

Bukin function N. 4
makeBukinN2Function

Bukin function N. 2
makeBukinN6Function

Bukin function N. 6
makeCarromTableFunction

Carrom Table Function
makeBrownFunction

Brown Function
makeBrentFunction

Brent Function
makeBraninFunction

Branin RCOS function
makeBoothFunction

Booth Function
makeDTLZ4Function

DTLZ4 Function (family)
makeDTLZ2Function

DTLZ2 Function (family)
makeDTLZ1Function

DTLZ1 Function (family)
makeChichinadzeFunction

Chichinadze Function
makeDTLZ3Function

DTLZ3 Function (family)
makeCosineMixtureFunction

Cosine Mixture Function
makeComplexFunction

Complex function
makeCrossInTrayFunction

Cross-In-Tray Function
makeCubeFunction

Cube Function
makeChungReynoldsFunction

Chung Reynolds Function
makeED2Function

ED2 Function
makeDoubleSumFunction

Double-Sum Function
makeDeckkersAartsFunction

Deckkers-Aarts Function
makeDixonPriceFunction

Dixon-Price Function
makeDTLZ6Function

DTLZ6 Function (family)
makeED1Function

ED1 Function
makeDTLZ5Function

DTLZ5 Function (family)
makeDTLZ7Function

DTLZ7 Function (family)
makeDeflectedCorrugatedSpringFunction

Deflected Corrugated Spring function
makeGeneralizedDropWaveFunction

Generalized Drop-Wave Function
makeFunctionsByName

Generate smoof function by passing a character vector of generator names
makeEasomFunction

Easom Function
makeDentFunction

Dent Function Generator
makeHolderTableN1Function

Holder Table function N. 1
makeEggCrateFunction

Egg Crate Function
makeHosakiFunction

Hosaki Function
makeGOMOPFunction

GOMOP function generator
makeEggholderFunction

Egg Holder function
makeHimmelblauFunction

Himmelblau Function
makeHartmannFunction

Hartmann Function
makeHyperEllipsoidFunction

Hyper-Ellipsoid function
makeHolderTableN2Function

Holder Table function N. 2
makeExponentialFunction

Exponential Function
makeJudgeFunction

Judge function
makeGoldsteinPriceFunction

Goldstein-Price Function
makeLeonFunction

Leon Function
makeKursaweFunction

Kursawe Function
makeGiuntaFunction

Giunta Function
makeInvertedVincentFunction

Inverted Vincent Function
makeKearfottFunction

Kearfott function
makeEngvallFunction

Complex function
makeElAttarVidyasagarDuttaFunction

El-Attar-Vidyasagar-Dutta Function
makeFreudensteinRothFunction

Freudenstein Roth Function
makeMMF11Function

MMF11 Function
makeKeaneFunction

Keane Function
makeMMF12Function

MMF12 Function
makeGriewankFunction

Griewank Function
makeHansenFunction

Hansen Function
makeMMF10Function

MMF10 Function
makeMMF13Function

MMF13 Function
makeMMF1eFunction

MMF1e Function
makeJennrichSampsonFunction

Jennrich-Sampson function
makeMMF1zFunction

MMF1z Function
makeMMF3Function

MMF3 Function
makeMMF2Function

MMF2 Function
makeMOP3Function

MOP3 function generator
makeMOP2Function

MOP2 function generator
makeMMF14Function

MMF14 Function
makeMMF8Function

MMF8 Function
makeMMF9Function

MMF9 Function
makeMMF4Function

MMF4 Function
makeMMF1Function

MMF1 Function
makeMMF5Function

MMF5 Function
makeMMF15aFunction

MMF15a Function
makeMOP6Function

MOP6 function generator
makeMMF15Function

MMF15 Function
makeMOP1Function

MOP1 function generator
makeMMF6Function

MMF6 Function
makeMPM2Function

Generator for function with multiple peaks following the multiple peaks model 2
makeMNKFunction

Generators for (r)MNK-landscapes
makeModifiedRastriginFunction

Rastrigin Function
makeMMF7Function

MMF7 Function
makeMMF14aFunction

MMF14a Function
makeMOP5Function

MOP5 function generator
makeMOP4Function

MOP4 function generator
makeMultiObjectiveFunction

Generator for multi-objective target functions
makeMOP7Function

MOP7 function generator
makeNKFunction

Generator for NK-landscapes
makeMichalewiczFunction

Michalewicz Function
makeRastriginFunction

Rastrigin Function
makeOmniTestFunction

MMF13 Function
makePeriodicFunction

Periodic Function
makeObjectiveFunction

Internal generator for function of smoof type
makeMcCormickFunction

McCormick Function
makeMatyasFunction

Matyas Function
makeSYMPARTrotatedFunction

SYM-PART Rotated Function
makeSixHumpCamelFunction

Three-Hump Camel Function
makePowellSumFunction

Powell-Sum Function
makePriceN1Function

Price Function N. 1
makeSchafferN4Function

Schaffer Function N. 4
makeRosenbrockFunction

Rosenbrock Function
makeSchafferN2Function

Modified Schaffer Function N. 2
makeSwiler2014Function

Swiler2014 function
makeSingleObjectiveFunction

Generator for single-objective target functions
makeWFG1Function

WFG1 Function
makeViennetFunction

Viennet function generator
makeShubertFunction

Shubert Function
makeThreeHumpCamelFunction

Three-Hump Camel Function
makeSchwefelFunction

Schwefel function
makeUFFunction

Generator for the functions UF1, ..., UF10 of the CEC 2009
makeWFG3Function

WFG3 Function
makePriceN2Function

Price Function N. 2
makeTrecanniFunction

Trecanni Function
makeWFG2Function

WFG2 Function
makeShekelFunction

Shekel functions
makePriceN4Function

Price Function N. 4
makeSphereFunction

Sphere Function
makeStyblinkskiTangFunction

Styblinkski-Tang function
makeSumOfDifferentSquaresFunction

Sum of Different Squares Function
makeZDT3Function

ZDT3 Function
makeSYMPARTsimpleFunction

SYM-PART Simple Function
makeWFG6Function

WFG6 Function
makeZDT4Function

ZDT4 Function
makeZDT1Function

ZDT1 Function
makeWFG8Function

WFG8 Function
makeWFG9Function

WFG9 Function
plot1DNumeric

Plot an one-dimensional function
makeZettlFunction

Zettl Function
makeZDT6Function

ZDT6 Function
makeZDT2Function

ZDT2 Function
makeWFG7Function

WFG7 Function
plot3D

Surface plot of two-dimensional test function
shouldBeMinimized

Check if function should be minimized
makeWFG5Function

WFG5 Function
resetEvaluationCounter

Reset evaluation counter
makeWFG4Function

WFG4 Function
smoof-package

smoof: Single and Multi-Objective Optimization test functions
plot2DNumeric

Plot a two-dimensional numeric function
visualizeParetoOptimalFront

Pareto-optimal front visualization
mnof

Helper function to create a numeric multi-objective optimization test function
violatesConstraints

Checks whether constraints are violated
plot.smoof_function

Generate ggplot2 object
snof

Helper function to create numeric single-objective optimization test function
smoof_function

Smoof function
exportNKFunction

Export/import (rM)NK-landscapes
addLoggingWrapper

Return a function which internally stores x or y values
conversion

Conversion between minimization and maximization problems
autoplot.smoof_function

Generate ggplot2 object
getDescription

Returns the description of the function
addCountingWrapper

Return a function which counts its function evaluations
filterFunctionsByTags

Get a list of implemented test functions with specific tags
getID

Returns the ID / short name of the function
getGlobalOptimum

Returns the global optimum and its value
computeExpectedRunningTime

Compute the Expected Running Time (ERT) performance measure
getNumberOfParameters

Determines the number of parameters
getNumberOfObjectives

Determines the number of objectives
getNumberOfEvaluations

Returns the number of function evaluations performed by the wrapped smoof_function
getLoggedValues

Extracts the logged values of a function wrapped by a logging wrapper
getName

Returns the name of the function
getUpperBoxConstraints

Return upper box constraints
hasGlobalOptimum

Checks whether the global optimum is known
getLowerBoxConstraints

Returns lower box constraints for a Smoof function
hasBoxConstraints

Checks whether the objective function has box constraints
getAvailableTags

Returns a character vector of possible function tags
getRefPoint

Returns the reference point of a multi-objective function
doesCountEvaluations

Check whether the function is counting its function evaluations
getLocalOptimum

Returns the local optima of a single objective smoof function