File size: 858 Bytes
bd19734
 
 
 
 
 
 
 
 
 
 
2d986f5
bd19734
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from abc import ABC, abstractmethod


class BaseController(ABC):
    """Базовый класс для всех контроллеров"""

    def __init__(self, name="Base"):
        self.name = name
        self.history = []

    @abstractmethod
    def update(self, current_state, target_state):
        """
        Рассчитывает новые параметры управления

        Параметры:
        - current_state: текущее состояние системы (очередь, загрузка)
        - target_state: целевое состояние

        Возвращает:
        - новые пороги и отступы
        """
        pass

    def get_margins(self, hour=None):
        """Возвращает текущие отступы для LR и второй модели"""
        pass