COMS 482: unofficial class blog

Lecture 19: Airline Scheduling Problem

Posted in Class Notes by Elliott Back on March 7th, 2005.

Inputs:

  • Set of flights to cover
  • Pairs of flights that can use the same plane
  • Set of k planes

Output:

  • Schedule showing how to use our k planes to cover the flights

Flow graph G:

    vertices = source, sink

    foreach flight i, start ui & dest vi
        1) foreach flight i, an edge (ui, vi) with capacity 1 and lower bound 1. We want to cover each flight.
        2) foreach flight i and j such that j is “reachable” from i, we have an edge (ui, vi) with capacity 1 and lower bound 0. We want to reuse a plane if possible.
        3) foreach flight i, an edge (s, ui) with capacity 1 and lower bound 0, so that a plane can start its day on any flight.
        4) foreach flight j, and edge (vj, t) with capacity 1 and lower bound 0, so that a plane can end its day anywhere.
        5) an edge (s,t) with capacity k and lower bound 0, so that we don’t have to use all the planes.

Airline scheduling with network flow

Algorithm:
    Construct G
    Find circulation

“There exists a feasible circulation iff there exists a valid schedule”

Pf(=>): Assume a feasible circulation, meaning each flight is covered by lowe bound on 1. We can read off the schedule by finding edges with flow 1.

Pf(=<): Assume a valid schedule. The schedule can be used to define a circulation. A valid schedule implies all flights are covered which implies that all lower bounds are satisfied.

This entry was posted on Monday, March 7th, 2005 at 12:06 pm and is tagged with amp nbsp, flow graph, source sink, flow 1, vertices, vj, dest, circulation, planes, algorithm, ui, pairs, lowe, lt, flights, airline. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback.

Leave a Reply

Powered by WP Hashcash