gemseo.algos.opt.scipy_linprog.settings.base_scipy_linprog_settings module#

Settings for the SciPy linear programming algorithms.

Settings BaseSciPyLinProgSettings(*, 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=0.0, ftol_abs=0.0, max_iter=1000, scaling_threshold=None, stop_crit_n_x=3, xtol_rel=0.0, xtol_abs=0.0, autoscale=False, disp=False, maxiter=1000, presolve=True, rr=True, rr_method=None, tol=1e-08)[source]#

Bases: BaseOptimizerSettings

The SciPy linear programming library 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)]) --

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

    By default it is set to 0.0.

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

    By default it is set to 0.0.

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

    By default it is set to 0.0.

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

    By default it is set to 0.0.

  • autoscale (bool) --

    By default it is set to False.

  • disp (bool) --

    By default it is set to False.

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

    By default it is set to 1000.

  • presolve (bool) --

    By default it is set to True.

  • rr (bool) --

    By default it is set to True.

  • rr_method (Literal['SVD', 'pivot', 'ID'] | None)

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

    By default it is set to 1e-08.

Return type:

None

autoscale: bool = False#

Whether to perform auto-scaling of the constraints.

disp: bool = False#

Whether to print convergence messages.

maxiter: PositiveInt = 1000#

The maximum number of iterations to perform.

Constraints:
  • gt = 0

presolve: bool = True#

Whether to perform a preliminary analysis on the problem before solving.

It attempts to detect infeasibility, unboundedness or problem simplifications.

rr: bool = True#

Whether to remove linearly dependent equality-constraints.

rr_method: Literal['SVD', 'pivot', 'ID'] | None = None#

The method to remove redundancy, either 'SVD', 'pivot' or 'ID'.

If None, use “SVD” if the matrix is nearly full rank. If not, uses “pivot”. The behavior of this default is subject to change without prior notice.

tol: NonNegativeFloat = 1e-08#

A tolerance which determines when a residual is “close enough” to zero to be considered exactly zero.

Constraints:
  • ge = 0