Mercurial Hosting > traffic-intelligence
changeset 1259:3bfdb2ffd29d
modif for plotting nserved
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Tue, 09 Apr 2024 15:21:55 -0400 |
parents | e59a0a475a0a |
children | 158eee1aeb21 |
files | trafficintelligence/traffic_engineering.py |
diffstat | 1 files changed, 10 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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)