16
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

Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB [email protected]

Embed Size (px)

Citation preview

Page 1: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 2: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

Outline

• Introduction and Problem Formulation

• Constraint Programming (CP) version

• Column Generation (CG) version

• Computational results

• Conclusions

Page 3: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 4: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 5: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 6: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 7: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 8: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 9: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 10: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 11: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 12: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 13: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 14: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

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

Page 15: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

Possible future directions

• Reformulation of cost factors

• Hybrid formulations

• CP based pricing

Conclusions

Page 16: Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB Jesper.hansen@carmensystems.com

ENDThank you for your attention!

Questions?