Title: CrewGroups Recent Development and Plans for the Future
1CrewGroupsRecent Development and Plans for the
Future
- Presentation at SweConsNet03
- Tomas Lidén
- Carmen Consulting AB
- tomas.liden_at_carmenconsulting.com
2Outline
- Introduction
- Constraints and costs
- Program flow, search algorithm
- Discussion, future plans
3Background
- Normal scheduling (rostering)
- - Each flight has different crew
- Greater flexibility
- Group scheduling (rostering)
- Same crew fly together for a month
- - Less flexibility
4CrewGroups on One Page
- Problem Construct homogenous groups (flight
cabin crew) - Characteristics Assignment, non-additive costs
- Developed during 2001 for IberiaIn production
since spring 2002Further developed regarding
December functionality in fall 2002 - Currently a CP application using ILOG Solver with
set variables, one customized constraint, global
local search - Thesis work on alternative techniques. Column
generation yields better performance and slightly
better solution quality. Porting currently
discussed (without CP).
5Structure
Group
Days handled with set variables. Historic values
handled with integer variables. Cost and
constraints applied on the above
variables. Normally construct min nr of groups,
but in December construct all possible
6Assignment Constraints
- Crew in buddy bid always assigned to a group
- Crew in buddy bid always kept together
- Exception in December
- Do not combine certain crew (anti bids)
7Simple Constraints
- Max nr of inexperienced per group
- Max nr of crew in transition course
- etc
8Handling of Days
- Consider size? Normally no December yes
- Constraint for max nr of days off
- Pattern constraint for days off ( _ _ _ x..x _ _
_ ) - Analogue handling of days with preassigned duties
9Handling of Historic Values
10Handling of Work Reduction
- Size not considered
- Never higher than the purser (constraint)
11Special handling in December - 1
- Day 32 (Jan 1st) considered for fairness work
over Christmas and New Years Eve. - Buddy bids split due to day 32
- Much lower cost if split bids are rejoined in
same group ( X Y )
12Special handling in December - 2
13Program flow - Solve problem
Add hard constraints and find solution
Add/remove all additional constraints and find
solution
Global search for cheaper solution
Local search for cheaper solution
Print and analyze results
14Search heuristic, Global search
- Select a group (variable)
- Already used and buddy bids
- Factor x affecting difficulty and cost
-
- Select a subgroup (value) to assign
- Size and buddy bids
- Factor y affecting difficulty and cost
- Depth first
- Many factors to consider
- tradeoff between low cost (quality) and
difficulty (solvability) - Each new factor affects the search algorithm!
- Not clear how sensible algorithm is for different
weights
15More problems in December
- All groups must be produced longer execution
times. - Special search algorithm needed!
- Handling of rejoined bids hard. Too greedy search
will not find possible solutions. Ungreedy search
will miss good rejoinings (worse solution
quality) - A pure CP application should have a better local
search. Tabu?
16Column generation
- Benefits
- faster (4-6 times for large problems)
- better (5-10 lower cost, even more in December)
- more stable (less sensitive for weights and new
factors) - CP not needed for generation
- Constraints column legality
- Cost straightforward to calculate
- Domain reduction (for quicker generation) can
easily be implemented - Porting/rewriting considered
17Discussion, CP suitable or not?
- Initial arguments
- tricky constraints
- non-additive, non-linear cost
- unclear problem
- few possible solutions
- Current opinion
- Works ok, but not the best
- ColGen better, hybrid solver perhaps optimal
- Challenging problem for CPlocal search?
Yes, good during modelling and development
No!
18- END
- Thank you for your attention!
- Questions?