sinergym.utils.rewards.LinearReward
- class sinergym.utils.rewards.LinearReward(range_comfort_winter=(20.0, 23.5), range_comfort_summer=(23.0, 26.0), energy_weight=0.5, lambda_energy=0.0001, lambda_temperature=1.0)
- __init__(range_comfort_winter=(20.0, 23.5), range_comfort_summer=(23.0, 26.0), energy_weight=0.5, lambda_energy=0.0001, lambda_temperature=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:
range_comfort_winter (tuple, optional) – Temperature comfort range for cold season. Defaults to (20.0, 23.5).
range_comfort_summer (tuple, optional) – Temperature comfort range fot hot season. Defaults to (23.0, 26.0).
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__
([range_comfort_winter, ...])Simple reward considering absolute difference to temperature comfort.
calculate
(power, temperatures, month, day)Reward calculus.
- calculate(power, temperatures, month, day)
Reward calculus.
- Parameters:
power (float) – Power consumption.
temperatures (list) – Indoor temperatures (one per zone).
month (int) – Current month.
day (int) – Current day.
- Returns:
Reward value.
- Return type:
float