Presentation is loading. Please wait.

Presentation is loading. Please wait.

CPAIOR02 School on OptimizationC. Le Pape1 Integrating Operations Research Algorithms in Constraint Programming Claude Le Pape ILOG S.A.

Similar presentations


Presentation on theme: "CPAIOR02 School on OptimizationC. Le Pape1 Integrating Operations Research Algorithms in Constraint Programming Claude Le Pape ILOG S.A."— Presentation transcript:

1 CPAIOR02 School on OptimizationC. Le Pape1 Integrating Operations Research Algorithms in Constraint Programming Claude Le Pape ILOG S.A.

2 CPAIOR02 School on OptimizationC. Le Pape2 ILOG Optimization Suite ILOG CPLEX CPLEX ILOG Solver ILOG Concert Technology Hybrid ILOG OPL Studio ILOG OPL Studio ILOGSchedulerILOGDispatcherILOGConfigurator

3 CPAIOR02 School on OptimizationC. Le Pape3 Outline Introduction Problem decomposition Constraint propagation –Propagation of global constraints –Objective functions –What ifs Search Conclusion

4 CPAIOR02 School on OptimizationC. Le Pape4 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

5 CPAIOR02 School on OptimizationC. Le Pape5 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

6 CPAIOR02 School on OptimizationC. Le Pape6 Discrete Optimization (3) One or more optimization criteria –Dont spend too much (minimize cost) –Earn as much as possible (maximize income) –Dont be late (minimize tardiness) –Dont be early (minimize earliness) –Dont take risks (quality, security, robustness) –Make sure everybody is happy (satisfaction and equilibrium between individual preferences)

7 CPAIOR02 School on OptimizationC. Le Pape7 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

8 CPAIOR02 School on OptimizationC. Le Pape8 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

9 CPAIOR02 School on OptimizationC. Le Pape9 Problem Solving Three main classes of techniques –Linear Programming and Mixed Integer Programming –Constraint Programming –Local Search

10 CPAIOR02 School on OptimizationC. Le Pape10 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, …)

11 CPAIOR02 School on OptimizationC. Le Pape11 Mixed Integer Programming (2)

12 CPAIOR02 School on OptimizationC. Le Pape12 Mixed Integer Programming (3)

13 CPAIOR02 School on OptimizationC. Le Pape13 Mixed Integer Programming (4)

14 CPAIOR02 School on OptimizationC. Le Pape14 Mixed Integer Programming (5)

15 CPAIOR02 School on OptimizationC. Le Pape15 Mixed Integer Programming (6)

16 CPAIOR02 School on OptimizationC. Le Pape16 Mixed Integer Programming (7)

17 CPAIOR02 School on OptimizationC. Le Pape17 Mixed Integer Programming (8)

18 CPAIOR02 School on OptimizationC. Le Pape18 Mixed Integer Programming (9)

19 CPAIOR02 School on OptimizationC. Le Pape19 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];

20 CPAIOR02 School on OptimizationC. Le Pape20 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]; };

21 CPAIOR02 School on OptimizationC. Le Pape21 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

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

23 CPAIOR02 School on OptimizationC. Le Pape23 Example: Propagation x y 1 x in [2..3] y in [1..2] z in [1..3] y < z x in [2..3] y in [1..2] z in [2..3] x != z x in [2..3] y in [1..2] z in [2..3] Constraints: x y 1 y < z x != z Variables: x in [1..3] y in [1..3] z in [1..3]

24 CPAIOR02 School on OptimizationC. Le Pape24 Example: Decision-Making y = 1 x = 2 y = 1 z = 3 y = 2 x = 3 y = 2 z = 3 FAILURE Backtrack Constraints: x y 1 y < z x != z Variables: x in [2..3] y in [1..2] z in [2..3]

25 CPAIOR02 School on OptimizationC. Le Pape25 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;

26 CPAIOR02 School on OptimizationC. Le Pape26 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]; };

27 CPAIOR02 School on OptimizationC. Le Pape27 Example in OPL Studio (3) search { forall(s in Stores ordered by decreasing regretdmin(cost[s])) tryall(w in Warehouses ordered by increasing supplyCost[s,w]) supplier[s] = w; generateSeq(open); };

28 CPAIOR02 School on OptimizationC. Le Pape28 Incrementality Principle (1) Masonry (7) Carpentry (3) Roofing (1) Windows (1)Facade (2)Garden (1)Painting (2) Moving (1) Plumbing (8)Ceilings (3)

