SCML2020-OneShot

This module describes the Supply Chain Management League Platform as run in 2021 in the one-shot track

scml.oneshot Package

Functions

builtin_agent_types([as_str])

Returns all built-in agents.

Classes

OneShotState(exogenous_input_quantity, ...)

State of a one-shot agent

OneShotExogenousContract(quantity, ...)

Exogenous contract information

OneShotProfile(cost, input_product, n_lines, ...)

Defines all private information of a factory

SCML2020OneShotWorld(catalog_prices, ...[, ...])

Implements the SCML-OneShot variant of the SCM world.

OneShotUFun(ex_pin, ex_qin, ex_pout, ...[, ...])

Calculates the utility function of a list of contracts or offers.

UFunLimit(utility, input_quantity, ...)

Information about one utility limit (either highest or lowest).

OneShotAgent([owner, ufun, name])

Base class for all agents in the One-Shot game.

OneShotSyncAgent(*args, **kwargs)

An agent that automatically accumulate offers from opponents and allows you to control all negotiations centrally in the counter_all method.

OneShotSingleAgreementAgent(*args[, strict])

A synchronized agent that tries to get no more than one agreement.

OneShotIndNegotiatorsAgent(*args[, ...])

A one-shot agent that deligates all of its decisions to a set of independent negotiators (one per partner per day).

EndingNegotiator([preferences, ufun, name, ...])

RandomOneShotAgent([owner, ufun, name])

SyncRandomOneShotAgent(*args, **kwargs)

SingleAgreementRandomAgent(*args[, p_accept])

A controller that agrees randomly to one offer

SingleAgreementAspirationAgent(*args, **kwargs)

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

GreedyOneShotAgent(*args[, ...])

A greedy agent based on OneShotAgent

GreedySyncAgent(*args[, threshold])

A greedy agent based on OneShotSyncAgent

GreedySingleAgreementAgent(*args, **kwargs)

A greedy agent based on OneShotSingleAgreementAgent

OneshotDoNothingAgent([owner, ufun, name])

An agent that does nothing.

OneShotAWI(world, agent)

The agent world interface for the one-shot game.

Class Inheritance Diagram

