Пример #1
0
 def calc_schedule_delay(self, tick):
     early_time = self.pref_timing - Time.tick2min(tick)
     late_time = Time.tick2min(tick) - self.pref_timing
     if early_time > self.penalty_buffer:
         return early_time * self.early_penalty
     if late_time > self.penalty_buffer:
         return late_time * self.late_penalty
     return 0.0
Пример #2
0
 def calc_schedule_delay(self, tick):
     early_time = self.pref_timing - Time.tick2min(tick)
     late_time  = Time.tick2min(tick) - self.pref_timing
     if early_time > self.penalty_buffer:
         return early_time * self.early_penalty
     if late_time > self.penalty_buffer:
         return late_time * self.late_penalty
     return 0.0
Пример #3
0
 def discrete_util(self, tick, elapsed=0.0):
     lower = Time.tick2min(tick) - Time.TIMEUNIT / 2.0
     upper = lower + Time.TIMEUNIT
     if tick == 0:
         util = fp.quad(self._marginal_util, [0.0, Time.TIMEUNIT/2.0]) + \
                fp.quad(self._marginal_util, [Time.TIMELENG-Time.TIMEUNIT/2.0, Time.TIMELENG])
     else:
         util = fp.quad(self._marginal_util, [lower, upper])
     return util
Пример #4
0
 def discrete_util(self, tick, elapsed=0.0):
     lower = Time.tick2min(tick) - Time.TIMEUNIT/2.0
     upper = lower + Time.TIMEUNIT
     if tick == 0:
         util = fp.quad(self._marginal_util, [0.0, Time.TIMEUNIT/2.0]) + \
                fp.quad(self._marginal_util, [Time.TIMELENG-Time.TIMEUNIT/2.0, Time.TIMELENG])
     else:
         util = fp.quad(self._marginal_util, [lower, upper])
     return util