SCML2020/2021

This module describes the Supply Chain Management League Platform as run in 2020 and 2021.

scml.scml2020 Package

Implements the SCML 2020 world design.

The detailed description of this world simulation can be found here.

Functions

is_system_agent(aid)

Checks whether an agent is a system agent or not

Classes

FactoryState(inventory, balance, commands, ...)

FinancialReport(agent_id, step, cash, ...)

A report published periodically by the system showing the financial standing of an agent

FactoryProfile(costs)

Defines all private information of a factory

Failure(is_inventory, line, step, process)

A production failure

ExogenousContract(product, quantity, ...[, ...])

Represents a contract to be revealed at revelation_time to buyer and seller between them that is not agreed upon through negotiation but is endogenously given

RandomAgent(*args, **kwargs)

An agent that negotiates randomly.

DoNothingAgent([name, type_postfix, ...])

An agent that does nothing for the whole length of the simulation

IndependentNegotiationsAgent(*args, **kwargs)

Implements the base class for agents that negotiate independently with different partners.

MarketAwareIndependentNegotiationsAgent(*args)

Implements the base class for agents that negotiate independently with different partners using trading/catalog prices to control signing

BuyCheapSellExpensiveAgent(*args, **kwargs)

An agent that tries to buy cheap and sell expensive but does not care about production scheduling.

MarketAwareBuyCheapSellExpensiveAgent(*args)

An agent that tries to buy cheap and sell expensive but does not care about production scheduling.

DecentralizingAgent(*args[, ...])

IndDecentralizingAgent(*args[, ...])

DecentralizingAgentWithLogging(*args, **kwargs)

MarketAwareDecentralizingAgent(*args[, ...])

MarketAwareIndDecentralizingAgent(*args[, ...])

ReactiveAgent(*args[, negotiator_type, ...])

MarketAwareReactiveAgent(*args[, ...])

MovingRangeAgent(*args[, price_weight, ...])

MarketAwareMovingRangeAgent(*args[, ...])

SatisficerAgent(*args[, ...])

A simple monolithic agent that tries to carefully make small profit every step.

SCML2020World(process_inputs, ...[, ...])

A Supply Chain SCML2020World simulation as described for the SCML league of ANAC @ IJCAI 2020.

SCML2021World(*args, **kwargs)

SCML2022World(*args, **kwargs)

Failure(is_inventory, line, step, process)

A production failure

AWI(world, agent)

The Agent SCML2020World Interface for SCML2020 world.

Simulation(*args, **kwargs)

Provides a simulator to the agent.

ProductionStrategy(*args, **kwargs)

Represents a strategy for controlling production.

SupplyDrivenProductionStrategy(*args, **kwargs)

A production strategy that converts all inputs to outputs

DemandDrivenProductionStrategy(*args, **kwargs)

A production strategy that produces ONLY when a contract is secured

TradeDrivenProductionStrategy(*args, **kwargs)

A production strategy that produces ONLY for contracts that the agent did not initiate.

TradePredictionStrategy(*args[, ...])

A prediction strategy for expected inputs and outputs at every step

FixedTradePredictionStrategy(*args[, add_trade])

Predicts a fixed amount of trade both for the input and output products.

ExecutionRatePredictionStrategy()

A prediction strategy for expected inputs and outputs at every step

FixedERPStrategy(*args[, execution_fraction])

Predicts that the there is a fixed execution rate that does not change for all partners

MeanERPStrategy(*args[, execution_fraction])

Predicts the mean execution fraction for each partner

MarketAwareTradePredictionStrategy(*args[, ...])

Predicts an amount based on publicly available market information.

SignAll()

Signs all contracts no matter what.

SignAllPossible()

Signs all contracts that can in principle be honored.

KeepOnlyGoodPrices(*args[, buying_margin, ...])

Signs all contracts that have good prices

TradingStrategy(*args, **kwargs)

Base class for all trading strategies.

ReactiveTradingStrategy(*args, **kwargs)

The agent reactively responds to contracts for selling by buying and vice versa.

PredictionBasedTradingStrategy(*args[, ...])

A trading strategy that uses prediction strategies to manage inputs/outputs needed

MarketAwarePredictionBasedTradingStrategy(*args)

NegotiationManager(*args[, horizon, ...])

A negotiation manager is a component that provides negotiation control functionality to an agent

StepNegotiationManager(*args[, ...])

A negotiation manager that controls a controller and another for selling for every timestep

IndependentNegotiationsManager(*args[, ...])

A negotiation manager that manages independent negotiators that do not share any information once created

MovingRangeNegotiationManager(*args[, ...])

My negotiation strategy

