scml.scml2020.components.production
Classes
Represents a strategy for controlling production. |
|
A production strategy that converts all inputs to outputs |
|
A production strategy that produces ONLY when a contract is secured |
|
A production strategy that produces ONLY for contracts that the agent did not initiate. |
Module Contents
- class scml.scml2020.components.production.ProductionStrategy(*args, **kwargs)[source]
Represents a strategy for controlling production.
- Provides:
schedule_range: A mapping from contract ID to a tuple of the first and last steps at which some lines are occupied to produce the quantity specified by the contract and whether it is a sell contractcan_be_produced: Given a contract, it returns whether or not it is possible to produce the quantity entailed by it (which means that there is enough vacant production line slots before/after the contracts delivery time for sell/buy contracts).
- 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.
- schedule_range: dict[str, tuple[int, int, bool]][source]
Gives the range of steps at which the production needed for a given contract are scheduled
- can_be_produced(contract_id: str)[source]
Returns True if the SELL contract given can be honored in principle given the production capacity of the agent (n. lines). It does not check for the availability of inputs or enough money to run the production process.
Remarks:
Cannot be called before calling on_contracts_finalized
- class scml.scml2020.components.production.SupplyDrivenProductionStrategy(*args, **kwargs)[source]
Bases:
ProductionStrategyA production strategy that converts all inputs to outputs
- 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.components.production.DemandDrivenProductionStrategy(*args, **kwargs)[source]
Bases:
ProductionStrategyA production strategy that produces ONLY when a contract is secured
- Hooks Into:
on_contract_finalized
- 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.components.production.TradeDrivenProductionStrategy(*args, **kwargs)[source]
Bases:
ProductionStrategyA production strategy that produces ONLY for contracts that the agent did not initiate.
- Hooks Into:
on_contract_finalized
- 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.