29 CPAIOR02 School on OptimizationC. Le Pape29 Incrementality Principle (2) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. M

30 CPAIOR02 School on OptimizationC. Le Pape30 Incrementality Principle (3) "Plumber" "Roofer" Solution: Order "Plumbing" and "Roofing" Heuristic choice For example, "Plumbing" before "Roofing"

31 CPAIOR02 School on OptimizationC. Le Pape31 Incrementality Principle (4) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint M.

32 CPAIOR02 School on OptimizationC. Le Pape32 Incrementality Principle (5) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint M.

33 CPAIOR02 School on OptimizationC. Le Pape33 Incrementality Principle (6) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. M

34 CPAIOR02 School on OptimizationC. Le Pape34 Incrementality Principle (7) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint M.

35 CPAIOR02 School on OptimizationC. Le Pape35 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)

36 CPAIOR02 School on OptimizationC. Le Pape36 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(v 1... v n ) for every variable v i for every value val i in the domain of v i there are values val 1... val i 1 val i 1... val n in the domains of v 1... v i 1 v i 1... v n such that val 1... val i 1 val i val i 1... val n 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

37 CPAIOR02 School on OptimizationC. Le Pape37 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)

38 CPAIOR02 School on OptimizationC. Le Pape38 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

39 CPAIOR02 School on OptimizationC. Le Pape39 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

40 CPAIOR02 School on OptimizationC. Le Pape40 Locality Principle (3) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. M

41 CPAIOR02 School on OptimizationC. Le Pape41 Locality Principle (4) Resource sub-problem Temporal sub-problem Cost function sub-problem Resource allocation sub-problem

42 CPAIOR02 School on OptimizationC. Le Pape42 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

43 CPAIOR02 School on OptimizationC. Le Pape43 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, …

44 CPAIOR02 School on OptimizationC. Le Pape44 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?

45 CPAIOR02 School on OptimizationC. Le Pape45 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?

46 CPAIOR02 School on OptimizationC. Le Pape46 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?

47 CPAIOR02 School on OptimizationC. Le Pape47 Outline Introduction Problem decomposition Constraint propagation –Propagation of global constraints –Objective functions –What ifs Search Conclusion

48 CPAIOR02 School on OptimizationC. Le Pape48 Problem Decomposition Complete model Solver 1 Solver 2Solver 3 Sub-model 1 Sub-model 2 Sub-model 3

49 CPAIOR02 School on OptimizationC. Le Pape49 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

50 CPAIOR02 School on OptimizationC. Le Pape50 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

51 CPAIOR02 School on OptimizationC. Le Pape51 Example: Inventory Management How to satisfy orders with a MINIMAL COST ? Warehouse Buy Rent order 1 order 2 order 3

52 CPAIOR02 School on OptimizationC. Le Pape52 Example Stock 4 st(o1) 0,et(o1) 35,rq(o1) 2 st(o2) 5,et(o2) 30,rq(o2) 3 st(o3) 32,et(o3) 87,rq(o3) 5 rq(o1)=2 rq(o2)=3 rq(o3)=

53 CPAIOR02 School on OptimizationC. Le Pape53 Demand Curve Demand Stock

54 CPAIOR02 School on OptimizationC. Le Pape54 Basic Model alloc(o): set of resources assigned to the order o from existing stock rent(o): set of resources assigned to the order o from external rental Note: rq(o) |alloc(o)| |rent(o)| A solution is a valuation of the functions alloc and rent

55 CPAIOR02 School on OptimizationC. Le Pape55 Costs Crent: cost for rental per item per time unit Cafix: fixed cost of allocation from existing stock Catd: time-dependent cost for each allocation Goal: Minimize the total cost o O |rent(o)| Crent(r) duration(o) |alloc(o)| (Cafix(r) Catd(r) duration(o))

56 CPAIOR02 School on OptimizationC. Le Pape56 Example Solution 1 (cost 4840) rent stock Optimal solution (cost 3820)

57 CPAIOR02 School on OptimizationC. Le Pape57 Maintenance Constraints No resource is used more than Utime time units without maintenance No more than Mnumber resources are in maintenance at the same time Cost of each maintenance: Cmaint

58 CPAIOR02 School on OptimizationC. Le Pape Substitution of Resources A resource can be replaced by a resource of another type Hierarchy of resource types R1 R2R3

