Upload
ashley-welch
View
212
Download
0
Embed Size (px)
Citation preview
Group Construction for Cabin CrewComparing Constraint Programming with Branch&Price
Presentation at SweConsNet 2005Jesper Hansen
Carmen Systems [email protected]
In cooperation with Tomas Lidén
Outline
• Introduction and Problem Formulation
• Constraint Programming (CP) version
• Column Generation (CG) version
• Computational results
• Conclusions
RosterGroup repr.
Copy rosterto all in group
Resolve“drop-out” pairings
Airline Crew Scheduling
Minimize exceptions after copy!
Pairing
Rostering
Anonymous tour-of-dutiesstarting and ending at home-base
Individualschedules
GroupConstruction Set of Groups
- Buddy Bids - Incompatibles- Experience level - Days off
- Preassignments- Historic values- Work reduction
Due to:
Groupschedules
Introduction, Problem Formulation
CrewGroups
• Problem: Construct “homogenous” groups
Jan-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
Factors to handle
Objective Constraint December considerations
Buddy bids
(closed)
Always respect
Always use
Split due to day32
Incompatibles Never combine
Inexperienced Max nr per group
Days off Match Max nr of granted
No illegal patterns
Preassignments Match Day32 very important – rejoinings are favored
Historic values Match pos/neg
Work reduction Match Less or same as purser
Days [1,32]
Match towards purser if having days, otherwise subgroup with max nr of days
Sg 1
Sg 2
Sg 3
5 6 7 8
5 6
17 18
Group 5 6 7 8 17 18
Non-additive
Days [1,32] Bid
Very costly if X<>Y.
Rejoinings (X=Y) not so
costly
Sg 1 28 29 30 31
32 X
Sg 2 Y
Sg 3 28 29 30 31
32 - -
Group 28 29 30 31
32
Sequence must be surrounded by 3 untouched days.{8 10 11 12}{6 10 11 12}
Introduction, Problem Formulation
CP Model with three-step solving
Constraint Programming Version
• One customized constraint – NoIllegalPattern()• Two global constraints:
• Use all buddy bids, SubsetEq()• No overlap, AllNullIntersect()
j
jB sS
j
js
Initial solution + global refinement
Global search for cheaper solution
Local search for cheaper solution
CG Model with three-step solving
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
Gjx
Sixa
Sixa
ts
xcM
j
C
Gjjij
B
Gjjij
Gjjj
,1,0
,1
,1
..
min
Buddy bids
Other subgroups
A column corresponds to one legal group alternative
Solving LP relaxation – called the restricted master problem.
Branch & Price to get integer solutions.
Set-up initial problem matrix
Pricing
Branch & Price
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.
Generation tree
Sg = { .. , .. , .. , .. , .. , .. , .. , .. }Duals= { + , .. , + , 0 , .. , 0 , - , .. }
Column Generation Version
Branch & Price
• 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
1-branchBan col’s with only one of the two sg’s
0-branchBan col’s with both sg’s
Column Generation Version
Solution progress
A320, December
2500
3000
3500
4000
4500
5000
5500
0 10 20 30 40 50 60 70
Time (min)
Cos
t (*1
000) CP
CG
• CP– starts bad and decreases evenly
• CG – starts good and decreases slowly
B747, December
200
300
400
500
600
700
800
900
0,0 0,5 1,0 1,5 2,0 2,5 3,0 3,5
Time (min)
Co
st (
*100
0)
CP
CG
Computational results
Normal Instances (Jan-Nov)
• CG produces better quality– Less number of
groups• Small fleets solved
faster, but large ones slower
Computational results
Num groupsTotal cost ΣcjExecution time (min) CP CG CG-CP
MD87 (size 3)
104985.2783.7
104870.3560.07/0.07/0.07*
-11.7 %-3.6/-3.6/-3.6 min
A320 (size 4)
1501.966.48814.2
1501.643.1480.15/0.15/0.17
-16.4%-14.1/-14.1/-14.0 min
B757 (size 5)
38437.4461.5
35425.9130.05/4.27/4.27
-3 groups-2.6%-1.5/+2.7/+2.7 min
A340 (size 10)
82521.0009.1
73502.00013.6/61.1/61.1
-9 groups-3.6%+4.6/+52.1/+52.1 min
B747 (size 13)
30476.3352.2
26445.5540.8/30.1/30.1
-4 groups-6.5%-1.4/+27.9/+27.9 min
Tmax = 60 min
* First/Best/Total
December Instances
Num groupsTotal cost ΣcjExecution time (min) CP CG CG-CP
MD87 (size 3)
120148.9663.9
120113.9850.18/0.18/30.1
-23.5%-3.7/-3.7/+26.2 min
A320 (size 4)
1983.309.71032.0
1983.042.6102.4/55.0/55.0
-8.1%-29.6/+23.0/+23.0 min
B757 (size 5)
68249.2042.4
68173.2451.1/15.2/15.3
-30.5%-1.3/+12.8/+12.9 min
A340 (size 10)
110560.93567.6
110470.90951.0/70.5/181.1
-16.0%-16.5/+2.9/+113.5 min
B747 (size 13)
31285.8801.3
31241.0461.3/129.9/129.9
-15.7%-0.0/+129/+129 min
B747 size(13)
Crew shortage
39909.8924.6
391.076.93376.9/181.5/181.5
+18.4+72.3/+177/+177 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
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
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
ENDThank you for your attention!
Questions?