saealib.execution.AsyncEvaluationScheduler#

class saealib.execution.AsyncEvaluationScheduler(evaluator, *, max_pending=1, max_reserved_fe=None, max_reserved_cost=None, timeout=None, retry_limit=0, feedback_builder=None, algorithm=None, callback_manager=None)[source]#

Bases: object

Coordinate asynchronous requests and serialized state mutation.

Parameters:
  • evaluator (Evaluator)

  • max_pending (int)

  • max_reserved_fe (int | None)

  • max_reserved_cost (float | None)

  • timeout (float | None)

  • retry_limit (int)

  • feedback_builder (FeedbackBuilder | None)

  • algorithm (Any)

  • callback_manager (Any)

Methods

__init__

cancel

Cancel a pending request and commit its terminal update.

checkpoint

Save pending state only when the evaluator can reattach it.

contract

Return the scheduler contract and its evaluator part.

enable_feedback_accumulator

Enable delivery through a compiler-inserted accumulator.

pending_candidate_ids

Return candidate IDs reserved by pending requests.

poll

Collect completed work and commit updates serially.

poll_result

Collect completed work and report whether this call made progress.

reattach

Rebuild runtime handles for checkpointed requests.

reserved_cost

Return reserved estimated cost.

reserved_fe

Return reserved candidate count.

submit

Submit disjoint requests within capacity and budget limits.

Method Details

AsyncEvaluationScheduler.__init__(evaluator, *, max_pending=1, max_reserved_fe=None, max_reserved_cost=None, timeout=None, retry_limit=0, feedback_builder=None, algorithm=None, callback_manager=None)[source]#
Parameters:
  • evaluator (Evaluator)

  • max_pending (int)

  • max_reserved_fe (int | None)

  • max_reserved_cost (float | None)

  • timeout (float | None)

  • retry_limit (int)

  • feedback_builder (FeedbackBuilder | None)

  • algorithm (Any)

  • callback_manager (Any)

Return type:

None

AsyncEvaluationScheduler.cancel(state, request_id)[source]#

Cancel a pending request and commit its terminal update.

Parameters:
  • state (OptimizationState)

  • request_id (int)

Return type:

OptimizationState

AsyncEvaluationScheduler.checkpoint(state, path)[source]#

Save pending state only when the evaluator can reattach it.

Parameters:
  • state (OptimizationState)

  • path (str)

Return type:

None

AsyncEvaluationScheduler.contract()[source]#

Return the scheduler contract and its evaluator part.

Return type:

ComponentContract

AsyncEvaluationScheduler.enable_feedback_accumulator()[source]#

Enable delivery through a compiler-inserted accumulator.

Return type:

None

AsyncEvaluationScheduler.pending_candidate_ids(state)[source]#

Return candidate IDs reserved by pending requests.

Parameters:

state (OptimizationState)

Return type:

np.ndarray

AsyncEvaluationScheduler.poll(state, *, wait=False)[source]#

Collect completed work and commit updates serially.

Parameters:
  • state (OptimizationState)

  • wait (bool)

Return type:

OptimizationState

AsyncEvaluationScheduler.poll_result(state, *, wait=False)[source]#

Collect completed work and report whether this call made progress.

Parameters:
  • state (OptimizationState)

  • wait (bool)

Return type:

PollResult

AsyncEvaluationScheduler.reattach(state)[source]#

Rebuild runtime handles for checkpointed requests.

Parameters:

state (OptimizationState)

Return type:

OptimizationState

AsyncEvaluationScheduler.reserved_cost(state)[source]#

Return reserved estimated cost.

Parameters:

state (OptimizationState)

Return type:

float

AsyncEvaluationScheduler.reserved_fe(state)[source]#

Return reserved candidate count.

Parameters:

state (OptimizationState)

Return type:

int

AsyncEvaluationScheduler.submit(state, requests)[source]#

Submit disjoint requests within capacity and budget limits.

Parameters:
Return type:

OptimizationState