nash_points

negmas.preferences.nash_points(ufuns, frontier, ranges=None, outcome_space=None, issues=None, outcomes=None, eps=1e-12)[source]

Calculates all the Nash Bargaining Solutions on the Pareto frontier of a negotiation.

Parameters:
  • ufuns (Sequence[UtilityFunction] | None) – A list of ufuns to use. If not given, the reserved value is assumed to be zero for all ufuns

  • frontier (Sequence[tuple[float, …]]) – a list of tuples each giving the utility values at some outcome on the frontier (usually found by pareto_frontier) to search within

  • ranges (Sequence[tuple[float, …]] | None) – The ranges of the utility functions involved.

  • outcome_space (OutcomeSpace | None) – The outcome-space to consider

  • issues (Sequence[Issue] | None) – The issues on which the ufun is defined (outcomes may be passed instead)

  • outcomes (Sequence[Outcome] | None) – The outcomes on which the ufun is defined (outcomes may be passed instead)

Returns:

  • A tuple of utility values at the Nash point

  • The index of the given frontier corresponding to the Nash point

Return type:

A list of tuples (empty if cannot be calculated) each consists of

Remarks:

  • The function searches within the given frontier only.