160 likes | 250 Views
Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price. Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com In cooperation with Tomas Lidén. Outline. Introduction and Problem Formulation
E N D
Group Construction for Cabin CrewComparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com In cooperation with Tomas Lidén
Outline • Introduction and Problem Formulation • Constraint Programming (CP) version • Column Generation (CG) version • Computational results • Conclusions
Group schedules Group Construction Set of Groups • Buddy Bids • Incompatibles • Experience level Due to: Roster Group repr. Copy roster to all in group Resolve “drop-out” pairings • Days off • Preassignments • Historic values • Work reduction Airline Crew Scheduling Minimize exceptions after copy! Anonymous tour-of-duties starting and ending at home-base Pairing Individual schedules Rostering Introduction, Problem Formulation
CrewGroups • Problem: Construct “homogenous” groupsJan-Nov: Minimum number of groups at min. costDec: Maximum number of groups at min. cost • Application: Developed during 2001 for IberiaCP version in production since 2002CG version delivered 2004 • Dimensions: 300-1200 crew in each problem,Giving 30-200 groups (3-13 persons per group) Introduction, Problem Formulation
Sequence must be surrounded by 3 untouched days. {8 10 11 12} {6 10 11 12} Factors to handle Non-additive Introduction, Problem Formulation
Initial solution + global refinement Global search for cheaper solution Local search for cheaper solution CP Model with three-step solving • One customized constraint – NoIllegalPattern() • Two global constraints: • Use all buddy bids, SubsetEq() • No overlap, AllNullIntersect() Constraint Programming Version
Buddy bids Other subgroups Construct one IP feasible solution. Generate initial set of columns. Set-up initial problem matrix Pricing Generate col’s with negative reduced cost. Constraint branching (pairs of subgroups). Branch & Price CG Model with three-step solving A column corresponds to one legal group alternative Solving LP relaxation – called the restricted master problem. Branch & Price to get integer solutions. Column Generation Version
Generation tree Pricing • Very large tree • Depth First Search with pruning for: • Cost: When LB on reduced cost shows we can’t improve LP value (possible since duals are ordered) • Pattern: When needed additions for NoIllegalPattern() not among remaining subgroups • Search modifications: • Return to top for better coverage • Limited nr of backtracks (BBS) • Time limits etc. Sg = { .. , .. , .. , .. , .. , .. , .. , .. } Duals= { + , .. , + , 0 , .. , 0 , - , .. } Column Generation Version
Branch & Price 1-branch Ban col’s with only one of the two sg’s 0-branch Ban col’s with both sg’s • Constraint branching (Ryan, Foster) on pairs of subgroups. • Perform pricing in both branches. • Price according to all branching decisions • Fathom without complete enumeration of generation tree. Branching tree Column Generation Version
Solution progress • CP • starts bad and decreases evenly • CG • starts good and decreases slowly Computational results
Normal Instances (Jan-Nov) • CG produces better quality • Less number of groups • Small fleets solved faster, but large ones slower Tmax = 60 min * First/Best/Total Computational results
December Instances • CG produces better quality • Except when crew shortage • Always good day32 matching • Small fleets reasonably fast, large ones slow • Large fleets tuned for generating less and branching more Tmax = 180 min Computational results
Problem Properties • Optimization problem • Many constraints but few are global • Weak domain reduction • Hence not a feasibility problem • Challenges • Set Partitioning with no natural ordering. Instead multiple factors with no correlation • Non-additive cost factors • Weak domain reduction from constraints Conclusions
Ease of modeling Quick development Several unexplored techniques: Mirrored formulation Tabu search or other meta-heuristic Search heuristic highly adopted to problem Better quality Better or similar performance Advanced techniques and careful tuning needed CP versus CG Conclusions
Possible future directions • Reformulation of cost factors • Hybrid formulations • CP based pricing Conclusions
END Thank you for your attention! Questions?