scml.scml2020.agents.decentralizing
Implements the DecentralizingAgent which creates ony buy and one sell controller for each time-step and relinquishes
control of negotiations to buy/sell the required number of items of its input/output product.
Classes
A negotiation manager that controls a controller and another for selling for every timestep |
|
Predicts an amount based on publicly available market information. Falls |
|
A negotiation manager that controls a controller and another for selling for every timestep |
|
A negotiation manager that manages independent negotiators that do not share any information once created |
|
Signs all contracts that have good prices |
Module Contents
- class scml.scml2020.agents.decentralizing.DecentralizingAgent(*args, negotiator_type: negmas.SAONegotiator | str = AspirationNegotiator, negotiator_params: Dict[str, Any] | None = None, **kwargs)[source]
Bases:
_NegotiationCallbacks,scml.scml2020.components.StepNegotiationManager,scml.scml2020.components.trading.PredictionBasedTradingStrategy,scml.scml2020.components.SupplyDrivenProductionStrategy,scml.scml2020.world.SCML2020AgentA negotiation manager that controls a controller and another for selling for every timestep
- Parameters:
negotiator_type – The negotiator type to use to manage all negotiations
negotiator_params – Paramters of the negotiator
- Provides:
- Requires:
- Hooks Into:
- Remarks:
Attributessection describes the attributes that can be used to construct the component (passed to its__init__method).Providessection describes the attributes (methods, properties, data-members) made available by this component directly. Note that everything provided by the bases of this components are also available to the agent (Check theBasessection above for all the bases of this component).Requiressection describes any requirements from the agent using this component. It defines a set of methods or properties/data-members that must exist in the agent that uses this component. These requirement are usually implemented as abstract methods in the componentAbstract Objects Layersection describes abstract methods that MUST be implemented by any descendant of this component.Hooks Intosection describes the methods this component overrides callingsuper() which allows other components to hook into the same method (by overriding it). Usually callbacks starting withon_are hooked into this way.Overridessection describes the methods this component overrides without callingsupereffectively disallowing any other components after it in the MRO to call this method. Usually methods that do some action (i.e. not starting withon_) are overridden this way.
- class scml.scml2020.agents.decentralizing.MarketAwareDecentralizingAgent(*args, buying_margin=None, selling_margin=None, min_price_margin=0.5, max_price_margin=0.5, **kwargs)[source]
Bases:
scml.scml2020.components.prediction.MarketAwareTradePredictionStrategy,_NegotiationCallbacks,scml.scml2020.components.MovingRangeNegotiationManager,scml.scml2020.components.trading.PredictionBasedTradingStrategy,scml.scml2020.components.signing.KeepOnlyGoodPrices,scml.scml2020.components.SupplyDrivenProductionStrategy,scml.scml2020.world.SCML2020AgentPredicts an amount based on publicly available market information. Falls back to fixed prediction if no information is available
- Hooks Into:
- Remarks:
Attributessection describes the attributes that can be used to construct the component (passed to its__init__method).Providessection describes the attributes (methods, properties, data-members) made available by this component directly. Note that everything provided by the bases of this components are also available to the agent (Check theBasessection above for all the bases of this component).Requiressection describes any requirements from the agent using this component. It defines a set of methods or properties/data-members that must exist in the agent that uses this component. These requirement are usually implemented as abstract methods in the componentAbstract Objects Layersection describes abstract methods that MUST be implemented by any descendant of this component.Hooks Intosection describes the methods this component overrides callingsuper() which allows other components to hook into the same method (by overriding it). Usually callbacks starting withon_are hooked into this way.Overridessection describes the methods this component overrides without callingsupereffectively disallowing any other components after it in the MRO to call this method. Usually methods that do some action (i.e. not starting withon_) are overridden this way.
- class scml.scml2020.agents.decentralizing.DecentralizingAgentWithLogging(*args, **kwargs)[source]
Bases:
_NegotiationCallbacks,scml.scml2020.components.StepNegotiationManager,scml.scml2020.components.trading.PredictionBasedTradingStrategy,scml.scml2020.components.SupplyDrivenProductionStrategy,scml.scml2020.world.SCML2020AgentA negotiation manager that controls a controller and another for selling for every timestep
- Parameters:
negotiator_type – The negotiator type to use to manage all negotiations
negotiator_params – Paramters of the negotiator
- Provides:
- Requires:
- Hooks Into:
- Remarks:
Attributessection describes the attributes that can be used to construct the component (passed to its__init__method).Providessection describes the attributes (methods, properties, data-members) made available by this component directly. Note that everything provided by the bases of this components are also available to the agent (Check theBasessection above for all the bases of this component).Requiressection describes any requirements from the agent using this component. It defines a set of methods or properties/data-members that must exist in the agent that uses this component. These requirement are usually implemented as abstract methods in the componentAbstract Objects Layersection describes abstract methods that MUST be implemented by any descendant of this component.Hooks Intosection describes the methods this component overrides callingsuper() which allows other components to hook into the same method (by overriding it). Usually callbacks starting withon_are hooked into this way.Overridessection describes the methods this component overrides without callingsupereffectively disallowing any other components after it in the MRO to call this method. Usually methods that do some action (i.e. not starting withon_) are overridden this way.
- class scml.scml2020.agents.decentralizing.IndDecentralizingAgent(*args, negotiator_type: negmas.SAONegotiator | str = AspirationNegotiator, negotiator_params: Dict[str, Any] | None = None, **kwargs)[source]
Bases:
_NegotiationCallbacks,scml.scml2020.components.IndependentNegotiationsManager,scml.scml2020.components.trading.PredictionBasedTradingStrategy,scml.scml2020.components.SupplyDrivenProductionStrategy,scml.scml2020.world.SCML2020AgentA negotiation manager that manages independent negotiators that do not share any information once created
- Parameters:
negotiator_type – The negotiator type to use to manage all negotiations
negotiator_params – Parameters of the negotiator
- Requires:
- Hooks Into:
- Remarks:
Attributessection describes the attributes that can be used to construct the component (passed to its__init__method).Providessection describes the attributes (methods, properties, data-members) made available by this component directly. Note that everything provided by the bases of this components are also available to the agent (Check theBasessection above for all the bases of this component).Requiressection describes any requirements from the agent using this component. It defines a set of methods or properties/data-members that must exist in the agent that uses this component. These requirement are usually implemented as abstract methods in the componentAbstract Objects Layersection describes abstract methods that MUST be implemented by any descendant of this component.Hooks Intosection describes the methods this component overrides callingsuper() which allows other components to hook into the same method (by overriding it). Usually callbacks starting withon_are hooked into this way.Overridessection describes the methods this component overrides without callingsupereffectively disallowing any other components after it in the MRO to call this method. Usually methods that do some action (i.e. not starting withon_) are overridden this way.
- class scml.scml2020.agents.decentralizing.MarketAwareIndDecentralizingAgent(*args, buying_margin=None, selling_margin=None, min_price_margin=0.5, max_price_margin=0.5, **kwargs)[source]
Bases:
scml.scml2020.components.signing.KeepOnlyGoodPrices,scml.scml2020.components.prediction.MarketAwareTradePredictionStrategy,IndDecentralizingAgentSigns all contracts that have good prices
- Overrides:
- - buying_margin
The margin from the catalog price to allow for buying. The agent will never buy at a price higher than the catalog price by more than this margin (relative to catalog price).
- - selling_margin
The margin from the catalog price to allow for selling. The agent will never sell at a price lower than the catalog price by more than this margin (relative to catalog price).
- Remarks:
Attributessection describes the attributes that can be used to construct the component (passed to its__init__method).Providessection describes the attributes (methods, properties, data-members) made available by this component directly. Note that everything provided by the bases of this components are also available to the agent (Check theBasessection above for all the bases of this component).Requiressection describes any requirements from the agent using this component. It defines a set of methods or properties/data-members that must exist in the agent that uses this component. These requirement are usually implemented as abstract methods in the componentAbstract Objects Layersection describes abstract methods that MUST be implemented by any descendant of this component.Hooks Intosection describes the methods this component overrides callingsuper() which allows other components to hook into the same method (by overriding it). Usually callbacks starting withon_are hooked into this way.Overridessection describes the methods this component overrides without callingsupereffectively disallowing any other components after it in the MRO to call this method. Usually methods that do some action (i.e. not starting withon_) are overridden this way.