OptPath
Create optimization path.
Optimizers can iteratively log their evaluated points
into this object. Can be converted into a data.frame with
as.data.frame(x, discretes.as.factor = TRUE / FALSE)
.
A optimization path has a number of path elements, where each element consists of: the value of the
decision variables at this point, the values of the performance measures at this point,
the date-of-birth (dob) of this point, the end-of-life (eol) of this point and possibly
an error message. See also addOptPathEl
.
For discrete parameters always the name of the value is stored as a character.
When you retrieve an element with getOptPathEl
, this name is converted to
the actual discrete value.
If parameters have associated transformation you are free to decide whether you want to
add x values before or after transformation, see argument add.transformed.x
and
trafoOptPath
.
The S3 class is a list which stores at least these elements:
- par.set [
ParamSet
] See argument of same name.
- y.names [
character
] See argument of same name.
- minimize [
logical
] See argument of same name.
- add.transformed.x [
logical(1)
] See argument of same name.
- env [
environment
] Environment which stores the optimization path. Contents depend on implementation.
Usage
makeOptPathDF(par.set, y.names, minimize, add.transformed.x = FALSE,
include.error.message = FALSE, include.exec.time = FALSE,
include.extra = FALSE)
Arguments
- par.set
[
ParamSet
] Parameter set.- y.names
[
character
] Names of performance measures that are optimized or logged.- minimize
[
logical
] Which of the performance measures in y.names should be minimized? Vector of booleans in the same order asy.names
.- add.transformed.x
[
logical(1)
] If some parameters have associated transformations, are you going to add x values after they have been transformed? Default isFALSE
.- include.error.message
[
logical(1)
] Should it be possible to include an error message string (or NA if no error occurred) into the path for each evaluation? This is useful if you have complex, long running objective evaluations that might fail. Default isFALSE
.- include.exec.time
[
logical(1)
] Should it be possible to include execution time of evaluations into the path for each evaluation? Note that execution time could also be entered iny.names
as a direct performance measure. If you use this option here, time is regarded as an extra measurement you might be curious about. Default isFALSE
.- include.extra
[
logical(1)
] Should it be possible to include extra info into the path for each evaluation? Default isFALSE
.
See Also
Other optpath: addOptPathEl
,
getOptPathBestIndex
,
getOptPathCols
,
getOptPathCol
, getOptPathDOB
,
getOptPathEOL
, getOptPathEl
,
getOptPathErrorMessages
,
getOptPathExecTimes
,
getOptPathLength
,
getOptPathParetoFront
,
getOptPathX
, getOptPathY
,
setOptPathElDOB
,
setOptPathElEOL