Event-based formulations for the RCPSP with production and consumption of resources Oumar KONE 1, Christian ARTIGUES 1, Pierre LOPEZ 1, and Marcel MONGEAU 2 May 2010 1: CNRS ; LAAS ; 7 avenue du colonel Roche, F-31077 Toulouse, France Université de Toulouse ; UPS, INSA, INP, ISAE ; LAAS ; F-31077 Toulouse, France {okone,artigues,lopez}@laas.fr 2: Université de Toulouse ; UPS, INSA, UT1, UTM ; Institut de Mathématiques de Toulouse CNRS ; Institut de Mathématiques de Toulouse UMR 5219 ; F-31062 Toulouse, France mongeau@math.univ-toulouse.fr 1/31
Outline 1 RCPSP with resource production and consumption 2 Proposals 3 Computational results 4 Conclusions 2/31
Outline 1 RCPSP with resource production and consumption Definition Problem description Background 2 Proposals 3 Computational results 4 Conclusions 3/31
Definition RCPSP: Resource-Constrained Project Scheduling Problem Definition: Cumulative scheduling problem Multi-resources Many applications in industry (staff scheduling, parallel processors...) Covers a large number of theoretical scheduling problems (parallel machines, flow-shops, job-shops, flexible shop problems...) 4/31
Problem description (1/3) Renewable resources R = {1,..., m}: set of resources B k : capacity of resource k (k = 1, 2,..., m) Activities A = {1,..., n}: set of activities 0 and n + 1: two dummy activities (end & start of project) p i : processing time of each activity i b ik : consumption of resource k by activity i 5/31
Problem description (2/3) Non-renewable resources: which can be produced and required during the processing of each activity i P = {1, 2,..., l}: set of l non-renewable resources C p : level of the initial stock of resource p P Each activity i requires c ip units of p at the start of its processing; produces c + ip units of p at the end of its processing. 6/31
Problem description (3/3) Objective: Minimizing the makespan C max Constraints: Precedence constraints: (i, j) E, activity i must precede activity j. Resource constraints: At each time, for each resource k, the total of consumptions of the activities in process cannot exceed B k. Stock constraint: Stock must remain non-negative at each time. This problem is strongly NP-hard 7/31
Background Lower bounds (Carlier & Néron 2006) Approximate Methods (Kolisch & Hartmann 2006, Palpant et al. 2004) Exact Methods (Demeulemeester & Herroelen 1997, Sprecher 2000, Laborie 2005) Production and consumption of resources (Carlier et al. 2009, Laborie 2003, Bouly et al. 2005, Neumann & Schwindt 2002) Present study: Focus on ILP formulations 8/31
Outline 1 RCPSP with resource production and consumption 2 Proposals Extension of state-of-the art models Event-based formulations OOE formulation Preprocessing 3 Computational results 4 Conclusions 9/31
Extension of state-of-the art models (Pritsker et al. 1969): Discrete-Time (DT) (Christofides et al. 1987): Disaggregated Discrete-Time (DDT) Pseudo-polynomial number of variables and constraints (depending on the schedule horizon) Good LP relaxation (Artigues et al. 2003): Flow-based continuous-time (FCT) Compact model (polynomial number of variables) Weak LP relaxation ( big-m constraints) 10/31
Event-based formulations Inspired by: (Pinto & Grossmann 1995) on batch process problems (Dauzère-Pérès et al. 1995) for flow-shop problems (Zapata et al. 2008) propose such an event-based formulation for a multimode RCPSP (3n 2 binary variables) Two new formulations (see (Koné et al. 2010)): Start/end event-based formulation (SEE): 2 types of binary variables (not presented here) On/off event-based formulation (OOE): 1 type of binary variable Extensions for resource consumption and production. 11/31
On/off event-based formulation (1/2) Binary variable: z ie = 1 activity i begins or continues its processing immediately after event e Continuous variables: t e (event date), C max (makespan) s ep 0: level of stock of resource p P at event e p iep 0: quantity of resource p P produced by i at event e u iep 0: quantity of resource p P required by i at event e No need of end events E = {0, 1,..., n 1} No need to use the dummy activities 0 and n + 1 Like FCT, OOE can treat instances with non-integer processing times (p i = 2.8) Polynomial number of binary variables (n 2 ) and constraints 12/31
On/off event-based formulation (2/2) No need of end events: g h i j 0 1 2 zi1 = 1 zi2 = 1 Events Variables n events in the worst case: 1 2 3 4 1 2 3 4 Activities Events 13/31
OOE - Formulation (1/4) Objective function: Duration constraints: min C max (1) C max t e + (z ie z i(e 1) )p i e E, i A (2) t 0 = 0 (3) t f t e + (z ie z i(e 1) (z if z i(f 1) ) 1)p i (e, f, i) E 2 A, f > e 0 (4) t e+1 t e e n 1 E (5) translate that [z i(e 1) = 0 z ie = 1] = [ P e 1 v=0 z iv = 0], e E \ {0}, i A 14/31
OOE - Formulation (2/4) Non-preemption constraints: e 1 X z ie e(1 (z ie z i(e 1) )) e 0 E (6) e =0 n 1 X z ie (n e)(1 + (z ie z i(e 1) )) e 0 E (7) e =e Activity startup constraints: X z ie 1 i A (8) e E 15/31
OOE - Formulation (3/4) Precedence constraints: ex z ie + z je 1 + (1 z ie )e e E, (i, j) E (9) e =0 Renewable resource constraints: n 1 X b ik z ie B k e E, k R (10) i=0 16/31
OOE - Formulation (4/4) Non-renewable resource constraints: p iep c + ip (z i(e 1) z ie ) (e, i, p) E A P (11) p iep c + ip z i(e 1) (e, i, p) E A P (12) p iep c + ip (1 z ie ) (e, i, p) E A P (13) u iep c ip (z ie z i(e 1) ) (e, i, p) E A P (14) u iep c ip z ie (e, i, p) E A P (15) u iep c ip (1 z i(e 1) ) (e, i, p) E A P (16) Flow conservation constraints for non-renewable resources: s ep = s (e 1)p + X p iep X u iep (e, p) E P, e > 0 (17) i A i A s 0p = C p X i A u i0p p P (18) 17/31
OOE - Preprocessing (OOE Prep) Main idea: For each activity, remove the events during which each activity cannot be running because one of its predecessors (resp. its successors) is in process or has not yet been processed (resp. is in process or has been processed). Additional constraint: Let A(i) (resp. D(i)) be the set of predecessors (resp. successors) of activity i. 2 5 8 11 14 1 3 6 9 12 15 17 4 7 10 13 16 for each activity i: P A(i) e=0 z ie = 0 and P n e=n D(i) +1 z ie = 0. 18/31
Outline 1 RCPSP with resource production and consumption 2 Proposals 3 Computational results Software and hardware configuration Instances Results ILP solving 4 Conclusions 19/31
Software and hardware configuration Machine: Dell PC, XEON 5110 bi-processor 1.6 GHz, 4 GB RAM, Fedora Programming Environment: Ilog-Concert, C++ Solver: IBM-Ilog Cplex 11.2 Cplex Configuration: default Timeout: 500 seconds Preprocessing by propagation of precedence and resource constraints: Start Time(i) [ES i, LS i ] 20/31
Instances Modified instances from the literature: KSD30 (Kolisch et al.): disjunctive BL (Baptiste and Le Pape): cumulative PACK (Carlier and Néron): cumulative Productions and consumptions randomly generated between 0 and 10 (only feasible instances are kept) Criticisms of instances of the literature: Not cumulative enough Processing times too homogeneous New instances: KSD15 d: KSD30 with disparate p i and n/2 activities PACK d: PACK with disparate p i 21/31
Instances indicators KSD30 BL PACK KSD15 d PACK d V 32 22-27 17-35 17 17-35 R 4 3 2-5 4 2-5 T 34-130 14-34 23-139 187-999 644-3694 OS 0.34-0.69 0.25-0.45 0.13-0.48 0.34-0.64 0.13-0.48 NC 1.5-2.13 1.45-2 1.5-1.72 1.18-1.82 1.50-1.72 RF 0.25-1 0.5-0.77 1 0.25-1 1 RS 0.14-1 0.16-0.55 0.08-0.53 0.18-1 0.08-0.48 DR 0.36-0.9 0.25-0.45 0.19-0.94 0.35-0.9 0.19-0.94 PR 10 5 19 250 1138 22/31
Results ILP solving (classical instances) Models: DT, DDT, FCT, & OOE (& OOE Prep) Instances: KSD30, BL, & PACK Instances Models Integer Opt Gap CPM Opt time (s) KSD30 DT 84 63 10.21 25.20 52.60 DDT 82 71 0.13 7.65 83.87 OOE Prep 78 1 52.63 76.13 415.70 FCT 69 20 46.65 70.35 289.39 OOE 1 0 65.96 65.96 PACK OOE 94.55 1.82 20.44 277.83 110.85 OOE Prep 92.73 3.64 13.13 258.18 449.26 DT 90.91 18.18 48.04 365.49 126.63 DDT 47.27 32.73 1.33 245.66 168.04 FCT 9.09 0 5.90 96.41 BL OOE Prep 100 0 17.61 72.57 DDT 94.87 48.72 1.32 47.62 125.55 DT 87.18 38.46 49.82 119.82 108.60 OOE 74.36 0 27.64 87.56 FCT 20.51 0 26.79 72.51 23/31
Results ILP solving (modified instances) Models: DT, DDT, FCT, & OOE (& OOE Prep) Instances: KSD15 d & PACK d Instances Models Integer Opt Gap CPM Opt time (s) KSD15 d FCT 100 93.94 0.12 10.15 18.26 OOE Prep 100 80.81 0.05 10.08 30.69 OOE 100 79.80 0.10 10.14 62.33 DT 0 0 DDT 0 0 PACK d OOE Prep 96.36 5.45 1.62 249.77 252.09 OOE 96.36 5.45 5.80 264.41 320.62 FCT 5.45 1.82 0 44.02 100.01 DT 0 0 DDT 0 0 24/31
Synthesis In terms of integer solutions found, OOE better In terms of optimal solutions found: On the classical instances, time-indexed models are the best On the disjunctive instances with disparate processing times, FCT is the best On the high cumulative instances with disparate processing time, OOE is the best 25/31
Outline 1 RCPSP with resource production and consumption 2 Proposals 3 Computational results 4 Conclusions Conclusion Further works References 26/31
Conclusion We have studied the RCPSP with consumption and production of resources We have proposed an extension of three formulations for the RCPSP issued from the literature, to solve this problem We have proposed two new formulations for this problem We tested and compared our proposals to the three extended models on five types of instances In view of the results, our model OOE is the best for highly cumulative instances with disparate processing times 27/31
Further works More processing techniques to reduce the number of events in our models Hybrid methods: OOE formulation with Constraint Programming or Metaheuristic Other objective functions 28/31
Thank you!! THANK YOU FOR YOUR ATTENTION 29/31
Bibliography (1/2) C. Artigues, P. Michelon, and S. Reusser, Insertion techniques for static and and dynamic resource-constrained project scheduling, European Journal of Operational Research, 149(2): 249 267, 2003. C. Artigues, O. Koné, P. Lopez, M. Mongeau, E. Néron, and D. Rivreau, Computational experiments, in C. Artigues, S. Demassey, and E. Néron, (Eds.), Resource-constrained project scheduling: Models, algorithms, extensions and applications, ISTE/Wiley, pages 98 102, 2008. O. Koné, C. Artigues, P. Lopez, and M. Mongeau, Event-based MILP models for resource-constrained project scheduling problems, Computers & Operations Research, 2010, In Press. P. Baptiste and C. Le Pape, Constraint propagation and decomposition techniques for highly disjunctive and highly cumulative project scheduling problems, Constraints, 5(1-2): 119 139, 2000. N. Christofides, R. Alvarez-Valdès, and J.M. Tamarit, Project scheduling with resource constraints: A branch and bound approach, European Journal of Operational Research, 29(3): 262 273, 1987. J. Carlier, A. Moukrim and H. Xu, The project scheduling problem with production and consumption of resources: A list-scheduling based algorithm, Discrete Applied Mathematics, 2009. S. Dauzère-Pérès and J.B. Lasserre, A new mixed-integer formulation of the flow-shop sequencing Problem, 2nd Workshop on Models and Algorithms for Planning and Scheduling Problems, Wernigerode, Germany, May 1995. E. Demeulemeester and W. Herroelen, New benchmark results for the resource-constrained project scheduling problem, Management Science, 43(11): 1485 1492, 1997. R. Kolisch and A. Sprecher, PSPLIB - A project scheduling library, European Journal of Operational Research, 96(1): 205 216, 1997. 30/31
Bibliography (2/2) P. Laborie, Complete MCS-based search: Application to resource constrained project scheduling, International Joint Conferences on Artificial Intelligence, pages 181 186, 2005. J.B. Lasserre and M. Queyranne, Generic scheduling polyhedra and a new mixed-integer formulation for single-machine scheduling, integer programming and combinatorial optimization, Proceedings of the 2nd Integer Programming and Combinatorial Optimization Conference, pages 136 149, 1992. J. Carlier and E. Néron, On linear lower bounds for the resource constrained project scheduling problem, European Journal of Operational Research 149(2): 314 324, 2003. J. M. Pinto and I. E. Grossmann, A continuous time MILP model for short term scheduling of batch plants with pre-ordering constraints, Industrial & Engineering Chemistry Research, 34(9): 3037 3051, 1995. A. Pritsker, L. Watters, and P. Wolfe, Multi-project scheduling with limited resources: A zero-one programming approach, Management Science, 16: 93 108, 1969. PSPLIB. http://129.187.106.231/psplib/. High-duration RCSPSP instances. http://www2.laas.fr/laas/files/mogisa/rcpsp-instances/high duration range.zip. A. Sprecher, Solving the RCPSP efficiently at modest memory requirements, Management Science, 46(5): 710 723, 2000. J. C. Zapata, B. M. Hodge, and G. V. Reklaitis, The multimode resource constrained multiproject scheduling problem: Alternative formulations, AIChE Journal, 54(8): 2101 2119, 2008. 31/31