ENautilus¶
-
class
desdeo_mcdm.interactive.
ENautilus
(pareto_front, ideal, nadir, objective_names=None, minimize=None)[source]¶ Bases:
desdeo_mcdm.interactive.InteractiveMethod.InteractiveMethod
Methods Summary
calculate_bounds
(pareto_front, …)Calculate the new bounds of the reachable points on the Pareto optimal front from each of the intermediate points.
calculate_distances
(intermediate_points, …)- rtype
ndarray
calculate_intermediate_points
(…)Calcualtes the intermediate points between representative points an a preferred point.
calculate_reachable_point_indices
(…)Calculate the indices of the reachable Pareto optimal solutions based on lower and upper bounds.
calculate_representative_points
(…)Calcualtes the most representative points on the Pareto front.
handle_initial_request
(request)Handles the initial request by parsing the response appropiately.
handle_request
(request)Handles the intermediate requests.
iterate
(request)Perform the next logical iteratino step based on the given request type.
start
()- rtype
ENautilusInitialRequest
Methods Documentation
-
calculate_bounds
(pareto_front, intermediate_points)[source]¶ Calculate the new bounds of the reachable points on the Pareto optimal front from each of the intermediate points.
- Parameters
pareto_front (np.ndarray) – The Pareto optimal front.
intermediate_points (np.ndarray) – The current intermedaite points as a 2D array.
- Returns
The lower and upper bounds for each of the intermediate points.
- Return type
Tuple[np.ndarray, np.ndarray]
-
calculate_intermediate_points
(preferred_point, zbars, n_iterations_left)[source]¶ Calcualtes the intermediate points between representative points an a preferred point.
- Parameters
preferred_point (np.ndarray) – The preferred point, 1D array.
zbars (np.ndarray) – The representative points, 2D array.
n_iterations_left (int) – The number of iterations left.
- Returns
The intermediate points as a 2D array.
- Return type
np.ndarray
-
calculate_reachable_point_indices
(pareto_front, lower_bounds, upper_bounds)[source]¶ Calculate the indices of the reachable Pareto optimal solutions based on lower and upper bounds.
- Returns
List of the indices of the reachable solutions.
- Return type
List[int]
-
calculate_representative_points
(pareto_front, subset_indices, n_points)[source]¶ Calcualtes the most representative points on the Pareto front. The points are clustered using k-means.
- Parameters
pareto_front (np.ndarray) – The Pareto front.
subset_indices (List[int]) – A list of indices representing the
of the points on the Pareto front for which the (subset) –
points should be calculated. (representative) –
n_points (int) – The number of representative points to be calculated.
- Returns
A 2D array of the most representative points. If the subset of Pareto efficient points is less than n_points, returns the subset of the Pareto front.
- Return type
np.ndarray
-
handle_initial_request
(request)[source]¶ Handles the initial request by parsing the response appropiately.
- Return type
ENautilusRequest
-
handle_request
(request)[source]¶ Handles the intermediate requests.
- Return type
Union
[ENautilusRequest
,ENautilusStopRequest
]