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

Slides:



Advertisements
Similar presentations
On allocations that maximize fairness Uriel Feige Microsoft Research and Weizmann Institute.
Advertisements

1 Branch-and-Price (Column Generation) Solving Integer Programs With a Huge Number of Variables CP-AI-OR02 School on Optimization Le Croisic, France March.
Design of the fast-pick area Based on Bartholdi & Hackman, Chpt. 7.
Chapter 3 Workforce scheduling.
Mining Compressed Frequent- Pattern Sets Dong Xin, Jiawei Han, Xifeng Yan, Hong Cheng Department of Computer Science University of Illinois at Urbana-Champaign.
Leena Suhl University of Paderborn, Germany
Branch-and-Bound In this handout,  Summary of branch-and-bound for integer programs Updating the lower and upper bounds for OPT(IP) Summary of fathoming.
The Greedy Method1. 2 Outline and Reading The Greedy Method Technique (§5.1) Fractional Knapsack Problem (§5.1.1) Task Scheduling (§5.1.2) Minimum Spanning.
Chapter 5 Fundamental Algorithm Design Techniques.
Approximation Algorithms for Capacitated Set Cover Ravishankar Krishnaswamy (joint work with Nikhil Bansal and Barna Saha)
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Branch & Bound Algorithms
Crew Scheduling Housos Efthymios, Professor Computer Systems Laboratory (CSL) Electrical & Computer Engineering University of Patras.
Introduction to Linear and Integer Programming
CrewGroups and MovementPlanner - Two Applications Using Constraint Programming Presentation at SweConsNet´02 Tomas Lidén Carmen Consulting AB
Dealing with NP-Complete Problems
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 1 Ryan Kinworthy CSCE Advanced Constraint Processing.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
[1][1][1][1] Lecture 5-7: Cell Planning of Cellular Networks June 22 + July 6, Introduction to Algorithmic Wireless Communications David Amzallag.
Dynamic lot sizing and tool management in automated manufacturing systems M. Selim Aktürk, Siraceddin Önen presented by Zümbül Bulut.
Fundamental Techniques
LP formulation of Economic Dispatch
Airline Schedule Optimization (Fleet Assignment II) Saba Neyshabouri.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
Decision Procedures An Algorithmic Point of View
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
CARMEN CONSULTING OPTIMIZATION MATTERS CrewGroups Recent Development and Plans for the Future Presentation at SweConsNet´03 Tomas Lidén Carmen Consulting.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
5-1-1 CSC401 – Analysis of Algorithms Chapter 5--1 The Greedy Method Objectives Introduce the Brute Force method and the Greedy Method Compare the solutions.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Iterative Improvement Algorithm 2012/03/20. Outline Local Search Algorithms Hill-Climbing Search Simulated Annealing Search Local Beam Search Genetic.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
15-853:Algorithms in the Real World
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Integer Programming Li Xiaolei. Introduction to Integer Programming An IP in which all variables are required to be integers is called a pure integer.
1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Quality of LP-based Approximations for Highly Combinatorial Problems Lucian Leahu and Carla Gomes Computer Science Department Cornell University.
A local search algorithm with repair procedure for the Roadef 2010 challenge Lauri Ahlroth, André Schumacher, Henri Tokola
M Tech Project – First Stage Improving Branch-And-Price Algorithms For Solving 1D Cutting Stock Problem Soumitra Pal [ ]
Optimization Problems
Log Truck Scheduling Problem
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
ARTIFICIAL INTELLIGENCE (CS 461D) Princess Nora University Faculty of Computer & Information Systems.
Dominance and Indifference in Airline Planning Decisions NEXTOR Conference: INFORMS Aviation Session June 2 – 5, 2003 Amy Mainville Cohn, KoMing Liu, and.
Optimization in Engineering Design 1 Introduction to Non-Linear Optimization.
Airline Optimization Problems Constraint Technologies International
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Linear Programming Piyush Kumar Welcome to CIS5930.
Data Driven Resource Allocation for Distributed Learning
Constructing Robust Crew Schedules with Bicriteria Optimisation
The minimum cost flow problem
The CPLEX Library: Mixed Integer Programming
1.206J/16.77J/ESD.215J Airline Schedule Planning
Introduction to Operations Research
Manpower Planning: Task Scheduling
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
1.206J/16.77J/ESD.215J Airline Schedule Planning
1.206J/16.77J/ESD.215J Airline Schedule Planning
Chapter 6. Large Scale Optimization
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
Presentation transcript:

Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB In cooperation with Tomas Lidén