59 CPAIOR02 School on OptimizationC. Le Pape59 Complexity Results Core problemPolynomial (maximum flow of minimum cost) Core problem with maintenance NP-hard (multiprocessor scheduling problem) Core problem with substitution NP-hard (list coloring on interval graphs)

60 CPAIOR02 School on OptimizationC. Le Pape60 Problem Decomposition Original problem Cooperation Resource allocation problem (problem without maintenance) Scheduling problem (maintenance scheduling) Linear programmingConstraint programming

61 CPAIOR02 School on OptimizationC. Le Pape61 Mixed Integer Programming (1) 99% cost 80 vars 40 constrs 1000 vars 630 constrs 6000 vars 4000 constrs vars constrs maintenance problem crane allocation problem core problem maintenance schedule select cranes select maintenance intervals PolynomialNP-hard 1% cost

62 CPAIOR02 School on OptimizationC. Le Pape62 Mixed Integer Programming (2) 80 vars 40 constrs 1000 vars 630 constrs 6000 vars 4000 constrs vars constrs crane allocation maintenance scheduling 1 node 30 nodes 1200 nodes > nodes

63 CPAIOR02 School on OptimizationC. Le Pape63 Hybrid Algorithms (1) LINEAR PROGRAMMING Solve the (core) resource allocation problem HEURISTIC ALGORITHM Select resource items for each order CONSTRAINT PROGRAMMING Solve the resulting maintenance scheduling problem On failure, tighten the resource allocation problem and iterate

64 CPAIOR02 School on OptimizationC. Le Pape64 Hybrid Algorithms (2) Tightness of the crane allocation problem: Extend the duration of all tasks (add the maintenance duration) Extend the duration of the conflict task Final result: 4.5% above the lower bound dur(o) dur(o) 1 dur(m) dur(o) 2 dur(m) dur(o) 3 dur(m) dur(o) 4 dur(m) Tightness: Resource allocation cost:Maint. scheduling cost:

65 CPAIOR02 School on OptimizationC. Le Pape65 Hybrid Algorithms (3) LINEAR PROGRAMMING Solve tightened resource allocation problem HEURISTIC ALGORITHM Select resource items for each order CONSTRAINT PROGRAMMING Solve the resulting maintenance scheduling problem PRE-PROCESSING Tighten core problem to anticipate maintenance LINEAR PROGRAMMING Solve resource allocation + pre-scheduling problem CONSTRAINT PROGRAMMING Heuristically improve (repair) the solution

66 CPAIOR02 School on OptimizationC. Le Pape66 Hybrid Algorithms (4)

67 CPAIOR02 School on OptimizationC. Le Pape67 Hybrid Algorithms (5) Other hybrid algorithms, including column generation, provided « good » solutions Some instances remain « hard » Details available in [Caseau & Kökény 98, Baptiste et al. 98]

68 CPAIOR02 School on OptimizationC. Le Pape68 Outline Introduction Problem decomposition Constraint propagation –Propagation of global constraints –Objective functions –What ifs Search Conclusion

69 CPAIOR02 School on OptimizationC. Le Pape69 Global Constraints (1) O(n 2 ) binary constraints Weak constraint propagation One global constraint Strong constraint propagation V 12 V6V6 V3V3 V9V9 V2V2 V4V4 V 10 V8V8 V 11 V5V5 V1V1 V7V7

70 CPAIOR02 School on OptimizationC. Le Pape70 Global Constraints (2) Adaptation and integration of an operations research algorithm in a global constraint Three types of inferences (as in standard constraint propagation): –Conflict (the constraint cannot be satisfied) –Reduction of the domains of the variables –Inferred constraints (cuts)

71 CPAIOR02 School on OptimizationC. Le Pape71 Global Constraints: Examples (1) Collection of linear constraints (general or particular form) –Detect conflicts –Find variables with fixed values –Find bounds of variables –Infer additional constraints (cuts) Linear Programming Integer Programming CP Search Programming Constraint Propagation HYBRID LP/MIP

72 CPAIOR02 School on OptimizationC. Le Pape72 Global Constraints: Examples (2) All-different [Régin 94, …] Disjunctive resource constraint: edge-finding [Nuijten 94, Caseau & Laburthe 94, Baptiste & Le Pape 95, …] Preemptive resource constraint: mixed edge-finding [Le Pape & Baptiste 98] Cumulative resource constraint: edge-finding and energetic reasoning [Nuijten 94, Caseau & Laburthe 96, Baptiste, Le Pape & Nuijten 99, …] Hamiltonian circuit constraint [Caseau & Laburthe 97] …

