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 theOptimizationProblem
are automatically initialized with the methodDesignSpace.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
- LIB_COMPUTE_GRAD = False
- OPTIONS_MAP: dict[str, str] = {'max_iter': 'max_iter'}
The names of the options in GEMSEO mapping to those in the wrapped library.
- 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: Any | None
The problem to be solved.