sinergym.utils.rewards.LinearReward
- class sinergym.utils.rewards.LinearReward(energy_weight: float = 0.5, lambda_energy: float = 0.0001, lambda_temperature: float = 1.0)
- __init__(energy_weight: float = 0.5, lambda_energy: float = 0.0001, lambda_temperature: float = 1.0)
Simple reward considering absolute difference to temperature comfort.
\[R = - W * lambda_E * power - (1 - W) * lambda_T * (max(T - T_{low}, 0) + max(T_{up} - T, 0))\]- Parameters
energy_weight (float, optional) – Weight given to the energy term. Defaults to 0.5.
lambda_energy (float, optional) – Constant for removing dimensions from power(1/W). Defaults to 1e-4.
lambda_temperature (float, optional) – Constant for removing dimensions from temperature(1/C). Defaults to 1.0.
Methods
__init__
([energy_weight, lambda_energy, ...])Simple reward considering absolute difference to temperature comfort.
calculate
(power, temperatures, month, day)Reward calculus.
- calculate(power: float, temperatures: List[float], month: int, day: int) Tuple[float, Dict[str, float]]
Reward calculus.
- Parameters
power (float) – Power consumption.
temperatures (List[float]) – Indoor temperatures (one per zone).
month (int) – Current month.
day (int) – Current day.
- Returns
Reward value.
- Return type
Tuple[float, Dict[str, float]]