73 CPAIOR02 School on OptimizationC. Le Pape73 Global Constraints: Examples (3) Preemptive job-shop scheduling [Le Pape & Baptiste 99]

74 CPAIOR02 School on OptimizationC. Le Pape74 Objective Functions Minimize COST F(V 1, V 2, …, V n ) Apply an operations research algorithm to a relaxation of the problem –Global lower bound at the root of the search tree –Lower bound LB at each node of the search tree –Characteristics of solutions with COST LB + inferred from the optimal solution of the relaxed problem and « reduced costs »

75 CPAIOR02 School on OptimizationC. Le Pape75 Objective Functions: Examples Minimize the number of late activities on one machine [Baptiste, Le Pape & Péridy 98] –Lower bound Minimize the sum of transition times on parallel machines [Focacci, Laborie & Nuijten 00] –Lower bound –Exploit reduced costs to reduce the domains of variables

76 CPAIOR02 School on OptimizationC. Le Pape76 ILOG HYBRID (1) All linear constraints of a model are captured. At each node of search: –All linear constraints added (decisions, deductions) and all domain reductions inferred are captured and passed to the LP solver which solves the new linear program. –A relaxed optimal solution as well as optimality information such as reduced cost and dual values is provided. –Variable bounds are tightened using reduced cost. –Pseudo costs are available for branching.

77 CPAIOR02 School on OptimizationC. Le Pape77 ILOG HYBRID (2) LP CPHybrid Domain reductions Linear constraints added during search Lower bound Relaxed optimal solution Domain reductions and linear constraints from the CP engine tighten the linear relaxation. The relaxed optimal solution can be used in the CP search heuristic to guide the search.

78 CPAIOR02 School on OptimizationC. Le Pape78 Example in OPL Studio (1) range Boolean 0..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 Boolean open[Warehouses]; var Boolean supply[Stores,Warehouses]; var Warehouses supplier[Stores]; var int cost[Stores] in 0..maxCost;

79 CPAIOR02 School on OptimizationC. Le Pape79 Example in OPL Studio (2) minimize with linear relaxation 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(s in Stores) supply[s,supplier[s]] = 1; forall(s in Stores) cost[s] = sum(w in Warehouses) supplyCost[s,w] * supply[s,w]; };

80 CPAIOR02 School on OptimizationC. Le Pape80 Example in OPL Studio (3) search { forall(s in Stores ordered by decreasing regretdmin(cost[s])) tryall(w in Warehouses ordered by increasing supplyCost[s,w]) supplier[s] = w; };

81 CPAIOR02 School on OptimizationC. Le Pape81 CP search tree with and without linear relaxation Optimal at 383 is here (the tree is 100 times bigger without) These nodes and sub-trees are not pruned

82 CPAIOR02 School on OptimizationC. Le Pape82 What Ifs (1) General scheme –Try to impose a constraint C If a conflict is detected, impose its negation C –Constructive disjunction: Try alternatives C 1 … C n Impose the consequences common to all alternatives (x 3 or x 4 implies that x 4) Example –« Shave » the bounds of variables Time consuming

83 CPAIOR02 School on OptimizationC. Le Pape83 What Ifs (2) Apply a « cheap » operations research algorithm to a relaxation of the problem with the constraint C added

84 CPAIOR02 School on OptimizationC. Le Pape84 What Ifs: Examples (1) Global update of time bounds in preemptive scheduling [Le Pape & Baptiste 98] –Network flow model to test the existence of solutions (activities on one side, time intervals on the other) –To test whether a given activity can end before a given time, one just has to set the capacities of some arcs to 0 and update the flow (incrementally)

85 CPAIOR02 School on OptimizationC. Le Pape85 What Ifs: Examples (2) Minimize the number of late activities on one machine [Baptiste, Le Pape & Péridy 98] –Compute a lower bound LB i late of the number of late activities when activity A i is late and force A i to be on time if LB i late exceeds the current upper bound UB –Compute a lower bound LB i on time of the number of late activities when activity A i is on time and force A i to be late if LB i on time exceeds the current upper bound UB –Relation to the « reduced costs » idea (suggests that the implementation of [Baptiste, Le Pape & Péridy 98] is not optimal)

86 CPAIOR02 School on OptimizationC. Le Pape86 Outline Introduction Problem decomposition Constraint propagation –Propagation of global constraints –Objective functions –What ifs Search Conclusion

