Added MMF1 to MMF13 problems from CEC2019 test suite
Added SYM-Part simple, SYM-Part rotated and Omni-Test problems from CEC2019 test suite
Added MMF14, MMF14a, MMF15 and MMF15a problems from CEC2019 test suite
Added parameter size to addLoggingWrapper for improved performance
getLoggedValues now correctly names function parameters.
BBOB test function now return an ID.
Changed: moved from rPython and RJSONIO to reticulate
Added vectorization to the MPM2 generator
Bugfixes
Fixed a bub in Machalewicz function (dimension was ignored when building parameter set)
Fix name of Powell Sum generator function.
Miscellaneous
Various packages moved from Imports to Suggests for less dependencies.
smoof 1.6.02020-01-16
New features
Added bi-objective BBOB problem generator: makeBiObjBBOBFunction
Added: Kursawe function
Added: ED1 and ED2 functions
Added: WFG1 to WFG9 problems from the WFG-Problem Generator Toolkit
Changed: renamed argument dimension to dimensions (this should not cause any problems with existing code)
Changed: replaced geom_tile with geom_raster
smoof 1.5.12017-08-14
New features
Added: Shekel function
Added: inverted Vincent function
Added: modified Rastrigin function
Added: Hartmann{3,4,6} functions
Bugfixes
Better handling of additional arguments in makeFunctionsByName
convertTo{Minimization,Maximization} now flips sign of optima
Miscellaneous
logging and couting wrapper now have class smoof_function
smoof 1.52017-04-26
New features
Added shortcuts {s,m}nof for generating single-/multi-objective objective functionswith numeric parameters only
Added: missing single-objective tag for BBOB functions
Added: log.scale argument for autoplot
Added: CITATION file
Bugfixes
Fixed: precision issue caused by rPython respectively RJSONIO::toJSON, which by default strips numeric values to only 4 digits.
Fixed: ggplot2 warnings
Fixed: wrong lower bound in MOP3 test function
Fixed: issue in definition of Cosine Mixture Function due to faulty online sources
Fixed: issue with min<->max conversion if functions has.simple.signature = FALSE and explicit return statement was used.
Fixed: mean function was not set properly for noisy functions
Improved docs slighly
smoof 1.42016-08-03
New features
Added makeGOMOPFunction to create multi-objective test function based on a set of single objective functions.
Added new single-objective functions: Branin (modified version by Forrester et al. (2008))
Added new multi-objective functions: Van Valedhuizen’s test suite (MOP1-7), Binh-Korn function, BiSphere (bi-objective Sphere), Dent function, Viennet function.
Added first mixed parameter space funtion: Zhou2011
visualizeParetoOptimalFront now draws lines instead of points
Added possibility to draw interactive 3D surface plots via smoof::plot3D(fn, package = “plotly”)
Bugfixes
Fixed: issue in formula and global optimum of BukinN2 function
overworked and refactored autoplot functions
dropped use.facets parameter (always use facets now if discrete parameters exist)
We now support mixed functions with up to two numeric params (or one numeric vector param of length 2) and up to 2 discrete/logical (or a corresponding vector param)
visualizeParetoOptimalFront now draws lines instead of points
Removed S3 method definition of getParamSet. This function is now contained in ParamHelpers 1.8
smoof 1.32016-03-01
New features
Added optional reference point ref.point for multi-objective functions
Reference point for ZDT functions is (11, 11)
Reference point for DTLZ function family is r = (11, …, 11) with #r = #objectives
Added getter getRefPoint
Added possibility to pass the true mean function of a noisy function, i.e., the “unnoisy” via the smoof parameter fn.mean
Added getter getMeanFunction
makeMPM2Function now has additional parameters rotated and peak.shape
Modified: function name is optional now
smoof 1.22016-01-22
New features
Added: functions convertToMaximization and convertToMinimization
Added: main parameter for plot and autoplot. By default the function name is used for the plot title.
objective functions now can be passed an additional id attribute. All predefined smoof functions have an id now.
visualizeParetoOptimalFront now works for bi-objective functions with arbitrary search space dimensions and works by calling the mco::nsga2 algorithm. Due to this, the parameters show.only.front, limits.by.front are dropped.
Renamed makeFunctionByName to makeFunctionsByName
Added tags ‘single-objective’ and ‘multi-objective’
filterFunctionByTags now stops if both ‘single-objective’ and ‘multi-objective’ tags are passed
All functions now check the passed paramter to be of the right dimension and type
makeFunctionsByName now expects a character vector generator names (the list methods was removed)
Generator names now do not contain the ‘Function’ suffix
Bugfixes
Fixed: autoplot and plot do not work for wrapped functions.
Fixed: hasConstraints for wrapped smoof functions
Fixed: getUpperBoxConstraints
smoof 1.12015-11-24
New features
Parameter set of predefined smoof function now contains a single vector parameter instead of multiple single numeric parameters. This is consistent with function calls now, since these always expect a single vector or list.
Added helper function get{Lower,Upper}BoxConstraints
smoof functions now expect an optional ‘minimize’ argument which indicates which objectives should be minimized or maximized respectively
Added shouldBeMinimized function
Added function makeFunctionByName, which expects a function name or a list of functions names. The corresponding generator(s) is/are called. Useful if you want, e.g., filter functions by tags and generate them directly afterwards.
Added hasTags helper function.
filterFunctionByTags now has an additional logical argument ‘or’. If this is set to TRUE, a subset of the passed tags is sufficient to select a function.