pareto_frontier

negmas.preferences.pareto_frontier(ufuns, outcomes=None, issues=None, n_discretization=10, sort_by_welfare=False)[source]

Finds all pareto-optimal outcomes in the list

Parameters
  • ufuns (Iterable[UtilityFunction]) – The utility functions

  • outcomes (Optional[Iterable[tuple]]) – the outcomes to be checked. If None then all possible outcomes from the issues will be checked

  • issues (Optional[Iterable[Issue]]) – The set of issues (only used when outcomes is None)

  • n_discretization (Optional[int]) – The number of items to discretize each real-dimension into

  • sort_by_welfare – If True, the resutls are sorted descendingly by total welfare

Return type

tuple[list[tuple[float, ...]], list[int]]

Returns

Two lists of the same length. First list gives the utilities at pareto frontier points and second list gives their indices