87 CPAIOR02 School on OptimizationC. Le Pape87 Search Local search around a given solution Use the solution of a relaxed problem as a heuristic guide for the resolution of the complete problem –Solution of a continuous relaxation –Solution of a sub-problem –Lower bounds and reduced costs as guides toward « good » solutions

88 CPAIOR02 School on OptimizationC. Le Pape88 Examples: Vehicle Routing (1) Set of customer locations and demands Set of depots Set of vehicles with given capacities Transportation time and cost matrices Specific constraints –Legislation –Special vehicles for special goods –Roads available only to some vehicles Optimization criterion: minimize total cost

89 CPAIOR02 School on OptimizationC. Le Pape89 Examples: Vehicle Routing (2) Efficient local search algorithms –No specific constraint –Incremental computation of tour length and cost from a solution to its neighbors Constraint programming for the specific constraints –Use constraints to test and reject « bad » neighbors –Enlarge the neighborhood if there is no valid neighbor –Find the valid neighbor with the smallest cost

90 CPAIOR02 School on OptimizationC. Le Pape90 Examples: Vehicle Routing (3) [Pesant & Gendreau 96] –Exploitation of the power of constraint programming to search small search spaces (neighborhoods) as part of a tabu search algorithm –Number of backtracks / |neighborhood| 0.29 [Shaw 98] –Large neighborhood search –Limited discrepancy search to explore the neighborhood Active area of research –See [Kilby, Prosser & Shaw 00, Caseau & Laburthe 99, Caseau et al. 01]

91 CPAIOR02 School on OptimizationC. Le Pape91 Examples: Scheduling (1) [Caseau & Laburthe 95, Caseau et al. 01] –Find an approximate solution –Make local changes and repairs to decrease the makespan Repair: swap two activities to shrink or reduce the number of critical paths Shuffle: keep part of the solution and search the solution space to complete it with a limited number of backtracks (10 to 100 or 1000), under the constraint that the makespan must be improved (step of 1%, decreased to one time unit) –Perform an exhaustive search for decreasing makespans [Baptiste, Le Pape & Nuijten 95, Nuijten & Le Pape 98] –Forget and extend with random fragments

92 CPAIOR02 School on OptimizationC. Le Pape92 Examples: Scheduling (2) [Le Pape & Baptiste 99] –Strong constraint propagation algorithm –Local optimization operator (Jackson derivation) –Limited discrepancy search around the best schedule found so far [Portmann et al., 98] –Branch and bound –At each node, precedence constraints are imposed –At each node, a genetic algorithm is applied to find « good » solutions satisfying the precedence constraints

93 CPAIOR02 School on OptimizationC. Le Pape93 Examples: Scheduling (3) Minimal perturbation scheduling [El Sakkout & Wallace 00] –Temporal constraints –Resource constraints –Minimize | x i – ref i | –The problem without the resource constraints is solved by linear programming –As long as resource constraints are violated, add temporal constraints and iterate

94 CPAIOR02 School on OptimizationC. Le Pape94 Outline Introduction Problem decomposition Constraint propagation –Propagation of global constraints –Objective functions –What ifs Search Conclusion

95 CPAIOR02 School on OptimizationC. Le Pape95 Conclusion (1) Already a significant number of applications Credo: hybrid problem-solving techniques will enable the resolution of problems that are still open today –More efficient exact resolution –Better lower and upper bounds in given CPU time –More robust algorithms

96 CPAIOR02 School on OptimizationC. Le Pape96 Conclusion (2) Main difficulties –Identification of promising combinations of techniques –Implementation and test of several of these combinations

97 CPAIOR02 School on OptimizationC. Le Pape97 Conclusion (3) Guidelines and tools are needed –Modeling –Combination of sub-models –Testing and interpretation of test results Several research paths –Neutral models with solver-dependent instantiation –Predefined solver-dependent models (ontologies) –Automatic transformation of models between two given solvers [Rodosek, Wallace & Hajian 99] –…

98 CPAIOR02 School on OptimizationC. Le Pape98 Training for Optimization Basic knowledge: operations research classical problems and algorithms Feeling: « vision » of the solution space (polyhedric view, global view on domain reduction or local search space) Background: constraint programming Implementation method: software engineering Rationality: probabilities, statistics, game theory Special skill: formal and informal communication

