gemseo_pdfo

Show inherited members

lib_pdfo module

PDFO optimization library wrapper, see PDFO website.

class gemseo_pdfo.lib_pdfo.PDFOAlgorithmDescription(algorithm_name, internal_algorithm_name, library_name='PDFO', description='', website='https://www.pdfo.net/', 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 PDFO library.

Parameters:
  • algorithm_name (str) –

  • internal_algorithm_name (str) –

  • library_name (str) –

    By default it is set to “PDFO”.

  • description (str) –

    By default it is set to “”.

  • website (str) –

    By default it is set to “https://www.pdfo.net/”.

  • 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 = 'PDFO'

The name of the wrapped library.

website: str = 'https://www.pdfo.net/'

The website of the wrapped library or algorithm.

class gemseo_pdfo.lib_pdfo.PDFOOpt[source]

Bases: OptimizationLibrary

PDFO 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] = 'PDFO'

The name of the interfaced library.

LIB_COMPUTE_GRAD = False
OPTIONS_MAP: ClassVar[dict[str, str]] = {'max_iter': 'max_iter'}

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.