Presentation on theme: "1 Building a Customized Pairing Optimizer at Spirit Airlines with Minimal Cost Ciyou Zhu at AGIFORS Crew Management Study Group Conference, May 2003."— Presentation transcript:
1 Building a Customized Pairing Optimizer at Spirit Airlines with Minimal Cost Ciyou Zhu at AGIFORS Crew Management Study Group Conference, May 2003
2 Back ground Cost cutting: a matter of paramount importance. Pairings affect crew soft time, hotel expense, fixed cost etc. Existing system: Sabre (Bornemann) CrewPlan for pairings. Other modules in use: OASIS, CrewTrac, CrewQual, FilteTrac. Experience: in building a network optimizer for revenue management.
3 Network Opt vs Pairing Opt
4 First Step: Search for Cost Saving Opportunities An optimal set of pairing: key to minimize the crew cost. Check sub-optimality: start with a manual approach. –Swap the flight legs (~100) in the pairings to reduce soft time. –Reassemble pairings with big soft time. –Keep all the flight legs being covered -- a feasible method. –One example with less cost: enough to confirm sub-optimality. Sub-optimality detected. –Total Cost = Block + Soft *Hotel.
5 Possible Source of Sub-optimality Defects in system pairing generator. Defects in optimization algorithms. Improperly set parameters by the user. Inaccuracy in formulation of work rules and contract terms. Post optimization adjustment on the system output.
6 Second Step: Optimization on NEOS -- network enabled optimization nwu & anl Put all pairings (system & manual) in one pool. Add more pairings generated in spread sheet. Formulate an IP (a set covering problem). Generate MPS file in spread sheet. Submit the MPS file to NEOS solvers (in next few slides). Receive solutions from multiple MILP solvers. –BONSAIG / FortMP / GLPK / Xpress-MP. –All get the same optimal value, but possibly different parings.
10 Cost Saving Results –Total Cost = Block + Soft *Hotel –528 basic pairings from spread sheet added to the pool for GLPK 1&2.
11 Composition of Optimized Pairing Sets
12 Generate More Pairings in Spread Sheet Generate daily (flight leg) groups with connection rules. Assemble daily groups, under the layover rules, to get multi day pairings. Key issue: converting two dimensional data to one dimensional array in spread sheet. Examples (in next two slides).
15 Pairings Outgrown the Capacity of Spreadsheet & –For a typical month. –Size of MPS in bytes.
16 Third Step: Install MILP Solvers Download, install and test MILP solvers –BonsaiG, GLPK... (in next two slides) Free software from GNU FSF (free software foundation) –no support and maintenance. (Is this a problem?) Free access to source code –a BIG advantage in customizing the optimizer! Products of latest research project. –Works extremely well (compared with some commercial software) Prompt responses from authors.
19 Forth Step: Building a Stand-alone Pairing Optimizer Convert the spreadsheet logic to c code. Formulate all the work rules and contract terms accurately. Design and develop pre/post processors. Optimize pairings to reach zero soft time, reduced hotel stay and limited duty days. Example of results (under new contract with duty rig.)
20 What We’ve Learned Monitor the system performance with a stand-alone approach. Catch cost saving opportunities by a customized pairing generator and optimizer. Make incremental movements and reap cost savings in every stage of the project. Take full advantage of free software and new research results. Feed the existing system with optimized pairings without replacing the whole system -- keep the cost minimal.