99 CPAIOR02 School on OptimizationC. Le Pape99 References (1) Ph. Baptiste and C. Le Pape. A Theoretical and Experimental Comparison of Constraint Propagation Techniques for Disjunctive Scheduling. 14 th International Joint Conference on Artificial Intelligence, Ph. Baptiste, C. Le Pape and W. Nuijten. Constraint-Based Optimization and Approximation for Job Shop Scheduling. IJCAI'95 Workshop on Intelligent Manufacturing Systems, Ph. Baptiste, C. Le Pape and L. Péridy. Global Constraints for Partial CSPs: A Case Study of Resource and Due-Date Constraints. 4 th International Conference on Principles and Practice of Constraint Programming, Ph. Baptiste, Y. Caseau, T. Kökény, C. Le Pape and R. Rodosek. Creating and Evaluating Hybrid Algorithms for Inventory Management Problems. 4 th National Meeting on Practical Approaches to NP Complete Problems, Ph. Baptiste, C. Le Pape and W. Nuijten. Satisfiability Tests and Time Bound Adjustments for Cumulative Scheduling Problems. Annals of Operations Research, 92: , 1999.

100 CPAIOR02 School on OptimizationC. Le Pape100 References (2) Y. Caseau and F. Laburthe. Improved CLP Scheduling with Task Intervals. 11 th International Conference on Logic Programming, Y. Caseau and F. Laburthe. Disjunctive Scheduling with Task Intervals. Technical Report, Ecole Normale Supérieure, Y. Caseau and F. Laburthe. Cumulative Scheduling with Task Intervals. Joint International Conference and Symposium on Logic Programming, Y. Caseau and F. Laburthe. Solving Small TSPs with Constraints. 14th International Conference on Logic Programming, Y. Caseau and T. Kökény. An Inventory Management Problem. Constraints, 3(4): , Y. Caseau and F. Laburthe. Heuristics for Large Constrained Vehicle Routing Problems. Journal of Heuristics, 5: , 1999.

101 CPAIOR02 School on OptimizationC. Le Pape101 References (3) Y. Caseau, F. Laburthe, C. Le Pape and B. Rottembourg. Combining Local and Global Search in a Constraint Programming Environment. Knowledge Engineering Review, to appear. H. El Sakkout and M. Wallace. Probe Backtrack Search for Minimal Perturbation in Dynamic Scheduling. Constraints, 5(4): , F. Focacci, Ph. Laborie and W. Nuijten. Solving Scheduling Problems with Setup Times and Alternative Resources. 5 th International Conference on Artificial Intelligence Planning and Scheduling, P. Kilby, P. Prosser and P. Shaw. A Comparison of Traditional and Constraint-based Heuristic Methods on Vehicle Routing Problems with Side Constraints. Constraints, 5(4): , C. Le Pape and Ph. Baptiste. Resource Constraints for Preemptive Job-Shop Scheduling. Constraints, 3(4): , 1998.

102 CPAIOR02 School on OptimizationC. Le Pape102 References (4) C. Le Pape and Ph. Baptiste. Heuristic Control of a Constraint-Based Algorithm for the Preemptive Job-Shop Scheduling Problem. Journal of Heuristics, 5: , W. Nuijten. Time and Resource Constrained Scheduling: A Constraint Satisfaction Approach. PhD Thesis, Eindhoven University of Technology, W. P. M. Nuijten and C. Le Pape. Constraint-Based Job Shop Scheduling with ILOG Scheduler. Journal of Heuristics, 3: , G. Pesant and M. Gendreau. A View of Local Search in Constraint Programming. 2 nd International Conference on Principles and Practice of Constraint Programming, M.-C. Portmann, A. Vignier, D. Dardilhac and D. Dezalay. Branch and Bound crossed with GA to solve Hybrid Flowshops. European Journal of Operational Research, 107(2): , 1998.

103 CPAIOR02 School on OptimizationC. Le Pape103 References (5) J.-C. Régin. A filtering algorithm for constraints of difference in CSPs. 12 th National Conference on Artificial Intelligence, R. Rodosek, M. Wallace and M. Hajian. A New Approach to Integrating Mixed Integer Programming and Constraint Logic Programming. Annals of Operations Research, 86:63-87, P. Shaw. Using Constraint Programming and Local Search Methods to Solve Vehicle Routing Problems. 4 th International Conference on Principles and Practice of Constraint Programming, 1998.


Download ppt "CPAIOR02 School on OptimizationC. Le Pape1 Integrating Operations Research Algorithms in Constraint Programming Claude Le Pape ILOG S.A."

Similar presentations


Ads by Google