Solution Repair/Recovery in Uncertain Optimization Environment PhD Candidate: Oumaima Khaled IBM PhD Supervisor : Xavier Ceugniet Lab PhD Supervisors: Vincent Mousseau, Michel Minoux Séminaire des doctorants 27 Novembre 2014 IBM France Lab #IBMfr100
Outline Context Problematic Tail Assignment Problem Data Generation Procedure Repair Models First proposition Next steps 2014 IBM Corporation 2
Context Organizations need to implement optimization models in order to manage their operations. Optimal solutions depend on the conditions under which it is implemented infeasible or no more optimal. Repair the optimal solution through local re-optimization 2014 IBM Corporation 3
The development of repair/recovery infrastructures Problematic Proposition of mathematical formulations for the existing problems Tail Assignment Problem Production Planning Problem A current plan with a common set of decision variables Calculate a repair solution given A number of scenarios grouping a set of frozen variables and relaxable constraints A new objective function composed of a combination of a set of Key Performance 4
Modeling Tail Assignment Tail Assignment is the problem of creating routes for a set of individual aircraft, covering a set of flights in a timetable so that various operational constraints are satisfied while minimizing some cost functions. It is generally modeled using decision variable representing x ijk!!! Need for compact modelisation! Decision Variables x ij = 1 if flight i is operated with aircraft j 0 else Size of data instance : 2600 flights and 70 aircraft 5
Modeling Contraint 1 «Flight Coverage» j T x ij = 1 i ε F T : The set of aircraft to plan F : The set of flight 6
Modeling Contraint 2 «No ferry1» x i j x i j x ij i ABEF i DEBF j ε T, k ε A\ IP j, i DEP(k) Contraint 2 «No ferry2» x i j x i j x ij 1 i ABEF i DEBF j ε T, k ε IP j, i DEP(k) IP(j) : The airport in which aircraft j is positioned at the beginning of the horizon DEP(k) : The set of flight which departs from the airport k DBEF(i,k) : The set of flight i which departs from the airport k before the departure time of the flight i ABEF(i,k) : The set of flight i which arrives to the airport k before the departure time of the flight i minus the turn time 7
Modeling Contraint 3 «Turn Time» j ε T, (i, i ) ε F x i j + x ij 1 F : The set of couple of flights (i,i ) verifying AA(i) = DA(i ) and DT(i ) - AT(i) >= 30 AA(i) : Arrival airport of the flight i DA(i) : Departure airport of the flight i AT(i) : Arrival time of the flight i DT(i) : Departure time of the flight i 8
Modeling Mathematical program min c ij x ij i F j T j T x ij = 1 i ε F s. t. x i j x i j x ij j ε T, k ε A\ IP j, i DEP(k) i ABEF i DEBF x i j x i j x ij 1 i ABEF i DEBF x i j + x ij 1 j ε T, k ε IP j, i DEP(k) j ε T, (i, i ) ε F 9
Modeling Resolution and Impementation Implementation of the assignment algorithm with OPL and Cplex Resolution time = 15 min for 2600 flights and 70 aircraft) Cash Air Projet T2&T3 10
Data Generation Procedure 1 2 Take a sample of customer data (size 2600 flights vs. 70 aircraft) Anonymize airports Define the time window during which we will extract our data (d days) Choose the number of aircraft (p aircraft; p<m with M is the number of aircraft in the current dataset) List the airports from A1 to AN ; N : number of airports 3 Anonymize aircraft List the planes from P1 to PM ; M : number of planes 4 5 6 Randomly change costs: cost := cost' * (± 5% -> 15% randomly) Vary the arrival and departure time of flights Execute Path-generation procedure p times (In this case p represents the maximum number of aircraft) Change the unit cost (cost') : Divide costs by a factor in [1..10] Choose randomly + or - Choose randomly a percentage between 5% and 15% Modify the departure time of flights by a percentage chosen randomly between [-10%, +10%] Change randomly flight durations by [-10%, +10%] Deduce arrival time of flights (arrival time = departure time + flight duration) The creation of paths is based on the selection of k-first following flights ordered according to their departure dates respecting turn time and no ferry conditions 11
Path Genenration Procedure Principle : the selection of k-first following flights ordered according to their departure dates respecting turn time and no ferry conditions Python 12
Repair Procedure 1 Proposal of compact optimization models for two study cases (Tail Assignment and Production Planning) 2 Proposal of Repair Algorithms for two study cases based on scenarios proposed by business experts 3 Generalization of repair framework 2014 IBM Corporation 13
Repair models and classification Various unexpected events occur Problem reference and optimal solution Adding / Removing constraints Modification of RHS coefficients Modification of Matrix value Tail Assignment repair scenario Modification of the objective function 14
Repair models and classification Various unexpected events occur Adding / Removing constraints Tail Assignment repair scenario Problem reference and optimal solution Modification of RHS coefficients Modification of Matrix value Modification of the objective function 15
Repair models Reference Model (P) Adding constraints First Formulation Second Formulation - Addition of the gap penalty ρ - 16
Repair framework 17
Next steps Continue repair tests on Tail Assignment Model Apply the same approach for the second case study (Production Planning) in order to generalize repair models for different applications later Formalize multi-criteria repair models taking into account user preferences 18