gemseo.algos.opt.augmented_lagrangian.settings.base_augmented_lagrangian_settings module#

Settings for the augmented lagrangian algorithm.

Settings BaseAugmentedLagragianSettings(*, enable_progress_bar=None, eq_tolerance=0.01, ineq_tolerance=0.0001, log_problem=True, max_time=0.0, normalize_design_space=True, progress_bar_data_name='ProgressBarData', reset_iteration_counters=True, round_ints=True, store_jacobian=True, use_database=True, use_one_line_progress_bar=False, ftol_rel=1e-09, ftol_abs=1e-09, max_iter=1000, scaling_threshold=None, stop_crit_n_x=3, xtol_rel=1e-09, xtol_abs=1e-09, initial_rho=10.0, sub_algorithm_name, sub_algorithm_settings=<factory>, sub_problem_constraints=(), update_options_callback=None)[source]#

Bases: BaseOptimizerSettings

The base augmented lagrangian settings.

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)]) --

    By default it is set to 0.01.

  • 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.

  • progress_bar_data_name (ProgressBarDataName) --

    By default it is set to "ProgressBarData".

  • reset_iteration_counters (bool) --

    By default it is set to True.

  • round_ints (bool) --

    By default it is set to True.

  • store_jacobian (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.

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

    By default it is set to 1e-09.

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

    By default it is set to 1e-09.

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

    By default it is set to 1000.

  • 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)]) --

    By default it is set to 1e-09.

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

    By default it is set to 1e-09.

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

    By default it is set to 10.0.

  • sub_algorithm_name (str)

  • sub_algorithm_settings (Mapping[str, Any]) --

    By default it is set to <factory>.

  • sub_problem_constraints (Iterable[str]) --

    By default it is set to ().

  • update_options_callback (Annotated[Callable[[Any], Any], WithJsonSchema(json_schema={}, mode=None)] | None)

Return type:

None

ftol_abs: NonNegativeFloat = 1e-09#

The absolute tolerance on the objective function.

Constraints:
  • ge = 0

ftol_rel: NonNegativeFloat = 1e-09#

The relative tolerance on the objective function.

Constraints:
  • ge = 0

initial_rho: NonNegativeFloat = 10.0#

The initial penalty value.

Constraints:
  • ge = 0

sub_algorithm_name: str [Required]#

The name of the optimizer used to solve each sub-problem.

sub_algorithm_settings: StrKeyMapping [Optional]#

The settings of the optimizer used to solve each sub-problem.

sub_problem_constraints: Iterable[str] = ()#

The constraints to keep in the sub-problem.

If empty, all constraints are handled by the Augmented Lagrangian method which implies that the sub-problem is unconstrained.

update_options_callback: Annotated[Callable[[Any], Any], WithJsonSchema({})] | None = None#

A callable for updating parameters or a function call.

xtol_abs: NonNegativeFloat = 1e-09#

The absolute tolerance on the design parameters.

Constraints:
  • ge = 0

xtol_rel: NonNegativeFloat = 1e-09#

The relative tolerance on the design parameters.

Constraints:
  • ge = 0