smartgrid.agents.agent.Agent¶
- class smartgrid.agents.agent.Agent(name: str, profile: AgentProfile)[source]¶
Bases:
object
An agent represents a physical entity in the world.
- It contains:
a (unique) name for identifying the agent;
a (current) state;
an intended action for a step, what the Agent wanted to do;
an enacted action for a step, what the Agent really did;
an agent profile, the common characteristics shared by multiple agents.
- __init__(name: str, profile: AgentProfile)[source]¶
Methods
__init__
(name, profile)decrease_storage
(amount)Function for adding some energy in the storage.
Perform the intended action and transform it into the enacted action.
increase_storage
(amount)Function for adding some energy in the storage.
reset
()update
(step)Update the agent's current state (production, need, storage, comfort).
Attributes
comfort
need
payoff_range
Return the current payoff scaled to [0,1].
production
Return the current storage quantity over its capacity (in [0,1]).
name
state
intended_action
enacted_action
profile
- decrease_storage(amount: float) -> (<class 'float'>, <class 'float'>, <class 'float'>)[source]¶
Function for adding some energy in the storage.
- Parameters:
amount – energy for charging the battery.
- Returns:
a tuple of float with the quantity in the battery, the energy took and the energy that was missing.
- handle_action() Action [source]¶
Perform the intended action and transform it into the enacted action.
The intended action represents the action the agent intends to do, if possible, but it may happen that, due to some constraint, e.g., battery capacity, it is not possible as-is. This method thus transforms the intended action into an enacted action, taking into account these constraints, and updates the Agent’s state according to the enacted action.
- Returns:
The enacted action that truly happened, after the Agent’s state was updated.
- increase_storage(amount: float) -> (<class 'float'>, <class 'float'>, <class 'float'>)[source]¶
Function for adding some energy in the storage.
- Parameters:
amount – energy for charging the battery.
- Returns:
a tuple of float with the quantity in the battery, the energy added and the energy that cannot be stocked.