Outline Introduction and Problem Formulation Constraint Programming (CP) version Column Generation (CG) version Computational results Conclusions

Roster Group repr. Copy roster to all in group Resolve “drop-out” pairings Airline Crew Scheduling Minimize exceptions after copy! Pairing Rostering Anonymous tour-of-duties starting and ending at home-base Individual schedules Group Construction Set of Groups -Buddy Bids -Incompatibles -Experience level -Days off -Preassignments -Historic values -Work reduction Due to: Group schedules 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: crew in each problem, Giving groups (3-13 persons per group) Introduction, Problem Formulation

Problem Structure when Constructing a Group Group Crew Input dataOne per buddy bid, single purser and cabin attendant - aggregated data, checks on bids One Group per purser -cost function and most constraints defined here SubGroup Set variables Days handled with set variables. All other aspects handled with integer variables. Cost and constraints applied on these variables. Introduction, Problem Formulation

Factors to handle ObjectiveConstraintDecember considerations Buddy bids (closed) Always respect Always use Split due to day32 IncompatiblesNever combine InexperiencedMax nr per group Days offMatchMax nr of granted No illegal patterns PreassignmentsMatchDay32 very important – rejoinings are favored Historic valuesMatch pos/neg Work reductionMatchLess 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 Group Non-additive Days [1,32] Bid Very costly if X<>Y. Rejoinings (X=Y) not so costly Sg X Sg 2Y Sg Group Sequence must be surrounded by 3 untouched days. { } { } Introduction, Problem Formulation

Handling of Work Reduction SizeWork Reduction Subgroup 1(purser) Subgroup 2 Subgroup % 25% 0 Group650% Never higher than the purser (constraint) Inhomogenous Will give cost 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() Initial solution + global refinement Global search for cheaper solution Local search for cheaper solution

Search techniques Greedy Depth First Standard heuristic 1.Select variable (group) 2.Select and assign value (sg) Selection order a tradeoff between quality and feasibility Strength: +Fast to find first solution. Weaknesses: –Many factors to consider –Each new factor affects the search algorithm –Special version for December. Hard to handle rejoinings. Complete enumeration: –Pick groups pair wise (in cost order) –Evaluate all possible solutions with used set of sg’s –Continue with best Repeated until no improvement Strengths: +No problem consideration +Efficient in decreasing cost Weaknesses: –Time-consuming in some cases –Don’t consider unused subgroups –Can’t swap between three or more groups –Can’t get out of local minima Global search Local search Constraint Programming Version

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 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-branch Ban col’s with only one of the two sg’s 0-branch Ban col’s with both sg’s Column Generation Version

x A Constraint Branching Compute fractional sum f for pairs of subgroups (partitioning constraints) Choose a pair Apply branch 1-branch = ban columns with one of the two present 0-branch = ban columns with both present Strategy for Choosing pair Applying 1/0-branch Quickly reduces the amount of columns, but more is generated. Sg-pairf …… Column Generation Version = = = = =

Solution progress CP –starts bad and decreases evenly CG –starts good and decreases slowly 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 groups Total cost Σc j Execution time (min) CPCGCG-CP MD87 (size 3) /0.07/0.07* % -3.6/-3.6/-3.6 min A320 (size 4) /0.15/ % -14.1/-14.1/-14.0 min B757 (size 5) /4.27/ groups -2.6% -1.5/+2.7/+2.7 min A340 (size 10) /61.1/ groups -3.6% +4.6/+52.1/+52.1 min B747 (size 13) /30.1/ groups -6.5% -1.4/+27.9/+27.9 min T max = 60 min * First/Best/Total

December Instances Num groups Total cost Σc j Execution time (min) CPCGCG-CP MD87 (size 3) /0.18/ % -3.7/-3.7/+26.2 min A320 (size 4) /55.0/ % -29.6/+23.0/+23.0 min B757 (size 5) /15.2/ % -1.3/+12.8/+12.9 min A340 (size 10) /70.5/ % -16.5/+2.9/ min B747 (size 13) /129.9/ % -0.0/+129/+129 min B747 size(13) Crew shortage /181.5/ /+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 T max = 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

END Thank you for your attention! Questions?