Systèmes d’aide à la décision Integer Programming, Formulation M2 GSI, 2011-2012 Ayse AKBALIK & Christophe RAPINE 1 Course outline 0-1 Integer Programs Plan 1 Course outline 2 Some 0-1 integer programs 2 Course outline 0-1 Integer Programs Integer programming - Outline Theory of integer programming through real world-based problems How to reformulate these problems to obtain better results ? How one can use mixed integer programs more effectively ? Which commercial softwares are available in this domain and how to use them efficiently ? 3 Course outline 0-1 Integer Programs Integer programming - Outline Modeling part : Various problems modeling with IP Exercises on lot sizing problem extensions Production planning problems, cutting problems, telecommunication and network problems, assignment, knapsack and bin-packing problems, traveling salesman problem, lot sizing extensions, etc... 4 Course outline 0-1 Integer Programs Integer programming - Outline Software requirements Xpress optimization suite IBM ILOG Cplex Optimization Studio (free trial version for 90 days) 5 Course outline 0-1 Integer Programs FICO Xpress Mosel 6 Course outline 0-1 Integer Programs Some real problems optimized with FICO Xpress American Airlines reduces costs and increases its revenues National Football League of America optimizes the playing schedule Avis Europe maximizes the use of each car in its fleet Honeywell process solutions proposes different optimization solutions by embedding FICO Xpress 7 Course outline 0-1 Integer Programs IBM ILOG Cplex 8 Course outline 0-1 Integer Programs Some real problems optimized with IBM ILOG Cplex AirFrance optimizes the plane schedules Auction system for school food services for Chilean national school lunch program Deutsche Fussball Liga, Making Soccer Available to More Fans Optimization of power generation by Powel ASA, calculates optimal production schedules for each generator Supply chain master planning solution for Plastic Goods Maker Planning and scheduling forestry operations by Latin American University 9 Course outline 0-1 Integer Programs Textbooks 1 Integer Programming, L.A. Wolsey, Wiley-Interscience 2 Production planning by mixed integer programming, Y.Pochet and L.A.Wolsey. 3 Integer and combinatorial optimization, G.L.Nemhauser and L.A.Wolsey. 10 Course outline 0-1 Integer Programs Plan 1 Course outline 2 Some 0-1 integer programs 11 Course outline 0-1 Integer Programs What is an integer program ? Suppose a linear program : max{cx : Ax ≤ b, x ≥ 0} Mixed integer program : if some but not all variables x are integer Pure integer program : if all variables are integer 0-1 (or Binary) integer program : all variables are 0 or 1 12 Course outline 0-1 Integer Programs Some 0-1 integer programs Assignment problem 0-1 Knapsack problem Bin Packing problem Set covering problem Traveling salesman problem 13 Course outline 0-1 Integer Programs Assignment problem a set of people N = {1, 2 . . . n} a set of jobs N = {1, 2 . . . n} an estimated cost cij if person i is assigned to job j find the minimum cost assignment 14 Course outline 0-1 Integer Programs Assignment formulation variables xij = 1 if i is assigned to j, 0 else P objective min i∈N,j∈N cij xij P constraints x = 1, ∀i Pj∈N ij i∈N xij = 1, ∀j xij ∈ {0, 1} ∀i, ∀j ∈ N 15 Course outline 0-1 Integer Programs Assignment applications in industry Assignment of aircraft to the flights over one period (cost on arcs) Assignment of crews to the flights over one period (preferences) Truck - inbound crossdock assignment 16 Course outline 0-1 Integer Programs 0-1 Knapsack problem a set of objects N = {1, 2 . . . n} each object has a value ui and weight wi the capacity of the knapsack to respect is W which objects to put in the knapsack to maximize the total value ? 17 Course outline 0-1 Integer Programs 0-1 Knapsack formulation variables xi = 1 if object i is chosen, 0 else P objective max i∈N ui xi P constraints i∈N wi xi ≤ W xi ∈ {0, 1} ∀i ∈ N 18 Course outline 0-1 Integer Programs Knapsack applications in industry They can be either standalone knapsack problems or some subproblems of more complex programming models. Transportation, logistics (capacity to manage and a priority on customer demand) Investment, budget allocation, financial portfolios (an initial cost and a return value) Merkle Hellman knapsack cryptosystem 19 Course outline 0-1 Integer Programs Bin Packing problem a set of objects N = {1, 2 . . . n} infinite number of boxes of capacity C each object i has a size si what is the minimum number of boxes to pack all the objects ? 20 Course outline 0-1 Integer Programs Bin Packing formulation variables yj = 1 if the box j is used, 0 else xij = 1 if object i is put into box j P objective min j∈N yj P constraints ∀i ∈ N j∈N xij = 1 P ∀j ∈ N i∈N si xij ≤ Cyj yj , xij ∈ {0, 1} ∀i, j ∈ N 21 Course outline 0-1 Integer Programs Bin Packing applications Filling up containers Loading trucks with weight capacity 22 Course outline 0-1 Integer Programs Set covering problem a set of regions M = {1, .., m} a set of potential centers N = {1, .., n} cj the cost of installing center j aij = 1 if center j services region i where to install centers to cover all the regions with min cost ? 23 Course outline 0-1 Integer Programs Set covering formulation variables xj = 1 if the center j is selected, 0 else P objective min j∈N cj xj P constraints ∀i ∈ M j∈N aij xj ≥ 1 xj ∈ {0, 1} ∀j ∈ N 24 Course outline 0-1 Integer Programs Set covering applications A very general form appearing in many complex problems Anti-virus program design Installation of emergency centers serving many regions 25 Course outline 0-1 Integer Programs Traveling salesman problem, TSP a salesman must visit each of n cities (N = {1, .., n}) exactly once and then return to its starting point cij , time (or cost) to travel from city i to city j find the less costly tour 26 Course outline 0-1 Integer Programs TSP, 1962, Procter&Gamble, 33 cities http ://www.tsp.gatech.edu/index.html 27 Course outline 0-1 Integer Programs TSP formulation variables xij = 1 if the salesman goes directly from i to j, 0 else P P objective min i∈N j∈N cij xij P constraints x =1 ∀i ∈ N Pj∈N,j6=i ij x = 1 ∀j ∈N Pi∈N,i6=j ij i∈S,j∈S xij ≤ |S| − 1, ∀S ⊂ N, 2 ≤ |S| ≤ n − 1 xij ∈ {0, 1} ∀i, j ∈ N, i 6= j 28 Course outline 0-1 Integer Programs TSP applications Transportation, logistics problem Robotic manufacturing processes Material handling, picking 29