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.

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 as y.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 is FALSE.

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 is FALSE.

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 in y.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 is FALSE.

include.extra

(logical(1))
Should it be possible to include extra info into the path for each evaluation? Default is FALSE.

See also