Group Construction for Cabin Crew, Comparing CP and B&P

Download Report

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?