Source code for ts_core.optimization.optimizer_example

#!/usr/bin/env python

import time
from ts_core.execution.Rolodex import Rolodex
    
[docs]class OptimizerExample(): def __init__(self): #(context, attribute label, [id list], sampling frequency) # attributes = [ # ('edge','',[],1), # ('gui','',[],1), # ('induction loop','',[],1), # ('junction','',[],1), # ('lane','',[],1), # ('lane area','',[],1), # ('multi-entry-exit detector','',[],1), # ('person','',[],1), # ('poi','',[],1), # ('polygon','',[],1), # ('route','',[],1), # ('simulation','',[],1), # ('traffic light','',[],1), # ('vehicle','',[],1), # ('vehicle type','',[],1) ] self.attributes = [ ('vehicle','road id',[],1), ('vehicle','lane position',[],1), ('lane', 'waiting time', [],1) ] self.rolodex = Rolodex(attributes=self.attributes, buffer_length=10)
[docs] def train(self, tick_num): if tick_num > 280: time.sleep(0.5) #input('continue?') self.rolodex.update_subscription_buffers(tick_num) print('\n\nLane domain buffer data:\n{}'.format(self.rolodex.buffers['lane'].buffer))
# print('\n\nVehicle domain buffer data:')#\n{}'.format(self.rolodex.buffers['vehicle'].buffer)) # for vehicle in self.rolodex.buffers['vehicle'].buffer: # print('Vehicle ID {}:'.format(vehicle)) # for tick in self.rolodex.buffers['vehicle'].buffer[vehicle]: # print('Simulation tick #{}: {}'.format(tick, self.rolodex.buffers['vehicle'].buffer[vehicle][tick]))