gemseo / algos / opt

Show inherited members

lib_scipy module

scipy.optimize optimization library wrapper.

class gemseo.algos.opt.lib_scipy.SciPyAlgorithmDescription(algorithm_name, internal_algorithm_name, library_name='SciPy', description='', website='', handle_integer_variables=False, require_gradient=False, handle_equality_constraints=False, handle_inequality_constraints=False, handle_multiobjective=False, positive_constraints=False, problem_type=ProblemType.NON_LINEAR)[source]

Bases: OptimizationAlgorithmDescription

The description of an optimization algorithm from the SciPy library.

Parameters:
  • algorithm_name (str) –

  • internal_algorithm_name (str) –

  • library_name (str) –

    By default it is set to “SciPy”.

  • description (str) –

    By default it is set to “”.

  • website (str) –

    By default it is set to “”.

  • handle_integer_variables (bool) –

    By default it is set to False.

  • require_gradient (bool) –

    By default it is set to False.

  • handle_equality_constraints (bool) –

    By default it is set to False.

  • handle_inequality_constraints (bool) –

    By default it is set to False.

  • handle_multiobjective (bool) –

    By default it is set to False.

  • positive_constraints (bool) –

    By default it is set to False.

  • problem_type (OptimizationProblem.ProblemType) –

    By default it is set to “non-linear”.

algorithm_name: str

The name of the algorithm in GEMSEO.

internal_algorithm_name: str

The name of the algorithm in the wrapped library.

library_name: str = 'SciPy'

The name of the wrapped library.

class gemseo.algos.opt.lib_scipy.ScipyOpt[source]

Bases: OptimizationLibrary

Scipy optimization library interface.

See OptimizationLibrary.

Notes

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

Constructor.

Generate the library dict, contains the list of algorithms with their characteristics:

  • does it require gradient

  • does it handle equality constraints

  • does it handle inequality constraints

LIBRARY_NAME: ClassVar[str | None] = 'SciPy'

The name of the interfaced library.

LIB_COMPUTE_GRAD = True
OPTIONS_MAP: ClassVar[dict[str, str]] = {'max_fun_eval': 'maxfun', 'max_ls_step_nb': 'maxls', 'max_ls_step_size': 'stepmx', 'pg_tol': 'gtol'}

The names of the options in GEMSEO mapping to those in the wrapped library.

algo_name: str | None

The name of the algorithm used currently.

descriptions: dict[str, AlgorithmDescription]

The description of the algorithms contained in the library.

internal_algo_name: str | None

The internal name of the algorithm used currently.

It typically corresponds to the name of the algorithm in the wrapped library if any.

opt_grammar: JSONGrammar | None

The grammar defining the options of the current algorithm.

problem: OptimizationProblem

The optimization problem the driver library is bonded to.