digraph inheritance195a8c8bf8 { bgcolor=transparent; fontsize=11; randkir=TB; rankdir=LR; size=""; "ABC" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Helper class that provides a standard way to create an ABC using"]; "AgentWorldInterface" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Agent World Interface class"]; "BaseUtilityFunction" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class for all utility functions in negmas"]; "Preferences" -> "BaseUtilityFunction" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "BaseUtilityFunction" [arrowsize=0.5,style="setlinewidth(0.5)"]; "CheckpointMixin" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Adds the ability to save checkpoints to a `NamedObject`"]; "ConfigReader" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "Controller" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Controls the behavior of multiple negotiators in multiple negotiations."]; "Rational" -> "Controller" [arrowsize=0.5,style="setlinewidth(0.5)"]; "EndingNegotiator" [URL="../../reference/scml.html#scml.EndingNegotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "SAONegotiator" -> "EndingNegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Entity" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Defines an entity that is a part of the world but does not participate in the simulation"]; "EventSink" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="An object capable of receiving events"]; "EventSource" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="An object capable of raising events"]; "GreedyOneShotAgent" [URL="../../reference/scml.html#scml.GreedyOneShotAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A greedy agent based on OneShotAgent"]; "OneShotAgent" -> "GreedyOneShotAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "GreedySingleAgreementAgent" [URL="../../reference/scml.html#scml.GreedySingleAgreementAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A greedy agent based on `OneShotSingleAgreementAgent`"]; "OneShotSingleAgreementAgent" -> "GreedySingleAgreementAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "GreedySyncAgent" [URL="../../reference/scml.html#scml.GreedySyncAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A greedy agent based on OneShotSyncAgent"]; "OneShotSyncAgent" -> "GreedySyncAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "GreedyOneShotAgent" -> "GreedySyncAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "NamedObject" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="The base class of all named entities."]; "Negotiator" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Abstract negotiation agent. Base class for all negotiators"]; "Rational" -> "Negotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Notifiable" -> "Negotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "Negotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Notifiable" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="An object that can be notified"]; "OneShotAWI" [URL="../../reference/scml.html#scml.OneShotAWI",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="The agent world interface for the one-shot game."]; "AgentWorldInterface" -> "OneShotAWI" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneShotAgent" [URL="../../reference/scml.html#scml.OneShotAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for all agents in the One-Shot game."]; "SAOController" -> "OneShotAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Entity" -> "OneShotAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "OneShotAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneShotExogenousContract" [URL="../../reference/scml.html#scml.OneShotExogenousContract",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Exogenous contract information"]; "OneShotIndNegotiatorsAgent" [URL="../../reference/scml.html#scml.OneShotIndNegotiatorsAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A one-shot agent that deligates all of its decisions to a set of independent"]; "OneShotAgent" -> "OneShotIndNegotiatorsAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneShotProfile" [URL="../../reference/scml.html#scml.OneShotProfile",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines all private information of a factory"]; "OneShotSingleAgreementAgent" [URL="../../reference/scml.html#scml.OneShotSingleAgreementAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A synchronized agent that tries to get no more than one agreement."]; "SAOSingleAgreementController" -> "OneShotSingleAgreementAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneShotSyncAgent" -> "OneShotSingleAgreementAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneShotState" [URL="../../reference/scml.html#scml.OneShotState",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="State of a one-shot agent"]; "OneShotSyncAgent" [URL="../../reference/scml.html#scml.OneShotSyncAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="An agent that automatically accumulate offers from opponents and allows"]; "SAOSyncController" -> "OneShotSyncAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneShotAgent" -> "OneShotSyncAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "OneShotSyncAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneShotUFun" [URL="../../reference/scml.html#scml.OneShotUFun",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Calculates the utility function of a list of contracts or offers."]; "StationaryMixin" -> "OneShotUFun" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UtilityFunction" -> "OneShotUFun" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneshotDoNothingAgent" [URL="../../reference/scml.html#scml.OneshotDoNothingAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="An agent that does nothing."]; "OneShotAgent" -> "OneshotDoNothingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Preferences" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class for all preferences."]; "NamedObject" -> "Preferences" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "Preferences" [arrowsize=0.5,style="setlinewidth(0.5)"]; "RandomOneShotAgent" [URL="../../reference/scml.html#scml.RandomOneShotAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "OneShotAgent" -> "RandomOneShotAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Rational" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="A rational object is an object that can have preferences."]; "NamedObject" -> "Rational" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SAOController" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="A controller that can manage multiple negotiators taking full or partial control from them."]; "Controller" -> "SAOController" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SAONegotiator" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class for all SAO negotiators."]; "Negotiator" -> "SAONegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SAOSingleAgreementController" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="A synchronized controller that tries to get no more than one agreeement."]; "SAOSyncController" -> "SAOSingleAgreementController" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "SAOSingleAgreementController" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SAOSyncController" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="A controller that can manage multiple negotiators synchronously."]; "SAOController" -> "SAOSyncController" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020OneShotWorld" [URL="../../reference/scml.html#scml.SCML2020OneShotWorld",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Implements the SCML-OneShot variant of the SCM world."]; "TimeInAgreementMixin" -> "SCML2020OneShotWorld" [arrowsize=0.5,style="setlinewidth(0.5)"]; "World" -> "SCML2020OneShotWorld" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SingleAgreementAspirationAgent" [URL="../../reference/scml.html#scml.SingleAgreementAspirationAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Uses a time-based strategy to accept a single agreement from the set"]; "OneShotSyncAgent" -> "SingleAgreementAspirationAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SingleAgreementRandomAgent" [URL="../../reference/scml.html#scml.SingleAgreementRandomAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A controller that agrees randomly to one offer"]; "OneShotSingleAgreementAgent" -> "SingleAgreementRandomAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "StationaryMixin" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Indicates that the ufun is stationary which means that it is not session or state dependent and not volatile."]; "SyncRandomOneShotAgent" [URL="../../reference/scml.html#scml.SyncRandomOneShotAgent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "OneShotSyncAgent" -> "SyncRandomOneShotAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TimeInAgreementMixin" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "UFunLimit" [URL="../../reference/scml.html#scml.UFunLimit",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="UFunLimit(utility, input_quantity, input_price, output_quantity, output_price, exogenous_input_quantity, exogenous_input_price, exogenous_output_quantity, exogenous_output_price, producible)"]; "UtilityFunction" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base for all crisp ufuns"]; "_General" -> "UtilityFunction" [arrowsize=0.5,style="setlinewidth(0.5)"]; "BaseUtilityFunction" -> "UtilityFunction" [arrowsize=0.5,style="setlinewidth(0.5)"]; "World" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base world class encapsulating a world that runs a simulation with several agents interacting within some"]; "EventSink" -> "World" [arrowsize=0.5,style="setlinewidth(0.5)"]; "EventSource" -> "World" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ConfigReader" -> "World" [arrowsize=0.5,style="setlinewidth(0.5)"]; "NamedObject" -> "World" [arrowsize=0.5,style="setlinewidth(0.5)"]; "CheckpointMixin" -> "World" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "World" [arrowsize=0.5,style="setlinewidth(0.5)"]; "_General" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Used internally to indicate that the ufun can change due to anything."]; }