Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
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']
Example #7
0
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)
Example #8
0
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)
Example #9
0
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)
Example #10
0
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']
Example #11
0
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)