gemseo.algos.base_driver_settings module#

Settings for the driver library.

Settings BaseDriverSettings(*, enable_progress_bar=None, eq_tolerance=0.01, 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)[source]#

Bases: BaseAlgorithmSettings

The common parameters for all driver libraries.

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.

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

Return type:

None

enable_progress_bar: bool | None = None#

Whether to enable the progress bar in the optimization log.

If None, use the global value of enable_progress_bar (see the configure function to change it globally).

eq_tolerance: NonNegativeFloat = 0.01#

The tolerance on the equality constraints.

Constraints:
  • ge = 0

ineq_tolerance: NonNegativeFloat = 0.0001#

The tolerance on the inequality constraints.

Constraints:
  • ge = 0

log_problem: bool = True#

Whether to log the definition and result of the problem.

max_time: NonNegativeFloat = 0.0#

The maximum runtime in seconds, disabled if 0.

Constraints:
  • ge = 0

normalize_design_space: bool = True#

Whether to normalize the design space variables between 0 and 1.

reset_iteration_counters: bool = True#

Whether to reset the iteration counters before each execution.

round_ints: bool = True#

Whether to round the integer variables.

store_jacobian: bool = True#

Whether to store the Jacobian matrices in the database.

This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

use_database: bool = True#

Whether to wrap the functions in the database.

use_one_line_progress_bar: bool = False#

Whether to log the progress bar on a single line.