gemseo.algos.opt.scipy_global.settings.dual_annealing module#

Settings for the SciPy dual annealing algorithm.

Settings DUAL_ANNEALING_Settings(*, enable_progress_bar=None, eq_tolerance=1e-06, ineq_tolerance=0.0001, log_problem=True, max_time=0.0, normalize_design_space=True, reset_iteration_counters=True, round_ints=True, use_database=True, use_one_line_progress_bar=False, store_jacobian=True, ftol_rel=1e-09, ftol_abs=1e-09, max_iter=9223372036854775807, scaling_threshold=None, stop_crit_n_x=3, xtol_rel=1e-09, xtol_abs=1e-09, initial_temp=5230, restart_temp_ratio=2e-05, visit=2.62, accept=-5, seed=0, no_local_search=False)[source]#

Bases: BaseSciPyGlobalSettings

The SciPy dual annealing setting.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • enable_progress_bar (bool | None)

  • eq_tolerance (Annotated[float, Ge(ge=0), Ge(ge=0), Ge(ge=0)]) --

    By default it is set to 1e-06.

  • ineq_tolerance (Annotated[float, Ge(ge=0)]) --

    By default it is set to 0.0001.

  • log_problem (bool) --

    By default it is set to True.

  • max_time (Annotated[float, Ge(ge=0)]) --

    By default it is set to 0.0.

  • normalize_design_space (bool) --

    By default it is set to True.

  • reset_iteration_counters (bool) --

    By default it is set to True.

  • round_ints (bool) --

    By default it is set to True.

  • use_database (bool) --

    By default it is set to True.

  • use_one_line_progress_bar (bool) --

    By default it is set to False.

  • store_jacobian (bool) --

    By default it is set to True.

  • ftol_rel (Annotated[float, Ge(ge=0), Ge(ge=0), Ge(ge=0), Ge(ge=0), Ge(ge=0)]) --

    By default it is set to 1e-09.

  • ftol_abs (Annotated[float, Ge(ge=0), Ge(ge=0), Ge(ge=0), Ge(ge=0), Ge(ge=0)]) --

    By default it is set to 1e-09.

  • max_iter (Annotated[int, Gt(gt=0), Gt(gt=0)]) --

    By default it is set to 9223372036854775807.

  • scaling_threshold (Annotated[float, Ge(ge=0)] | None)

  • stop_crit_n_x (Annotated[int, Ge(ge=2)]) --

    By default it is set to 3.

  • xtol_rel (Annotated[float, Ge(ge=0), Ge(ge=0), Ge(ge=0), Ge(ge=0), Ge(ge=0)]) --

    By default it is set to 1e-09.

  • xtol_abs (Annotated[float, Ge(ge=0), Ge(ge=0), Ge(ge=0), Ge(ge=0), Ge(ge=0)]) --

    By default it is set to 1e-09.

  • initial_temp (Annotated[float, Gt(gt=0.01), Le(le=0.0005)]) --

    By default it is set to 5230.

  • restart_temp_ratio (Annotated[float, Lt(lt=1), Gt(gt=0)]) --

    By default it is set to 2e-05.

  • visit (Annotated[float, Gt(gt=1), Le(le=3)]) --

    By default it is set to 2.62.

  • accept (Annotated[float, Gt(gt=-0.0001), Le(le=-5)]) --

    By default it is set to -5.

  • seed (int) --

    By default it is set to 0.

  • no_local_search (bool) --

    By default it is set to False.

Return type:

None

accept: float = -5#

The acceptance distribution parameter.

The lower the acceptance parameter, the smaller the probability of acceptance.

Constraints:
  • gt = -0.0001

  • le = -5

initial_temp: float = 5230#

The initial temperature.

Use higher values to facilitates a wider search of the energy landscape.

Constraints:
  • gt = 0.01

  • le = 0.0005

Whether to perform local search.

restart_temp_ratio: PositiveFloat = 2e-05#

The temperature ratio under which the reannealing process is triggered.

Constraints:
  • lt = 1

  • gt = 0

seed: int = 0#

The random seed.

visit: float = 2.62#

The visiting distribution parameter.

Higher values give the visiting distribution a heavier tail, this makes the algorithm jump to a more distant region.

Constraints:
  • gt = 1

  • le = 3

model_post_init(context, /)#

We need to both initialize private attributes and call the user-defined model_post_init method.

Parameters:
  • self (BaseModel)

  • context (Any)

Return type:

None