def execute(): sink.init(config.sink_dir) # Construct flight list (for aircraft lookup) planes = generators.get_via_stdin() runs = 10 for i in xrange(1, runs + 1): # Construct flight list once more for the sim runs # Very little performance drawback due to caching single_run(generators.get_via_stdin()) print 'Completed run %d of %d...' % (i, runs) #print calibrate.vars rows = [] for label, value in calibrate.vars.items(): # Lookup of aircraft belonging to key plane = next((a for a in planes if a.label == label), None) rows.append([ plane.departure_time_scheduled, label, '%s-%s' % (plane.origin, plane.destination), plane.aircraft_type, '%.2f' % value ]) sink.dump_rows(rows)
def single_run(): sim.init() aircraft_handlers.init() formation_handlers.init() statistics.init() #plot.init() # Construct flight list planes = generators.get_via_stdin() # Find hubs config.hubs = builders.build_hubs(planes, config.count_hubs, config.Z) # Register hub arrivals to determine flow rates listeners.init(config.hubs) # Allocate hubs to flights allocators.allocate(planes, config.hubs) for flight in planes: sim.events.append(sim.Event('aircraft-init', flight, 0)) sim.run() debug.print_dictionary(statistics.vars)
def single_run(): sim.init() aircraft_handlers.init() formation_handlers.init() statistics.init() #plot.init() # Construct flight list planes = generators.get_via_stdin() #planes = generators.get_manual() if len(planes) > 0: # Find hubs config.hubs = builders.build_hubs(planes, config.count_hubs, config.Z) # Allocate hubs to flights allocators.allocate(planes, config.hubs) for flight in planes: sim.events.append(sim.Event('aircraft-init', flight, 0)) sim.run() sink.push(statistics.vars) debug.print_dictionary(statistics.vars)
def single_run(): sim.init() aircraft_handlers.init() formation_handlers.init() statistics.init() # Construct flight list config.planes = generators.get_via_stdin() # Find hubs config.hubs = builders.build_hubs(config.planes, config.count_hubs, config.Z) # Allocate hubs to flights allocators.allocate(config.planes, config.hubs) for flight in config.planes: sim.events.append(sim.Event('aircraft-init', flight, 0)) sim.run() debug.print_dictionary(statistics.vars) return statistics.vars['fuel_saved'], statistics.vars['fuel_saved_abs']
def execute(): print 'init sink %s' % config.sink_dir sink.init(config.sink_dir) for hub in config.hubs: print 'Progress: %d of %d iterations' % ( config.hubs.index(hub)+1, len(config.hubs) ) sim.init() aircraft_handlers.init() formation_handlers.init() statistics.init() # Construct flight list planes = generators.get_via_stdin() # Allocate hubs to flights for flight in planes: # Assign hub by injecting into route flight.route.waypoints = [ flight.route.waypoints[0], hub, flight.route.waypoints[1] ] flight.route.init_segments() for flight in planes: sim.events.append(sim.Event('aircraft-init', flight, 0)) sim.run() # Prepare data matrix d = { 'hub_lat' : hub.lat, 'hub_lon' : hub.lon, 'distance_total' : float(statistics.vars['distance_total']), 'distance_formation' : float(statistics.vars['distance_formation']), 'distance_solo' : float(statistics.vars['distance_solo']), 'formation_count' : float(statistics.vars['formation_count']), 'formation_success_rate' : float(statistics.vars['formation_success_rate']), 'alpha_eff' : float(statistics.vars['alpha_effective']), 'distance_success_rate' : float(statistics.vars['distance_success_rate']), 'avg_formation_size' : float(statistics.vars['avg_formation_size']), 'fuel_saved' : float(statistics.vars['fuel_saved']), 'distance_penalty' : float(statistics.vars['distance_penalty']), } sink.push(d) debug.print_dictionary(d)
def execute(): # Construct flight list planes = generators.get_via_stdin() hubs = [] origins = [] destinations = [] for plane in planes: origins.append(plane.origin) destinations.append(plane.destination) print midpoint(origins) print midpoint(destinations)
def execute(): print 'init sink %s' % config.sink_dir sink.init(config.sink_dir) for hub in config.hubs: print 'Progress: %d of %d iterations' % (config.hubs.index(hub) + 1, len(config.hubs)) sim.init() aircraft_handlers.init() formation_handlers.init() statistics.init() # Construct flight list planes = generators.get_via_stdin() # Allocate hubs to flights for flight in planes: # Assign hub by injecting into route flight.route.waypoints = [ flight.route.waypoints[0], hub, flight.route.waypoints[1] ] flight.route.init_segments() for flight in planes: sim.events.append(sim.Event('aircraft-init', flight, 0)) sim.run() # Prepare data matrix d = { 'hub_lat': hub.lat, 'hub_lon': hub.lon, 'distance_total': float(statistics.vars['distance_total']), 'distance_formation': float(statistics.vars['distance_formation']), 'distance_solo': float(statistics.vars['distance_solo']), 'formation_count': float(statistics.vars['formation_count']), 'formation_success_rate': float(statistics.vars['formation_success_rate']), 'alpha_eff': float(statistics.vars['alpha_effective']), 'distance_success_rate': float(statistics.vars['distance_success_rate']), 'avg_formation_size': float(statistics.vars['avg_formation_size']), 'fuel_saved': float(statistics.vars['fuel_saved']), 'distance_penalty': float(statistics.vars['distance_penalty']), } sink.push(d) debug.print_dictionary(d)