# -*- coding: utf-8 -*- from typing import Dict, Optional import numpy as np import pandas as pd from app.services.transfer import Season from app.schemas.feedback import Feedback class StepSizeCalculator: """ Calculate adjustment step size of environment target when a user send feedback. """ def __init__(self, weight: Dict): self.weight = weight def calculate_step_size( self, space_realtime_temperature: float, space_comfortable_temperature: float, feedback: Feedback ): base_step_size = 1.8 / (1 + np.exp((space_comfortable_temperature - space_realtime_temperature) / 2)) return