Model building, surrogate model based optimization and Efficient Global Optimization in combinatorial or mixed search spaces.
CEGO Patch Notes
Version 2.3.0 @ 2019-03-05 - Fixed a bug that occured when checking for duplicates (to avoid them) in optimCEGO - A bug in optimMIES was fixed. The wrong sigma variable was used in the self-adpation for real-valued parameters. - optimMIES was changed to include categoricals only if they are coded as integers (but not necessarily as a sequence) See also the changed example in optimMIES' help. - Fixed a potential alloc/PROTECT problem in distancePermutationInterchange and distancePermutationInsert (found by rchk) - This update now includes all methods for dealing with indefinite kernels in Kriging, as reported in Chapter 8 of "Surrogate Models for Discrete Optimization Problems" by Martin Zaefferer (2018). See ?modelKriging for some more details.
Version 2.2.0 @ 2017-07-12 - New functionality: - CEGO now contains an implementation of a Mixed Integer Evolution Strategy (MIES), see optimMIES. - Distances for numerical (binary) data as well as for string data are now included in the package. See distanceNumeric* and distanceString* - Several new mutation* and recombination* functions (for binary, string and permutation data) have been added. - The EA (optimEA) can now handle parts of its configuration in a self-adaptive way. See documentation. - Objects created by modelKriging can now be used for simulation (rather than just estimation/prediction), by calling simulate.modelKriging. Connected to this last, there are now two functions that can be used to create simulation-based test functions: createSimulatedTestFunction and testFunctionGeneratorSim
- Other major changes: - Changed some details (e.g., registering, interfacing) of C code calls, to satisfy recently introduced CRAN check procedures. Incidentally, this may speed up calls to the various distance* functions that employ C code. - Other minor changes: - Fixed a bug in the optimInterface function: the restarts variable is now actually used (and by default TRUE) - Feature embedding is now included in the correctionDistanceMatrix function - The object returned by modelKriging now has a more informative print function - Various improvements of documentation (content and formatting)
Version 2.1.0 @ 2016-08-17 - New functionality: - By setting the control parameters indefiniteType, indefiniteMethod and indefiniteRepair, the modelKriging function has now several options of dealing with indefinite kernels / correlation functions.
The new functions correctionCNSD, correctionDefinite, correctionKernelMatrix and correctionDistanceMatrix take matrices that lack required properties (definiteness) and correct the matrices to enforce the required properties.
The new functions repairConditionsDistanceMatrix and repairConditionsCorrelationMatrix repair the diagonal as well as the value range of the respective definite matrices, so that they are valid distance or correlation matrices.
The new function nearCNSD computes the nearest Conditionally Negative Semi-Definite matrix, similar to the nearPD function from the Matrix package (which computes the nearest Positive Semi-Definite matrix).
Other major changes:
Instead of choosing, multiple distances can now be combined in modelKriging, using a weighting scheme. This can be done by providing several distances function (or distance matrices) and setting control$combineDistances to TRUE.
A new design function and a new optimizer: designMaxMinDist creates a design of experiment, by sequentially adding samples with maximum minimum distances to the existing samples optimMaxMinDist uses the above method as an one-shot optimizer.
Other minor changes:
Version 2.0.0 @ 2015-10-06
- General remark: This update includes some changes that are not backwards compatible.
E.g., Several of the main function interfaces changed,
to make functions more usable/flexible/understandable. See details below.
- Deprecated distancePermutationLCSeq. Replaced by distancePermutationInsert to stress edit-distance character of the function, for better readability and to avoid confusion of LCSeq and LCStr. The deprecated distancePermutationLCSeq will be removed in the next patch. - Variable names in optimInterface changed - Unified the interfaces of all optim* functions in the package. Now all take x, fun and control as input. creationFunction is part of control now. - Unfied interface for distance based landscape generators, landscapes now expect list of solutions as input. (i.e., even a single solution has to be wrapped into a list) - Renamed all modeling functions and the corresponding objects, e.g., combinatorialKriging is now modelKriging (old functions are deprecated and will be removed in next update).
Version 1.0.1108 @ 2015-01-06 - Initial Release