Integrating Operations Research Algorithms in Constraint Programming - PowerPoint PPT Presentation

integrating operations research algorithms in constraint programming n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Integrating Operations Research Algorithms in Constraint Programming PowerPoint Presentation
Download Presentation
Integrating Operations Research Algorithms in Constraint Programming

play fullscreen
1 / 103
Integrating Operations Research Algorithms in Constraint Programming
180 Views
Download Presentation
hagen
Download Presentation

Integrating Operations Research Algorithms in Constraint Programming

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. IntegratingOperations Research Algorithms in Constraint Programming Claude Le Pape ILOG S.A. C. Le Pape

  2. ILOG Optimization Suite ILOG OPL Studio ILOG Scheduler ILOG Dispatcher ILOG Configurator ILOG CPLEX ILOG Solver Hybrid ILOG Concert Technology C. Le Pape

  3. Outline • Introduction • Problem decomposition • Constraint propagation • Propagation of global constraints • Objective functions • What ifs • Search • Conclusion C. Le Pape

  4. Discrete Optimization(1) • A combination of choices to make (decision variables) • Distribute objects into bins (tasks to people) • Sequence and schedule tasks • Design routes between given points • Complex combination, e.g., assign deliveries of customers to trucks and drivers, schedule the deliveries for each driver, and design the routes to be followed C. Le Pape

  5. Discrete Optimization (2) • Constraints between these choices • Capacity and geometry of bins • Precedence, delays, incompatibilities between tasks • Route network topology and capacity • Complex constraints, e.g., big trucks are not allowed on Market Street from 9 to 11 a.m. on Wednesdays C. Le Pape

  6. Discrete Optimization (3) • One or more optimization criteria • Don’t spend too much (minimize cost) • Earn as much as possible (maximize income) • Don’t be late (minimize tardiness) • Don’t be early (minimize earliness) • Don’t take risks (quality, security, robustness) • Make sure everybody is happy (satisfaction and equilibrium between individual preferences) C. Le Pape

  7. Mathematical Model (1) • Mathematical definition of variables • Decision variables • Intermediate variables • Optimization variables • Mathematical definition of constraints • Mathematical definition of solutions: assignments of values to variables that satisfy the constraints C. Le Pape

  8. Mathematical Model (2) • Mathematical definition of an ordering relation between solutions • Often a partial definition: some elements of comparison often lie in the head of the user • Mathematical definition of optimal solutions: solutions that are not dominated according to the ordering relation C. Le Pape

  9. Problem Solving • Three main classes of techniques • Linear Programming and Mixed Integer Programming • Constraint Programming • Local Search C. Le Pape

  10. Mixed Integer Programming (1) • Explicit problem definition • Linear constraints • Real (floating point) and integer variables • One optimization criterion • Separation between problem definition and problem solving • The continuous relaxation (when fractional values are allowed for integer variables) is solvable in polynomial time • Bound on optimization criterion • Guidance for solving the MIP problem by branch-and-bound (rounding, cuts, …) C. Le Pape

  11. Mixed Integer Programming (2) C. Le Pape

  12. Mixed Integer Programming (3) C. Le Pape

  13. Mixed Integer Programming (4) C. Le Pape

  14. Mixed Integer Programming (5) C. Le Pape

  15. Mixed Integer Programming (6) C. Le Pape

  16. Mixed Integer Programming (7) C. Le Pape

  17. Mixed Integer Programming (8) C. Le Pape

  18. Mixed Integer Programming (9) C. Le Pape

  19. Example in OPL Studio (1) range Boolean 0..1; int fixed = ...; enum Warehouses ...; int nbStores = ...; range Stores 0..nbStores-1; int capacity[Warehouses] = ...; int supplyCost[Stores,Warehouses] = ...; var Boolean open[Warehouses]; var Boolean supply[Stores,Warehouses]; C. Le Pape

  20. Example in OPL Studio (2) minimize sum(w in Warehouses) fixed * open[w] + sum(w in Warehouses, s in Stores) supplyCost[s,w] * supply[s,w] subject to { forall(s in Stores) sum(w in Warehouses) supply[s,w] = 1; forall(w in Warehouses, s in Stores) supply[s,w] <= open[w]; forall(w in Warehouses) sum(s in Stores) supply[s,w] <= capacity[w]; }; C. Le Pape

  21. Constraint Programming • Explicit problem definition • Separation between problem definition and problem solving • Systematic deduction of the consequences of made decisions (constraint propagation) Partial constraint propagation è development of heuristic search algorithms to generate and optimize solutions • Incremental constraint propagation (with global fix point semantics) • Localized definition of the constraint propagation process (each constraint propagates independently of other constraints) è many different types of constraints viewed as as many sub-problems C. Le Pape

  22. Problem specification or partial solution in terms of constraints Constraint Programming New constraints (decisions) Problem definition Decision-making (and retracting) Initial constraints Dynamic changes Constraint propagation Deduced constraints Contradictions C. Le Pape

  23. x in [2..3] y in [1..2] z in [1..3] x - y = 1 x in [2..3] y in [1..2] z in [2..3] y < z x in [2..3] y in [1..2] z in [2..3] x != z Example: Propagation Variables: x in [1..3]y in [1..3]z in [1..3] Constraints:x - y = 1y < z x != z C. Le Pape

  24. x = 3 y = 2 z = 3 FAILURE y = 2 Backtrack x = 2 y = 1 z = 3 y = 1 Example: Decision-Making Variables: x in [2..3]y in [1..2]z in [2..3] Constraints: x - y = 1 y < z x != z C. Le Pape

  25. Example in OPL Studio (1) int fixed = ...; int nbStores = ...; enum Warehouses ...; range Stores 0..nbStores-1; int capacity[Warehouses] = ...; int supplyCost[Stores,Warehouses] = ...; int maxCost = max(s in Stores,w in Warehouses) supplyCost[s,w]; var int open[Warehouses] in 0..1; var Warehouses supplier[Stores]; var int cost[Stores] in 0..maxCost; C. Le Pape

  26. Example in OPL Studio (2) minimize sum(s in Stores) cost[s] + sum(w in Warehouses) fixed * open[w] subject to { forall(s in Stores) cost[s] = supplyCost[s,supplier[s]]; forall(s in Stores ) open[supplier[s]] = 1; forall(w in Warehouses) sum(s in Stores) (supplier[s] = w) <= capacity[w]; }; C. Le Pape

  27. Example in OPL Studio (3) search { forall(s in Storesordered by decreasing regretdmin(cost[s])) tryall(w in Warehouses ordered by increasing supplyCost[s,w]) supplier[s] = w; generateSeq(open); }; C. Le Pape

  28. Incrementality Principle (1) Masonry (7) Carpentry (3) Roofing (1) Plumbing (8) Ceilings (3) Windows (1) Facade (2) Garden (1) Painting (2) Moving (1) C. Le Pape

  29. G. M. Incrementality Principle (2) 0 5 10 15 20 Masonry Plumbing Carpentry R. W. Ceilings Facade Paint. C. Le Pape

  30. Incrementality Principle (3) • "Plumber" = "Roofer" • Solution: Order "Plumbing" and "Roofing" • Heuristic choice For example, "Plumbing" before "Roofing" C. Le Pape

  31. 0 5 10 15 20 Masonry Plumbing Carpentry R. W. Ceilings Facade G. Paint. M. Incrementality Principle (4) C. Le Pape

  32. G. M. Incrementality Principle (5) 0 5 10 15 20 Masonry Plumbing Carpentry R. W. Ceilings Facade Paint. C. Le Pape

  33. W. G. Incrementality Principle (6) 0 5 10 15 20 Masonry Plumbing Carpentry R. Ceilings Facade Paint. M. C. Le Pape

  34. W. G. M. Incrementality Principle (7) 0 5 10 15 20 Masonry Plumbing Carpentry R. Ceilings Facade Paint. C. Le Pape

  35. Incrementality Principle (8) Constraint propagation consists in incrementally updating characteristics of a partial problem solution when an additional constraint is added These characteristics may be: • indicators of contradictions • domains of variables (relational propagation) • the overall set of constraints (logic/algebraic propagation) C. Le Pape

  36. Incrementality Principle (9) Particular case: arc-consistency A constraint propagation technique enforces arc-consistency if and only if when propagation stops the following statement holds: for every constraint c(v1 ... vn) for every variable vi for every value vali in the domain of vi there are values val1 ... vali-1 vali+1 ... valn in the domains of v1 ... vi-1 vi+1 ... vn such that val1 ... vali-1 vali vali+1 ... valn satisfy c Considering a constraint as a sub-problem, arc-consistency consists of removing all the values that do not belong to any solution of the sub-problem C. Le Pape

  37. Incrementality Principle (10) Non-monotonic constraint propagation consists in incrementally updating characteristics of a partial problem solution when a constraint is added or retracted Non-monotonic constraint propagation implies the cancellation (hence the identification) of the consequences of the retracted constraints Non-monotonic constraint propagation is not used as much as "monotonic" constraint propagation (for complexity reasons) C. Le Pape

  38. Locality Principle (1) • Each constraint (or constraint type) "includes" all the information necessary to enable its propagation and, in particular, to determine whether it is satisfied or not as soon as all its variables are instantiated • The constraint propagation methods associated with a constraint (or constraint type) are a priori independent of the methods associated with other constraints C. Le Pape

  39. Locality Principle (2) • Example: temporal constraints and resource constraints • User: "Plumber" = "Roofer" • User: "Moving" must end before 20 • Temporal constraint: "Plumbing" must end before 17 • Disjunctive resource constraint: "Plumbing" must precede "Roofing" • Temporal constraint: "Moving" cannot end before 19 C. Le Pape

  40. G. M. Locality Principle (3) 0 5 10 15 20 Masonry Plumbing Carpentry R. W. Ceilings Facade Paint. C. Le Pape

  41. Resource sub-problem Resource sub-problem Resource sub-problem Resource allocation sub-problem Cost function sub-problem Locality Principle (4) Temporal sub-problem C. Le Pape

  42. MIP/CP: Most Important Points MIP • Linear constraints • One relaxation of the global problem • Guidance from the optimal solution of the relaxed problem • Cuts • Scheduling example: hard to deal with resource constraints • CP • Any constraints • Linked relaxations of multiple sub-problems • Guidance from the possible solutions of the relaxed sub-problems • Redundant constraints • Scheduling example: hard to deal with « sum » cost functions C. Le Pape

  43. Local Search • Operators to move from solutions to other (neighbor) solutions (or from populations of solutions to populations of solutions) • Search control strategy (meta-heuristic) • Many different types: simulated annealing, tabu search, genetic algorithms, … C. Le Pape

  44. Main Issues (1) • Mixed Integer Programming • Is the continuous relaxation a good approximation of the convex envelope of the solutions? • Can the formulation of the problem be iteratively modified to make the optimal solution of the continuous relaxation converge toward the optimal solution of the initial problem? C. Le Pape

  45. Main Issues (2) • Constraint Programming • Are the critical constraints propagating well? • Is a tight bound on the optimization criterion efficiently translated (by propagation) into constraints that effectively guide the search toward a solution? C. Le Pape

  46. Main Issues (3) • Local Search • Is the neighborhood topology consistent with the optimization criterion? • Are the operators connecting (in a few steps) good solutions with better solutions, without downgrading the solution too much in intermediate steps? C. Le Pape

  47. Outline • Introduction • Problem decomposition • Constraint propagation • Propagation of global constraints • Objective functions • What ifs • Search • Conclusion C. Le Pape

  48. Sub-model 1 Solver 1 Sub-model 2 Solver 2 Sub-model 3 Solver 3 Problem Decomposition Complete model C. Le Pape

  49. Sequential Decomposition • Solve sub-problem 1 • Impose the solution of sub-problem 1 and solve sub-problem 2 • Infer characteristics of « good » solutions of sub-problem 1 • Iterate C. Le Pape

  50. Column Generation • Principle • Generate candidate solution components • Find the optimal combination of these components • Infer characteristics of « good » solution components to add • Iterate • Examples • Train scheduling • Crew scheduling • Routing C. Le Pape