chankong_haimes module¶
Chankong and Haimes multi-objective problem.
This module implements the Chankong and Haimes multi-objective problem:
Chankong, V., & Haimes, Y. Y. (2008). Multiobjective decision making: theory and methodology. Courier Dover Publications.
- class gemseo_pymoo.problems.analytical.chankong_haimes.ChankongHaimes(l_b=-20.0, u_b=20.0, initial_guess=None)[source]
Bases:
OptimizationProblem
Chankong and Haimes optimization problem.
The constructor.
Initialize the ChankongHaimes
OptimizationProblem
by defining theDesignSpace
and the objective and constraints functions.- Parameters:
- static compute_constraint_1(design_variables)[source]
Compute the first constraint function.
- static compute_constraint_1_jacobian(design_variables)[source]
Compute the first inequality constraint jacobian.
- static compute_constraint_2(design_variables)[source]
Compute the second constraint function.
- static compute_constraint_2_jacobian(design_variables)[source]
Compute the second inequality constraint jacobian.
- static compute_objective(design_variables)[source]
Compute the objectives of the Chankong and Haimes 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.