class documentation
The non-anytime problem class.
Serves to benchmark a "budgeted" algorithm whose behavior decisively depends on a budget input parameter.
Usage:
# given: suite and observer instances, budget_list, fmin for index in range(len(suite)): with ProblemNonAnytime(suite, observer, index) as problem: x0 = problem.initial_solution # or whatever fmin needs as input for budget in sorted(budget_list): x = fmin(problem, x0, budget) # minimize problem.delivered(x) # prepares for next budget also if problem.final_target_hit: break
Details: This class maintains two problems - one observed and the other unobserved. It switches from unobserved to observed when p_unobserved.evaluations >= p_observed.evaluations.
Method | __call__ |
Undocumented |
Method | __enter__ |
Undocumented |
Method | __exit__ |
Undocumented |
Method | __init__ |
Undocumented |
Method | delivered |
to be called with the solution returned by the solver. |
Method | free |
Undocumented |
Method | print |
Undocumented |
Method | reset |
prepare the problem to be run on the next budget |
Class Variable | inherited |
Undocumented |
Instance Variable | evaluations |
Undocumented |
Instance Variable | p |
Undocumented |
Instance Variable | p |
Undocumented |
Instance Variable | suite |
Undocumented |
Property | best |
Undocumented |
Property | final |
Undocumented |
Property | random |
Undocumented |
Instance Variable | _number |
Undocumented |
Instance Variable | _p |
Undocumented |
to be called with the solution returned by the solver.
The method records the delivered solution (if necessary) and
prepares the problem to be run on the next budget by calling
reset
.