gemseo.algos.opt.scipy_global.scipy_global module#

The library of SciPy global optimization algorithms.

class SciPyGlobalAlgorithmDescription(algorithm_name, internal_algorithm_name, library_name='SciPy Global Optimization', description='', website='', Settings=<class 'gemseo.algos.opt.scipy_global.settings.base_scipy_global_settings.BaseSciPyGlobalSettings'>, handle_integer_variables=True, handle_equality_constraints=False, handle_inequality_constraints=False, handle_multiobjective=False, positive_constraints=False, for_linear_problems=False, require_gradient=False)[source]#

Bases: OptimizationAlgorithmDescription

The description of a global optimization algorithm from the SciPy library.

Parameters:
  • algorithm_name (str)

  • internal_algorithm_name (str)

  • library_name (str) --

    By default it is set to "SciPy Global Optimization".

  • description (str) --

    By default it is set to "".

  • website (str) --

    By default it is set to "".

  • Settings (type[BaseSciPyGlobalSettings]) --

    By default it is set to <class 'gemseo.algos.opt.scipy_global.settings.base_scipy_global_settings.BaseSciPyGlobalSettings'>.

  • handle_integer_variables (bool) --

    By default it is set to True.

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

  • for_linear_problems (bool) --

    By default it is set to False.

  • require_gradient (bool) --

    By default it is set to False.

Settings#

The option validation model for SciPy global optimization library.

alias of BaseSciPyGlobalSettings

handle_integer_variables: bool = True#

Whether the optimization algorithm handles integer variables.

library_name: str = 'SciPy Global Optimization'#

The library name.

class ScipyGlobalOpt(algo_name)[source]#

Bases: BaseOptimizationLibrary

The library of SciPy global optimization algorithms.

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, SciPyGlobalAlgorithmDescription]] = {'DIFFERENTIAL_EVOLUTION': SciPyGlobalAlgorithmDescription(algorithm_name='Differential evolution', internal_algorithm_name='differential_evolution', library_name='SciPy Global Optimization', description='Differential Evolution algorithm', website='https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.differential_evolution.html', Settings=<class 'gemseo.algos.opt.scipy_global.settings.differential_evolution.DIFFERENTIAL_EVOLUTION_Settings'>, handle_integer_variables=True, handle_equality_constraints=True, handle_inequality_constraints=True, handle_multiobjective=False, positive_constraints=False, for_linear_problems=False, require_gradient=False), 'DUAL_ANNEALING': SciPyGlobalAlgorithmDescription(algorithm_name='Dual annealing', internal_algorithm_name='dual_annealing', library_name='SciPy Global Optimization', description='Dual annealing', website='https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.dual_annealing.html', Settings=<class 'gemseo.algos.opt.scipy_global.settings.dual_annealing.DUAL_ANNEALING_Settings'>, handle_integer_variables=True, handle_equality_constraints=False, handle_inequality_constraints=False, handle_multiobjective=False, positive_constraints=False, for_linear_problems=False, require_gradient=False), 'SHGO': SciPyGlobalAlgorithmDescription(algorithm_name='SHGO', internal_algorithm_name='shgo', library_name='SciPy Global Optimization', description='Simplicial homology global optimization', website='https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.shgo.html', Settings=<class 'gemseo.algos.opt.scipy_global.settings.shgo.SHGO_Settings'>, handle_integer_variables=True, handle_equality_constraints=True, handle_inequality_constraints=True, handle_multiobjective=False, positive_constraints=True, for_linear_problems=False, require_gradient=False)}#

The description of the algorithms contained in the library.