desdeo_emo.problem
Submodules
Package Contents
Classes
A problem class for the IOPIS formulation for interactive optimization. |
- class desdeo_emo.problem.IOPISProblem(objectives: List[desdeo_problem.ScalarObjective | desdeo_problem.VectorObjective], variables: List[desdeo_problem.Variable], nadir: numpy.ndarray, ideal: numpy.ndarray, PIS_type: str, initial_preference: List | Dict, constraints: List[desdeo_problem.ScalarConstraint] = None)[source]
Bases:
desdeo_problem.MOProblem
A problem class for the IOPIS formulation for interactive optimization.
This variant uses the classification kind of preference information for the creation of the Preference incorporated space (PIS).
- Parameters:
objectives (List[Union[ScalarObjective, VectorObjective]]) – A list containing the objectives of the problem.
variables (List[Variable]) – A list containing the variables of the problem.
nadir (np.ndarray) – Nadir point of the problem.
ideal (np.ndarray) – Ideal point of the problem.
PIS – An instantiated classificationPIS class from desdeo-tools.
constraints (List[ScalarConstraint], optional) – A list of the constraints of the problem. Defaults to None.
- evaluate_fitness(objective_vectors: numpy.ndarray) numpy.ndarray
Evaluate objective fitness.
- Parameters:
objective_vectors (np.ndarray) – objective vectors
- Returns:
Objective fitness
- Return type:
np.ndarray
- reevaluate_fitness(objective_vectors: numpy.ndarray) numpy.ndarray
Re-evaluate objective fitness.
Calls update_ideal with objective_vectors.
- Parameters:
objective_vectors (np.ndarray) – objective vectors
- Returns:
Objective fitness
- Return type:
np.ndarray
- update_preference(preference: Dict | List)
Update PIS preference
- Parameters:
preference (Dict) – PIS preferences
- update_ideal(objective_vectors: numpy.ndarray, fitness: numpy.ndarray)
Update ideal vector.
- Parameters:
objective_vectors (np.ndarray) – Objective vectors
fitness (np.ndarray) – Fitness values for objective vectors
- request_preferences(pop)
- manage_preferences(population: desdeo_emo.population.Population.Population, preference=None)