SingleAgreementAspirationAgent

class scml.oneshot.SingleAgreementAspirationAgent(*args, **kwargs)[source]

Bases: negmas.negotiators.AspirationMixin, scml.OneShotSyncAgent

Uses a time-based strategy to accept a single agreement from the set it is considering.

Methods Summary

before_step()

choose_agents(offers, outcome)

Selects an appropriate way to distribute this outcome to agents with given IDs.

counter_all(offers, states)

Calculate a response to all offers from all negotiators (negotiator ID is the key).

first_proposals()

Gets a set of proposals to use for initializing the negotiation.

Methods Documentation

before_step()[source]
choose_agents(offers, outcome)[source]

Selects an appropriate way to distribute this outcome to agents with given IDs.

counter_all(offers, states)[source]

Calculate a response to all offers from all negotiators (negotiator ID is the key).

Parameters
  • offers – Maps negotiator IDs to offers

  • states – Maps negotiator IDs to offers AT the time the offers were made.

Returns

A dictionary mapping negotiator ID to an SAOResponse. The response per agent consist of a tuple. In case of acceptance or ending the negotiation the second item of the tuple should be None. In case of rejection, the second item should be the counter offer.

Remarks:
  • The response type CANNOT be WAIT.

  • If the system determines that a loop is formed, the agent may

receive this call for a subset of negotiations not all of them.

first_proposals()[source]

Gets a set of proposals to use for initializing the negotiation.

Return type

Dict[str, Union[OutcomeType, Tuple[Union[int, float, str, list]], Dict[Union[int, str], Union[int, float, str, list]]]]

Returns

A dictionary mapping each negotiator (in self.negotiators dict) to an outcome to be used as the first proposal if the agent is to start a negotiation.