Factory(profile, initial_balance, inputs, ...)

A simulated factory

AWI(world, agent)

The Agent SCML2020World Interface for SCML2020 world.

SCML2020Agent([name, type_postfix, ...])

Base class for all SCML2020 agents (factory managers)

OneShotAdapter(oneshot_type, oneshot_params)

An adapter allowing agents developed for SCML-OneShot to run in SCML2020World simulations.

Class Inheritance Diagram

digraph inheritanceabdb3d5782 { 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"]; "AWI" [URL="../../reference/scml.html#scml.AWI",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 SCML2020World Interface for SCML2020 world."]; "AgentWorldInterface" -> "AWI" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Adapter" [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="Represents an adapter agent that makes some included object act as an"]; "Agent" -> "Adapter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Agent" [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 agents that can run within a `World` and engage in situated negotiations"]; "Entity" -> "Agent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "EventSink" -> "Agent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ConfigReader" -> "Agent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Notifier" -> "Agent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Rational" -> "Agent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "Agent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "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"]; "BuyCheapSellExpensiveAgent" [URL="../../reference/scml.html#scml.BuyCheapSellExpensiveAgent",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 tries to buy cheap and sell expensive but does not care about production scheduling."]; "IndependentNegotiationsAgent" -> "BuyCheapSellExpensiveAgent" [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"]; "DecentralizingAgent" [URL="../../reference/scml.html#scml.DecentralizingAgent",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"]; "_NegotiationCallbacks" -> "DecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "StepNegotiationManager" -> "DecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PredictionBasedTradingStrategy" -> "DecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SupplyDrivenProductionStrategy" -> "DecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020Agent" -> "DecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "DecentralizingAgentWithLogging" [URL="../../reference/scml.html#scml.DecentralizingAgentWithLogging",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"]; "_NegotiationCallbacks" -> "DecentralizingAgentWithLogging" [arrowsize=0.5,style="setlinewidth(0.5)"]; "StepNegotiationManager" -> "DecentralizingAgentWithLogging" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PredictionBasedTradingStrategy" -> "DecentralizingAgentWithLogging" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SupplyDrivenProductionStrategy" -> "DecentralizingAgentWithLogging" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020Agent" -> "DecentralizingAgentWithLogging" [arrowsize=0.5,style="setlinewidth(0.5)"]; "DemandDrivenProductionStrategy" [URL="../../reference/scml.html#scml.DemandDrivenProductionStrategy",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 production strategy that produces ONLY when a contract is secured"]; "ProductionStrategy" -> "DemandDrivenProductionStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "DoNothingAgent" [URL="../../reference/scml.html#scml.DoNothingAgent",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 for the whole length of the simulation"]; "SCML2020Agent" -> "DoNothingAgent" [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"]; "ExecutionRatePredictionStrategy" [URL="../../reference/scml.html#scml.ExecutionRatePredictionStrategy",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 prediction strategy for expected inputs and outputs at every step"]; "ExogenousContract" [URL="../../reference/scml.html#scml.ExogenousContract",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="Represents a contract to be revealed at revelation_time to buyer and seller between them that is not agreed upon"]; "Factory" [URL="../../reference/scml.html#scml.Factory",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 simulated factory"]; "FactoryProfile" [URL="../../reference/scml.html#scml.FactoryProfile",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"]; "FactoryState" [URL="../../reference/scml.html#scml.FactoryState",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="FactoryState(inventory: numpy.ndarray, balance: int, commands: numpy.ndarray, inventory_changes: numpy.ndarray, balance_change: int, contracts: List[List[scml.scml2020.common.ContractInfo]])"]; "Failure" [URL="../../reference/scml.html#scml.Failure",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 production failure"]; "FinancialReport" [URL="../../reference/scml.html#scml.FinancialReport",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 report published periodically by the system showing the financial standing of an agent"]; "FixedERPStrategy" [URL="../../reference/scml.html#scml.FixedERPStrategy",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="Predicts that the there is a fixed execution rate that does not change for all partners"]; "ExecutionRatePredictionStrategy" -> "FixedERPStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "FixedTradePredictionStrategy" [URL="../../reference/scml.html#scml.FixedTradePredictionStrategy",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="Predicts a fixed amount of trade both for the input and output products."]; "TradePredictionStrategy" -> "FixedTradePredictionStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "IndDecentralizingAgent" [URL="../../reference/scml.html#scml.IndDecentralizingAgent",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"]; "_NegotiationCallbacks" -> "IndDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "IndependentNegotiationsManager" -> "IndDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PredictionBasedTradingStrategy" -> "IndDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SupplyDrivenProductionStrategy" -> "IndDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020Agent" -> "IndDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "IndependentNegotiationsAgent" [URL="../../reference/scml.html#scml.IndependentNegotiationsAgent",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 base class for agents that negotiate independently with different partners."]; "IndependentNegotiationsManager" -> "IndependentNegotiationsAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "FixedTradePredictionStrategy" -> "IndependentNegotiationsAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ReactiveTradingStrategy" -> "IndependentNegotiationsAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020Agent" -> "IndependentNegotiationsAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "IndependentNegotiationsManager" [URL="../../reference/scml.html#scml.IndependentNegotiationsManager",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 negotiation manager that manages independent negotiators that do not share any information once created"]; "NegotiationManager" -> "IndependentNegotiationsManager" [arrowsize=0.5,style="setlinewidth(0.5)"]; "KeepOnlyGoodPrices" [URL="../../reference/scml.html#scml.KeepOnlyGoodPrices",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="Signs all contracts that have good prices"]; "MarketAwareBuyCheapSellExpensiveAgent" [URL="../../reference/scml.html#scml.MarketAwareBuyCheapSellExpensiveAgent",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 tries to buy cheap and sell expensive but does not care about production scheduling."]; "MarketAwareIndependentNegotiationsAgent" -> "MarketAwareBuyCheapSellExpensiveAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "BuyCheapSellExpensiveAgent" -> "MarketAwareBuyCheapSellExpensiveAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MarketAwareDecentralizingAgent" [URL="../../reference/scml.html#scml.MarketAwareDecentralizingAgent",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"]; "MarketAwareTradePredictionStrategy" -> "MarketAwareDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "_NegotiationCallbacks" -> "MarketAwareDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MovingRangeNegotiationManager" -> "MarketAwareDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PredictionBasedTradingStrategy" -> "MarketAwareDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "KeepOnlyGoodPrices" -> "MarketAwareDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SupplyDrivenProductionStrategy" -> "MarketAwareDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020Agent" -> "MarketAwareDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MarketAwareIndDecentralizingAgent" [URL="../../reference/scml.html#scml.MarketAwareIndDecentralizingAgent",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"]; "KeepOnlyGoodPrices" -> "MarketAwareIndDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MarketAwareTradePredictionStrategy" -> "MarketAwareIndDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "IndDecentralizingAgent" -> "MarketAwareIndDecentralizingAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MarketAwareIndependentNegotiationsAgent" [URL="../../reference/scml.html#scml.MarketAwareIndependentNegotiationsAgent",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 base class for agents that negotiate independently with different partners using trading/catalog"]; "KeepOnlyGoodPrices" -> "MarketAwareIndependentNegotiationsAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "IndependentNegotiationsAgent" -> "MarketAwareIndependentNegotiationsAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MarketAwareMovingRangeAgent" [URL="../../reference/scml.html#scml.MarketAwareMovingRangeAgent",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"]; "MarketAwareTradePredictionStrategy" -> "MarketAwareMovingRangeAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MovingRangeAgent" -> "MarketAwareMovingRangeAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MarketAwarePredictionBasedTradingStrategy" [URL="../../reference/scml.html#scml.MarketAwarePredictionBasedTradingStrategy",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"]; "MarketAwareTradePredictionStrategy" -> "MarketAwarePredictionBasedTradingStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PredictionBasedTradingStrategy" -> "MarketAwarePredictionBasedTradingStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MarketAwareReactiveAgent" [URL="../../reference/scml.html#scml.MarketAwareReactiveAgent",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"]; "KeepOnlyGoodPrices" -> "MarketAwareReactiveAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ReactiveAgent" -> "MarketAwareReactiveAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MarketAwareTradePredictionStrategy" [URL="../../reference/scml.html#scml.MarketAwareTradePredictionStrategy",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="Predicts an amount based on publicly available market information. Falls"]; "TradePredictionStrategy" -> "MarketAwareTradePredictionStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MeanERPStrategy" [URL="../../reference/scml.html#scml.MeanERPStrategy",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="Predicts the mean execution fraction for each partner"]; "ExecutionRatePredictionStrategy" -> "MeanERPStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MovingRangeAgent" [URL="../../reference/scml.html#scml.MovingRangeAgent",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"]; "MovingRangeNegotiationManager" -> "MovingRangeAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PredictionBasedTradingStrategy" -> "MovingRangeAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SupplyDrivenProductionStrategy" -> "MovingRangeAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020Agent" -> "MovingRangeAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MovingRangeNegotiationManager" [URL="../../reference/scml.html#scml.MovingRangeNegotiationManager",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="My negotiation strategy"]; "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."]; "NegotiationManager" [URL="../../reference/scml.html#scml.NegotiationManager",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 negotiation manager is a component that provides negotiation control functionality to an agent"]; "Notifier" [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 notify other objects"]; "NamedObject" -> "Notifier" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneShotAdapter" [URL="../../reference/scml.html#scml.OneShotAdapter",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 adapter allowing agents developed for SCML-OneShot to run in"]; "SignAll" -> "OneShotAdapter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "DemandDrivenProductionStrategy" -> "OneShotAdapter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MarketAwareTradePredictionStrategy" -> "OneShotAdapter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020Agent" -> "OneShotAdapter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Adapter" -> "OneShotAdapter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneShotUFunCreatorMixin" -> "OneShotAdapter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "OneShotUFunCreatorMixin" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "PredictionBasedTradingStrategy" [URL="../../reference/scml.html#scml.PredictionBasedTradingStrategy",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 trading strategy that uses prediction strategies to manage inputs/outputs needed"]; "FixedTradePredictionStrategy" -> "PredictionBasedTradingStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MeanERPStrategy" -> "PredictionBasedTradingStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TradingStrategy" -> "PredictionBasedTradingStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ProductionStrategy" [URL="../../reference/scml.html#scml.ProductionStrategy",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="Represents a strategy for controlling production."]; "RandomAgent" [URL="../../reference/scml.html#scml.RandomAgent",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 negotiates randomly."]; "IndependentNegotiationsAgent" -> "RandomAgent" [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)"]; "ReactiveAgent" [URL="../../reference/scml.html#scml.ReactiveAgent",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"]; "StepNegotiationManager" -> "ReactiveAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ReactiveTradingStrategy" -> "ReactiveAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TradeDrivenProductionStrategy" -> "ReactiveAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "FixedTradePredictionStrategy" -> "ReactiveAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020Agent" -> "ReactiveAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ReactiveTradingStrategy" [URL="../../reference/scml.html#scml.ReactiveTradingStrategy",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 reactively responds to contracts for selling by buying and vice versa."]; "SignAllPossible" -> "ReactiveTradingStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TradingStrategy" -> "ReactiveTradingStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020Agent" [URL="../../reference/scml.html#scml.SCML2020Agent",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 SCML2020 agents (factory managers)"]; "Agent" -> "SCML2020Agent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2020World" [URL="../../reference/scml.html#scml.SCML2020World",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 Supply Chain SCML2020World simulation as described for the SCML league of ANAC @ IJCAI 2020."]; "TimeInAgreementMixin" -> "SCML2020World" [arrowsize=0.5,style="setlinewidth(0.5)"]; "World" -> "SCML2020World" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2021World" [URL="../../reference/scml.html#scml.SCML2021World",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"]; "SCML2020World" -> "SCML2021World" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SCML2022World" [URL="../../reference/scml.html#scml.SCML2022World",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"]; "SCML2021World" -> "SCML2022World" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SatisficerAgent" [URL="../../reference/scml.html#scml.SatisficerAgent",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 simple monolithic agent that tries to *carefully* make small profit"]; "SCML2020Agent" -> "SatisficerAgent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SignAll" [URL="../../reference/scml.html#scml.SignAll",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="Signs all contracts no matter what."]; "SignAllPossible" [URL="../../reference/scml.html#scml.SignAllPossible",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="Signs all contracts that can in principle be honored."]; "Simulation" [URL="../../reference/scml.html#scml.Simulation",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="Provides a simulator to the agent."]; "StepNegotiationManager" [URL="../../reference/scml.html#scml.StepNegotiationManager",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 negotiation manager that controls a controller and another for selling for every timestep"]; "MeanERPStrategy" -> "StepNegotiationManager" [arrowsize=0.5,style="setlinewidth(0.5)"]; "NegotiationManager" -> "StepNegotiationManager" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SupplyDrivenProductionStrategy" [URL="../../reference/scml.html#scml.SupplyDrivenProductionStrategy",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 production strategy that converts all inputs to outputs"]; "ProductionStrategy" -> "SupplyDrivenProductionStrategy" [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"]; "TradeDrivenProductionStrategy" [URL="../../reference/scml.html#scml.TradeDrivenProductionStrategy",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 production strategy that produces ONLY for contracts that the agent did not initiate."]; "ProductionStrategy" -> "TradeDrivenProductionStrategy" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TradePredictionStrategy" [URL="../../reference/scml.html#scml.TradePredictionStrategy",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 prediction strategy for expected inputs and outputs at every step"]; "TradingStrategy" [URL="../../reference/scml.html#scml.TradingStrategy",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 trading strategies."]; "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)"]; "_NegotiationCallbacks" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; }