gemseo.algos.opt.scipy_linprog.scipy_linprog module#

SciPy linear programming library wrapper.

class ScipyLinProgAlgorithmDescription(algorithm_name, internal_algorithm_name, library_name='SciPy Linear Programming', description='', website='', Settings=<class 'gemseo.algos.opt.scipy_linprog.settings.base_scipy_linprog_settings.BaseSciPyLinProgSettings'>, handle_integer_variables=False, handle_equality_constraints=True, handle_inequality_constraints=True, handle_multiobjective=False, positive_constraints=False, for_linear_problems=True, require_gradient=False)[source]#

Bases: OptimizationAlgorithmDescription

The description of the SciPy linear programming library.

Parameters:
  • algorithm_name (str)

  • internal_algorithm_name (str)

  • library_name (str) --

    By default it is set to "SciPy Linear Programming".

  • description (str) --

    By default it is set to "".

  • website (str) --

    By default it is set to "".

  • Settings (type[BaseSciPyLinProgSettings]) --

    By default it is set to <class 'gemseo.algos.opt.scipy_linprog.settings.base_scipy_linprog_settings.BaseSciPyLinProgSettings'>.

  • handle_integer_variables (bool) --

    By default it is set to False.

  • handle_equality_constraints (bool) --

    By default it is set to True.

  • handle_inequality_constraints (bool) --

    By default it is set to True.

  • handle_multiobjective (bool) --

    By default it is set to False.

  • positive_constraints (bool) --

    By default it is set to False.

  • for_linear_problems (bool) --

    By default it is set to True.

  • require_gradient (bool) --

    By default it is set to False.

Settings#

The option validation model for SciPy linear programming library.

alias of BaseSciPyLinProgSettings

for_linear_problems: bool = True#

Whether the optimization algorithm is dedicated to linear problems.

handle_equality_constraints: bool = True#

Whether the optimization algorithm handles equality constraints.

handle_inequality_constraints: bool = True#

Whether the optimization algorithm handles inequality constraints.

library_name: str = 'SciPy Linear Programming'#

The library name.

class ScipyLinprog(algo_name)[source]#

Bases: BaseOptimizationLibrary

SciPy linear programming library interface.

See BaseOptimizationLibrary.

Notes

The missing current values of the DesignSpace attached to the OptimizationProblem are automatically initialized with the method DesignSpace.initialize_missing_current_values().

Parameters:

algo_name (str) -- The algorithm name.

Raises:

KeyError -- When the algorithm is not in the library.

ALGORITHM_INFOS: ClassVar[dict[str, ScipyLinProgAlgorithmDescription]] = {'DUAL_SIMPLEX': ScipyLinProgAlgorithmDescription(algorithm_name='Dual simplex', internal_algorithm_name='highs-ds', library_name='SciPy Linear Programming', description='Linear programming using the HiGHS dual simplex solver.', website='https://docs.scipy.org/doc/scipy/reference/optimize.linprog-highs-ds.html', Settings=<class 'gemseo.algos.opt.scipy_linprog.settings.highs_dual_simplex.DUAL_SIMPLEX_Settings'>, handle_integer_variables=False, handle_equality_constraints=True, handle_inequality_constraints=True, handle_multiobjective=False, positive_constraints=False, for_linear_problems=True, require_gradient=False), 'INTERIOR_POINT': ScipyLinProgAlgorithmDescription(algorithm_name='Interior point method', internal_algorithm_name='highs-ipm', library_name='SciPy Linear Programming', description='Linear programming using the HiGHS interior point solver.', website='https://docs.scipy.org/doc/scipy/reference/optimize.linprog-highs-ipm.html', Settings=<class 'gemseo.algos.opt.scipy_linprog.settings.highs_interior_point.INTERIOR_POINT_Settings'>, handle_integer_variables=False, handle_equality_constraints=True, handle_inequality_constraints=True, handle_multiobjective=False, positive_constraints=False, for_linear_problems=True, require_gradient=False)}#

The description of the algorithms contained in the library.