Flow Polyhedra and Resource Constrained Project Scheduling Problems

Alain Quilliot, Hélène Toussaint
2012 Reserche operationelle  
This paper aims at describing the way Flow machinery may be used in order to deal with Resource Constrained Project Scheduling Problems (RCPSP). In order to do it, it first introduces the Timed Flow Polyhedron related to a RCPSP instance. Next it states several structural results related to connectivity and to cut management. It keeps on with a description of the way this framework gives rise to a generic Insertion operator, which enables programmers to design greedy and local search
more » ... It ends with numerical experiments. Article published by EDP Sciences c EDP Sciences, ROADEF, SMAI 2012 A. QUILLIOT AND H. TOUSSAINT and hypergraphs (see [28, 29, 34, 36, 38] ). While the standard RCPSP problem only involve deterministic non pre-emptive tasks submitted to binary precedence relations and to restrictions on the use of a set of renewable resources, one may also address a very large number of possible extensions which involve pre-emption (see [29, [60] [61] [62] ), extended precedence relations (time lags: see [32]), non renewable resources (see [47, 59] ), non constant profiles, financial flows (see [47, 72] ), robustness in relation to uncertainty (see [24] ), multiple task execution modes. . . Also, it is possible to handle this problem while focusing on other performance criteria than the makespan: criteria related to economical costs, to deadlines and penalties, to redundant resources. . . (see [1, 22, 43] ). A recent survey about variants and extensions of the RCPSP is available in [40] . The RCPSP problems are difficult ones: whatever the way they are formulated (see [10, 21, 53] ), they remain NP-Complete. Practically, getting exact results becomes hard as soon as the number of tasks exceeds 60 and that the number of resources is at least equal to 4 (see [31, 51] ). Generating benchmarks and characterizing their computational complexity may itself be viewed as a difficult problem (see [48, 51] ). When it comes to the design of exact methods, RCPSP problems are usually handled through Integer Linear Programming (see [28, 47, 56] ), through a combination of branch and bound, cut generation and constraint propagation techniques (see [19, 30, 32, 68] ), or through extensions of multiprocessor scheduling algorithms (see [33, 44, 60] ). Powerful lower bounds may be obtained through application of column generation techniques to specific linear programming models, through energetic reasoning processes, through pre-emption handling or through the computation of largest paths (see [11, 18, 23, 29] ). But efficient heuristics may also be designed: one may for instance refer to [24, 62] for greedy algorithms based on priority rules, to [6, 7] for very efficient algorithms based upon insertion techniques, to [5, 16, 35, 51, 52, 65, 78] for local search methods driven by metaheuristic scheme (Tabu, Simulated Annealing, memetic approaches), as well as to [46] for statistics about experiments. In case the problem is set according to a dynamic point of view, authors most often propose priority rule based algorithms, (see [7, 62] ). Network Flow Theory (see [2, 3, 57] ) is dedicated to the modelling and to the algorithmic handling of problems which involve the circulation of goods, people, money, energy or information. It has been essentially used in order to optimize the design of transportation and telecommunication systems (see [27] ), or in order to help in managing the activity of gas or electricity distribution networks (see [2, 58, 67] ). It proved itself to be a very powerful tool for the numerical handling of such problems, not only as a modelling tool, but also as a specific link between the linear programming machinery and purely combinatorial techniques. As a matter of fact, part of current research trends is about handling network flow problems while taking into account purely combinatorial constraints (see [25, 67, 79] ). The existence of a link between the RCPSP and Network Flow Theory has already be noticed by several authors (see [37, 42, 43, 54, 63] ). Recently [8] studied the complexity of flow-based insertion problem for RCPSP with generalized prece- Preliminary notations and definitions About sets, algorithms, lists, partial and linear orderings: we denote by ← the value allocation operator: "x ← α" means that the variable x takes the value α; so the symbol "=" is used inside algorithmic descriptions as a comparator or as a descriptor. We denote by Q the set of the rational numbers. If A is a set, we denote its cardinality by Card(A); if τ is some linear (or complete) order relation defined on some finite set X, then we consider τ as both a binary relation and a list; if A is some subset of X, we denote by Min(A, τ ) (Max(A, τ )) the smallest (largest) element of A according to τ ; if x is some element in A, we denote by Succ(x, A, τ ) (Pred(x, A, τ )) the successor (predecessor) of x in A according to τ , which becomes undefined in case x = Max(A, τ ) (Min(A, τ )); if τ is some partial order relation, we denote by τ = the relation (τ or =) and we denote by T r (τ ) the transitive closure of τ .
doi:10.1051/ro/2012021 fatcat:lbwhqomheff3rilvswke3fqcqq