# HG changeset patch # User Nicolas Saunier # Date 1712690515 14400 # Node ID 3bfdb2ffd29d418683da82778dc80a6b8694a490 # Parent e59a0a475a0a19446fc973b94f28f0db15d6dcb5 modif for plotting nserved diff -r e59a0a475a0a -r 3bfdb2ffd29d trafficintelligence/traffic_engineering.py --- a/trafficintelligence/traffic_engineering.py Wed Apr 03 16:39:41 2024 -0400 +++ b/trafficintelligence/traffic_engineering.py Tue Apr 09 15:21:55 2024 -0400 @@ -90,19 +90,25 @@ return self.reductionDuration*(1-self.beta)/(1-self.demandCapacityRatio) def nArrived(self, t): - if self.demand is None: + '''since the beginning of the capacity reduction''' + if self.demand is None or t<0: print('Missing demand field') return None return self.demand*t def nServed(self, t): - if self.capacity is None: + '''since the beginning of the capacity reduction''' + if self.capacity is None or t<0: print('Missing capacity field') return None if 0<=t<=self.reductionDuration: return self.beta*self.capacity*t - elif self.reductionDuration < t <= self.queueingDuration(): - return self.beta*self.capacity*self.reductionDuration+self.capacity*(t-self.reductionDuration) + elif self.reductionDuration < t: + qDuration = self.queueingDuration() + if t <= qDuration: + return self.beta*self.capacity*self.reductionDuration+self.capacity*(t-self.reductionDuration) + else: + return self.beta*self.capacity*self.reductionDuration+self.capacity*(qDuration-self.reductionDuration)+self.demand*(t-qDuration) def nQueued(self, t): return self.nArrived(t)-self.nServed(t)