Description Usage Arguments Value See Also
View source: R/load_log_file.R
Load a log file and return the results as a data frame. The data frame will have (at most) three columns:
t
contains the time in milliseconds consumed since the start of the optimization process and is monotonously increasing
fes
contains the number of objective function evaluations since the start of the optimization process and is strictly monotonously increasing
f
contains the objective value and is strictly monotonously decreasing, with the except of the last point which might have the same objective value as the second-to-last point.
The data frame will be enriched with four attributes:
the normalized absolute file path to the log file
the id of the algorithm used to generate the log file
the problem instance to which the algorithm was applied
the hexadecimal string representation of the random seed
Time and FEs have a resolution of 1 and a maximum value of 2^53 - 1
,
as this is the highest integer value that can represented precisely with a
double. If a higher value is encountered in any of the two columns,
stop will be invoked, i.e., higher values are not permitted.
In order to test for this, we use the 64 bit integers from the bit64
package, since R
does not support 64 bit integers natively.
1 2 3 4 5 6 | aitoa.load.log.file(
file,
keep.columns = c("fes", "t", "f"),
make.time.unique = FALSE,
f.must.be.improving = TRUE
)
|
file |
the log file to load |
keep.columns |
the columns to keep, any vector containing elements
|
make.time.unique |
should we make the time indices unique (except maybe
for the first and last point)? This makes sense when we want to plot
diagrams over a time axis, as we then have removed redundant points right
away. If |
f.must.be.improving |
|
a data frame with the columns t
(time in ms), fes
(function evaluations), and f
(objective value), all of which are
numeric or integer valued, with integer type being preferred if it can be
used without loss of precision
aitoa.parse.file.name
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.