Function to create a CallbackAsync.
Optimization callbacks can be called from different stages of optimization process.
The stages are prefixed with on_*
.
Start Optimization
- on_optimization_begin
Start Worker
- on_worker_begin
Start Optimization on Worker
- on_optimizer_before_eval
- on_optimizer_after_eval
End Optimization on Worker
- on_worker_end
End Worker
- on_result_begin
- on_result_end
- on_optimization_end
End Optimization
See also the section on parameters for more information on the stages. A optimization callback works with ContextAsync.
callback_async(
id,
label = NA_character_,
man = NA_character_,
on_optimization_begin = NULL,
on_worker_begin = NULL,
on_optimizer_before_eval = NULL,
on_optimizer_after_eval = NULL,
on_worker_end = NULL,
on_result_begin = NULL,
on_result_end = NULL,
on_result = NULL,
on_optimization_end = NULL
)
(character(1)
)
Identifier for the new instance.
(character(1)
)
Label for the new instance.
(character(1)
)
String in the format [pkg]::[topic]
pointing to a manual page for this object.
The referenced help package can be opened via method $help()
.
(function()
)
Stage called at the beginning of the optimization in the main process.
Called in Optimizer$optimize()
.
The functions must have two arguments named callback
and context
.
(function()
)
Stage called at the beginning of the optimization on the worker.
Called in the worker loop.
The functions must have two arguments named callback
and context
.
(function()
)
Stage called after the optimizer proposes points.
Called in OptimInstance$.eval_point()
.
The functions must have two arguments named callback
and context
.
The argument of instance$.eval_point(xs)
and xs_trafoed
and extra
are available in the context
.
Or xs
and xs_trafoed
of instance$.eval_queue()
are available in the context
.
(function()
)
Stage called after points are evaluated.
Called in OptimInstance$.eval_point()
.
The functions must have two arguments named callback
and context
.
The outcome y
is available in the context
.
(function()
)
Stage called at the end of the optimization on the worker.
Called in the worker loop.
The functions must have two arguments named callback
and context
.
(function()
)
Stage called before result are written.
Called in OptimInstance$assign_result()
.
The functions must have two arguments named callback
and context
.
The arguments of $.assign_result(xdt, y, extra)
are available in the context
.
(function()
)
Stage called after result are written.
Called in OptimInstance$assign_result()
.
The functions must have two arguments named callback
and context
.
The final result instance$result
is available in the context
.
(function()
)
Deprecated.
Use on_result_end
instead.
Stage called after result are written.
Called in OptimInstance$assign_result()
.
The functions must have two arguments named callback
and context
.
(function()
)
Stage called at the end of the optimization in the main process.
Called in Optimizer$optimize()
.
The functions must have two arguments named callback
and context
.
A callback can write data to its state ($state
), e.g. settings that affect the callback itself.
The ContextAsync allows to modify the instance, archive, optimizer and final result.