The table below depict the various checks done by the function stop!
and their connection with the meta
, current_state
and current_state
. The function entry correspond to the function used internally by stop!
, they can be imported and redifined to be adapted for a specific problem, for instance NLPStopping
for NLPModels
. The remote_control entry corresponds to the attribute in the remote_control
that could be set as true/false to activate/deactivate this check. The meta_status gives the attribute in the meta
with the check's answer. Finally the last column corresponds to entries in the meta
parametrizing this check.
Check description | Function | remote control | meta statuses | meta tolerances |
---|---|---|---|---|
Check unboundedness and the domain of x |
_unbounded_and_domain_x_check! |
unbounded_and_domain_x_check |
domainerror and unbounded_problem_x |
stp.meta.unbounded_x |
Check the domain in state (NaN's ...) | _domain_check |
domain_check |
domainerror |
|
Check optimality | _optimality_check! and _null_test |
optimality_check |
optimal |
See how to check optimality with Stopping |
Check for infeasibility | _infeasibility_check! |
infeasibility_check |
infeasible |
|
Check for unboundedness in problem values | _unbounded_problem_check! |
unbounded_problem_check |
unbounded_problem |
|
Check time-limit | _tired_check! |
tired_check |
tired |
start_time , max_time |
Check for limits in resources | _resources_check! |
resources_check |
resources |
|
Check if algo is stalling | _stalled_check! |
stalled_check |
stalled |
|
Count the number of stop! and limits | _iteration_check! |
iteration_check |
iteration_limit |
max_iter |
Check if the main_stp stops | _main_pb_check! |
main_pb_check |
main_pb |
|
Callback user check | _user_check! |
user_check |
stopbyuser |
user_check_func! |
Yes, it does when you call start!
as well as optimality0
if start!
check the optimality.
Stopping call the user_check_func!
defined in the meta
.
See the tutorial on this topic.