2025-06-24 14:22:50 +02:00

28 lines
738 B
Python

from dataclasses import dataclass
from datetime import timedelta
from core.domain.map.CrnPoint import CrnPoint
from core.domain.optimization.OptimizationPointType import OptimizationPointType
@dataclass
class OptimizationPoint:
crnPoint: CrnPoint
serviceTime: timedelta
demand: int
visitFrequency: float
type: OptimizationPointType
group = None
@staticmethod
def fromJson(**kwargs) -> 'OptimizationPoint':
kwargs['serviceTime'] = timedelta(seconds=kwargs['serviceTime'])
kwargs['crnPoint'] = CrnPoint.fromJson(**kwargs['crnPoint'])
kwargs['type'] = OptimizationPointType(kwargs['type'])
return OptimizationPoint(**kwargs)
@property
def isVisited(self):
return self.visitFrequency > 0 and self.crnPoint.isVisited