sequince.steps.mutation.adaptive.policies.rjd#

Choose the next mutation budget from completed relative jump distances.

Classes#

RelativeJumpDistancePolicy

Increase or decrease a fixed budget using the fraction of RJD > 1.

Module Contents#

class sequince.steps.mutation.adaptive.policies.rjd.RelativeJumpDistancePolicy[source]#

Increase or decrease a fixed budget using the fraction of RJD > 1.

Parameters:
  • target_fraction (float) – Lower threshold for the fraction exceeding the radius, default 0.5.

  • factor (float) – Multiplicative budget adjustment, greater than one, default 1.1. Below the lower threshold, multiply and round up; above the upper threshold, divide and round down. AdaptMutationSteps supplies bounds.

  • metric_name (str) – Key containing RelativeJumpDistanceMetric results, default “rjd”.

  • upper_target_fraction (float or None) – Decrease only above this fraction. None uses target_fraction. The inclusive interval between thresholds retains the budget.

Notes

This population-level controller follows the increase/decrease idea in Buchner (2024), https://arxiv.org/abs/2402.11936. The factor and aggregation are implementation choices, not a convergence guarantee from that paper. Decisions affect the next SMC iteration, never stop the current block. No measured transitions retains the budget (at least one).

target_fraction: float = 0.5#
factor: float = 1.1#
metric_name: str = 'rjd'#
upper_target_fraction: float | None = None#
initialise(*, initial_steps, context)[source]#

Retain the supplied initial budget.

Parameters:
Return type:

int

update(*, current_steps, metrics, context)[source]#

Propose an integer budget from completed population diagnostics.

Parameters:
Return type:

int