viennet module¶
Viennet multi-objective problem.
This module implements the Viennet multi-objective unconstrained problem:
- class gemseo_pymoo.problems.analytical.viennet.Viennet(l_b=-3.0, u_b=3.0, initial_guess=None)[source]
Bases:
OptimizationProblem
Viennet optimization problem.
The constructor.
Initialize the Viennet
OptimizationProblem
by defining theDesignSpace
and the objective function.- Parameters:
l_b (float) –
The lower bound (common value to all variables).
By default it is set to -3.0.
u_b (float) –
The upper bound (common value to all variables).
By default it is set to 3.0.
initial_guess (ndarray | None) – The initial guess for the optimal solution. If None, the initial guess will be (0., 0.).
- static compute_objective(design_variables)[source]
Compute the objectives of the Viennet function.
- static compute_objective_jacobian(design_variables)[source]
Compute the gradient of objective function.
- constraints: list[MDOFunction]
The constraints.
- current_iter: int
The current iteration.
- database: Database
The database to store the optimization problem data.
- design_space: DesignSpace
The design space on which the optimization problem is solved.
- eq_tolerance: float
The tolerance for the equality constraints.
- fd_step: float
The finite differences step.
- ineq_tolerance: float
The tolerance for the inequality constraints.
- max_iter: int
The maximum iteration.
- new_iter_observables: list[MDOFunction]
The observables to be called at each new iterate.
- nonproc_constraints: list[MDOFunction]
The non-processed constraints.
- nonproc_new_iter_observables: list[MDOFunction]
The non-processed observables to be called at each new iterate.
- nonproc_objective: MDOFunction
The non-processed objective function.
- nonproc_observables: list[MDOFunction]
The non-processed observables.
- observables: list[MDOFunction]
The observables.
- pb_type: ProblemType
The type of optimization problem.
- preprocess_options: dict
The options to pre-process the functions.
- solution: OptimizationResult | None
The solution of the optimization problem if solved; otherwise
None
.
- stop_if_nan: bool
Whether the optimization stops when a function returns
NaN
.
- use_standardized_objective: bool
Whether to use standardized objective for logging and post-processing.
The standardized objective corresponds to the original one expressed as a cost function to minimize. A
DriverLibrary
works with this standardized objective and theDatabase
stores its values. However, for convenience, it may be more relevant to log the expression and the values of the original objective.