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.
- class ScipyLinprog(algo_name)[source]#
Bases:
BaseOptimizationLibrary
SciPy linear programming library interface.
See BaseOptimizationLibrary.
Notes
The missing current values of the
DesignSpace
attached to theOptimizationProblem
are automatically initialized with the methodDesignSpace.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.