Steepest Dynamic Local Search
Steepest Descent local search with a dynamic step-size schedule. Each
iteration perturbs every decision variable by ±``step_size`` and accepts
the best neighbour; when an iteration finds no improvement the step
shrinks toward ..._lowest_step by ..._step_change until the lowest
step has been reached.
Integer-typed and real-typed variables use independent step controls
(integer_* and decimal_*). allow_neutral_walks
permits accepting equal-objective neighbours, letting the search drift
across plateaus.
SteepestDynamicLocalSearch configuration for steepest-descent local search.
- class SteepestDynamicLocalSearch(log_info=False, evaluations=100000, max_evaluations_without_improvement=10000, max_time_without_improvement=300, min_improvement=1e-06, max_restart_count=0, prng_seed=None, time_limit=60, allow_neutral_walks=False, integer_step_size=10, decimal_step_size=0.1, integer_step_change=1, integer_lowest_step=1, decimal_step_change=0.001, decimal_lowest_step=0.001)[source]
Steepest Descent local search with a dynamic step-size schedule.
Each iteration perturbs every decision variable by ±``step_size`` and accepts the best neighbour.
integer_step_sizeapplies to integer-typed variables;decimal_step_sizeapplies to real-typed variables. When an iteration finds no improvement the step shrinks toward..._lowest_stepby..._step_change; once at the lowest step with no further improvement the search terminates (subject to the base stopping criteria inherited fromAlgorithm).allow_neutral_walkspermits accepting equal-objective neighbours, letting the search drift across plateaus.- integer_step_size: int | NumericExpression | Parameter | Calculation = 10
Initial perturbation magnitude for integer-typed variables.
- decimal_step_size: float | NumericExpression | Parameter | Calculation = 0.1
Initial perturbation magnitude for real-typed variables.
- integer_step_change: int | NumericExpression | Parameter | Calculation = 1
Amount by which the integer step is reduced after a non-improving iteration.
- integer_lowest_step: int | NumericExpression | Parameter | Calculation = 1
Floor below which the integer step will not shrink.
- decimal_step_change: float | NumericExpression | Parameter | Calculation = 0.001
Amount by which the decimal step is reduced after a non-improving iteration.
- decimal_lowest_step: float | NumericExpression | Parameter | Calculation = 0.001
Floor below which the decimal step will not shrink.