Transcript Group Construction for Cabin Crew, Comparing CP and B&P
Group Construction for Cabin Crew
Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB [email protected]
In cooperation with Tomas Lidén
Outline • Introduction and Problem Formulation • Constraint Programming (CP) version • Column Generation (CG) version • Computational results • Conclusions
Airline Crew Scheduling
Anonymous tour-of-duties starting and ending at home-base Pairing Rostering Individual schedules Group Construction Set of Groups Group schedules - Buddy Bids - Incompatibles - Experience level Roster Group repr.
Copy roster to all in group Resolve “drop-out” pairings Minimize exceptions after copy!
Due to: - Days off - Preassignments - Historic values - Work reduction Introduction, Problem Formulation
CrewGroups
• Problem: Construct “homogenous” groups Jan-Nov: Minimum number of groups at min. cost Dec: Maximum number of groups at min. cost • Application: Developed during 2001 for Iberia CP version in production since 2002 CG version delivered 2004 • Dimensions: 300-1200 crew in each problem, Giving 30-200 groups (3-13 persons per group) Introduction, Problem Formulation
Sg 1 Sg 2 Sg 3 Group Buddy bids (closed) Days [1,32] 5 6 7 8 5 6 5 6 7 8 17 18 17 18 Match towards purser if having
Factors to handle
subgroup with max nr of days December considerations Sequence must be surrounded by 3 untouched days.
{8 10 11 12} {6 10 11 12} Objective Constraint Split due to day32 Always respect Always use Days [1,32] Bid Incompatibles Inexperienced Never combine Max nr per group Very costly if X<>Y. Rejoinings (X=Y) not so costly Days off Match Max nr of granted No illegal patterns Sg 1 Sg 2 Sg 3 28 29 30 31 32 28 29 30 31 32 X Y - Group 28 29 30 31 32 Preassignments Match Day32 very important – rejoinings are favored Historic values Match pos/neg Match Work reduction Less or same as purser Non-additive Introduction, Problem Formulation
CP Model with three-step solving
• One customized constraint –
NoIllegalPattern()
• Two global constraints: • Use all buddy bids, S
ubsetEq() S B
j s j
• No overlap,
AllNullIntersect()
j s j
Initial solution + global refinement Global search for cheaper solution Local search for cheaper solution Constraint Programming Version
CG Model with three-step solving
min
j
G
M
c j
x j s
.
t
.
j
G a ij x j
1 ,
j
G x j a ij x j
, 1 ,
i
S B
i
S C j
G
A column corresponds to one legal group alternative Buddy bids Other subgroups Solving LP relaxation – called the restricted master problem.
Branch & Price to get integer solutions.
Set-up initial problem matrix Pricing Branch & Price Construct one IP feasible solution.
Generate initial set of columns.
Generate col’s with negative reduced cost.
Constraint branching (pairs of subgroups).
Column Generation Version
Sg = { .. , .. , .. , .. , .. , .. , .. , .. } Duals= { + , .. , + , 0 , .. , 0 , - , .. } 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.
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 Branching tree • 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.
Column Generation Version
Solution progress
A320, December
5500 5000 4500 4000 3500 3000 2500 0 10 20 30 40
Tim e (m in)
50 60 70 CP CG • CP – starts bad and decreases evenly • CG – starts good and decreases slowly
B747, December
900 800 700 600 500 400 300 200 0,0 0,5 1,0 1,5 2,0
Tim e (m in)
2,5 3,0 3,5 CP CG Computational results
Normal Instances (Jan-Nov)
Num groups Total cost Σc
j
Execution time (min) MD87 (size 3) A320 (size 4) B757 (size 5) A340 (size 10) B747 (size 13) CP 104 985.278
3.7
150 1.966.488
14.2
38 437.446
1.5
82 521.000
9.1
30 476.335
2.2
CG 104 870.356
0.07/0.07/0.07* 150 1.643.148
0.15/0.15/0.17
35 425.913
0.05/4.27/4.27
73 502.000
13.6/61.1/61.1
26 445.554
0.8/30.1/30.1
T max = 60 min * First/Best/Total CG-CP -11.7 % -3.6/-3.6/-3.6 min -16.4% -14.1/-14.1/-14.0 min -3 groups -2.6% -1.5/+2.7/+2.7 min -9 groups -3.6% +4.6/+52.1/+52.1 min -4 groups -6.5% -1.4/+27.9/+27.9 min • CG produces better quality – Less number of groups • Small fleets solved faster, but large ones slower Computational results
December Instances
Num groups Total cost Σc
j
Execution time (min) MD87 (size 3) A320 (size 4) B757 (size 5) A340 (size 10) B747 (size 13) B747 size(13) Crew shortage CP 120 148.966
3.9
198 3.309.710
32.0
68 249.204
2.4
110 560.935
67.6
31 285.880
1.3
39 909.892
4.6
CG 120 113.985
0.18/0.18/30.1
198 3.042.610
2.4/55.0/55.0
68 173.245
1.1/15.2/15.3
110 470.909
51.0/70.5/181.1
31 241.046
1.3/129.9/129.9
39 1.076.933
76.9/181.5/181.5
CG-CP -23.5% -3.7/-3.7/+26.2 min -8.1% -29.6/+23.0/+23.0 min -30.5% -1.3/+12.8/+12.9 min -16.0% -16.5/+2.9/+113.5 min -15.7% -0.0/+129/+129 min
+18.4
+72.3/+177/+177 min T max = 180 min • 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 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
CP versus CG
+ 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 Conclusions
Possible future directions • Reformulation of cost factors • Hybrid formulations • CP based pricing
Conclusions
END Thank you for your attention!
Questions?