Class MonotonicConcessionProtocol

java.lang.Object
com.tnsai.coordination.negotiation.monotonic.MonotonicConcessionProtocol
All Implemented Interfaces:
NegotiationProtocol

public final class MonotonicConcessionProtocol extends Object implements NegotiationProtocol
Monotonic concession protocol - all parties concede toward agreement.

Each party makes monotonically decreasing offers each round. Agreement is reached when any two parties' offers cross (overlap). If no crossing occurs within the max rounds, the negotiation fails.

This protocol supports more than 2 parties. Each party maintains its own concession trajectory from its initial position toward its reservation value.

Since:
0.0.2
  • Constructor Details

    • MonotonicConcessionProtocol

      public MonotonicConcessionProtocol()
  • Method Details

    • negotiate

      public NegotiationOutcome negotiate(List<com.tnsai.agents.Agent> parties, NegotiationConfig config)
      Description copied from interface: NegotiationProtocol
      Executes the negotiation between the given parties.
      Specified by:
      negotiate in interface NegotiationProtocol
      Parameters:
      parties - the agents participating in negotiation
      config - negotiation configuration
      Returns:
      the negotiation outcome
    • getType

      public com.tnsai.annotations.Coordination.NegotiationType getType()
      Description copied from interface: NegotiationProtocol
      Returns the negotiation type this protocol handles.
      Specified by:
      getType in interface NegotiationProtocol
      Returns:
      the supported negotiation type