blackopsrepl's picture
feat!: add constraint analyzer service and refactor all systems
2004c79
raw
history blame contribute delete
649 Bytes
from dataclasses import dataclass, field
# =========================
# DATA MODELS
# =========================
@dataclass(frozen=True, kw_only=True)
class CountDistribution:
count: int
weight: float
@dataclass(frozen=True, kw_only=True)
class SkillSet:
required_skills: tuple[str, ...]
optional_skills: tuple[str, ...]
@dataclass(kw_only=True)
class TimeTableDataParameters:
skill_set: SkillSet
days_in_schedule: int
employee_count: int
optional_skill_distribution: tuple[CountDistribution, ...]
availability_count_distribution: tuple[CountDistribution, ...]
random_seed: int = field(default=37)