Multi-Skill Resource-Constrained Project Scheduling: Formulation and Inequalities

Size: px
Start display at page:

Download "Multi-Skill Resource-Constrained Project Scheduling: Formulation and Inequalities"

Transcription

1 Multi-Skill Resource-Constrained Project Scheduling: Formulation and Inequalities Isabel Correia, Lídia Lampreia Lourenço and Francisco Saldanha-da-Gama CIO Working Paper 17/2008

2 Multi-Skill Resource-Constrained Project Scheduling: Formulation and Inequalities Isabel Correia a,c,, Lídia Lampreia Lourenço a,d, Francisco Saldanha-da-Gama b,d a Department of Mathematics, Faculty of Science and Technology, New University of Lisbon, P Monte da Caparica, Portugal b Department of Statistics and Operational Research, Faculty of Science, University of Lisbon, P Lisboa, Portugal c Mathematics and Applications Center, Faculty of Science and Technology, New University of Lisbon, P Monte da Caparica, Portugal d Operational Research Center, Faculty of Science, University of Lisbon, P Lisboa, Portugal October 28, 2008 Abstract In this paper we study an extension of the resource constrained project scheduling problem in which each resource can perform more than one skill and such that each activity may need several resources for each required skill. We propose a mixedinteger linear programming formulation for this problem. Several sets of additional inequalities are also proposed. The goal is to obtain a model that can be solved efficiently by a general solver, which is an important feature for practitioners. Due to the fact that some of the above mentioned inequalities require a valid upper bound to the problem, a heuristic procedure is proposed. Computational experience is reported based on randomly generated data, showing that for instances of reasonable size the proposed model enlarged with the additional inequalities can be solved efficiently by a general solver. Keywords: Project Scheduling, Multi-skilled resources, Mixed-integer Linear Programming. 1 Introduction In the past decades, project scheduling has become a crucial management tool for the success and competitiveness of many organizations. Applications can be found in engineering, manufacturing systems, research/development projects etc. Corresponding author. address: isc@fct.unl.pt 1

3 A project scheduling problem is defined by its activities as well as by the precedence relations that exist between them. Each activity has a specific execution time. The goal is to define the optimal schedule for the activities so that some performance measure associated with the project is optimized. The makespan is the performance measure most used in practice. Often, specific resources that exist in a limited amount, are required to execute the activities. In such case, each activity requires a specific amount of each type of resource. This extension of the basic problem is called the resource-constrained project scheduling problem (RCPSP). One major assumption in the RCPSP is that each resource has some specific function. However, in many practical situations (e.g. when human resources are involved), a resource can perform several functions leading to a so-called multi-skill resource constrained project scheduling problem (MSRCPSP). In this case, each resource has a set of functions/skills that can perform. This is the problem addressed in this paper. The MSRCPSP arises in many practical situations. For instance, consulting companies have often to allocate multi-skilled teams to different projects. Software development companies also face this problem when people with different abilities are to be combined in different teams to contribute to the development of several products. The organization of evaluation teams is another example. In this case, multi-skilled teams are to be organized to visit departments, organizations or institutions and write an evaluation report. In the simplest setting of the MSRCPSP, each resource can contribute with at most one skill to each activity. Moreover, the allocation of each resource to some activity should last for the entire duration of the activity. The goal is to decide for each activity, which resources should be allocated to it and when should they be scheduled so that the makespan is minimized, i.e, the project finishes as soon as possible. As in the RCPSP, two types of constraints are usually involved: precedence constraints and resource constraints. Precedence constraints establish a specific sequence for some pairs of activities. This type of constraints arises for instance when there exists some technological requirements stating that some activity must be finished before some other starts. This may be simply a consequence from the fact that the output of some activity is the input of some other. Also, it is often the case that precedence constraints are the result of organizational or political needs. For instance, if different activities are associated with different customers being one of them more important than the others, it is possible that the activity associated with the most important customer is set to be executed before the 2

4 others. Resource constraints model the resource requirements of the activities assuming a scarce resource supply. The RCPSP is a particular case of the MSRCPSP when each resource has only one skill. The RCPSP has been one of the most studied combinatorial optimization problems in the field of project scheduling. In particular, many papers can be found with particular cases and different generalizations of the problem. Some surveys published in the last decade include Herroelen et al. [6], Brucker et al. [3], Kolisch and Padman [10] and Herroelen and Leus [7]. To the best knowledge of the authors, the MSRCPSP has only been addressed in a recent paper by Bellenguez-Morineau and Néron [1], who propose a branch-and-bound procedure to obtain the optimal solution to the problem. No mathematical programming formulation is presented as a basis for this procedure. The MSRCPSP is a NP-hard combinatorial optimization problem. In fact, it has the RCPSP as a particular case, which is NP-hard (see Blazewicz et al. [2]). Therefore, large instances of the MSRCPSP can only be expected to be solved approximately using heuristics. Nevertheless, this does not mean that exact approaches should not be attempted not only because this is a means for evaluating (for small or medium size instances) new heuristic procedures but also because special classes of large instances may be solved to optimality in an efficient way. Following this reasoning, the first attempts to solve many of these problems are often based in integer programming. The main purpose of this paper is to present a mixed-integer linear programming (MILP) formulation to the MSRCPSP and to show that the problem can be solved efficiently for small and medium sized instances using an off-the-shelf general solver. To this purpose, the initial formulation is enhanced with additional inequalities some of which resulting from several pre-processing tests. The goal is twofold: on one hand to obtain a simplified formulation and on the other hand to add inequalities that may be helpful when it comes to solve the problem using a commercial solver. It should be noted that the use of integer programming techniques was initially attempted for the RCPSP without much success as claimed by Demeulemeester and Herroelen [5]. However, lately, the efficiency of some general solvers has increased immensely. Therefore, nowadays there are software tools available that did not exist (or did not perform so efficiently) when those first attempts were made. The remainder of paper is organized as follows. In section 2 we formally describe the 3

5 MSRCPSP and propose a MILP formulation. Some basic properties are also discussed. In section 3 we propose several sets of additional inequalities that can be added to the model. Due to the fact that some of these inequalities require an upper bound to the problem, in section 4 we propose a heuristic to find feasible solutions to the problem. Section 5 presents the computational experience performed to analyze the methodology proposed in this paper. The paper finishes with some conclusions drawn from the work done and some directions for further research. 2 Mathematical model We consider the MSRCPSP problem as described in the previous section. In addition to the description made above, we consider the following assumptions: Preemption is not allowed. This means that once an activity starts to be executed it can not be interrupted. All processing times are integer. In particular we assume that the time necessary to execute an activity can be measured in hours, days, weeks, months, etc. Thus fractional values are not accepted. The resource requirements for each activity are known in advance and do not change over the processing of the activity. We assume that the precedences between activities are given by a so-called activity-onnode (AON) network G = (J, A), where J represents the set of activities and A represents the set of precedences between the activities. The network is acyclic and the nodes are numerically labeled in such a way that each activity is always labeled by a number smaller than the numbers labeling its successors. Additionally, each arc has a weight equal to the processing time of the activity that is the origin of the arc. We consider two dummy activities, one representing the beginning of the project and the other representing the end. The dummy activities are assumed to have no resource requirements and to have processing time 0. It should be noted that the precedences defined in the set A above imply other (nondirect) precedences. In fact, if some activity j 1 precedes j 2 (that is j 1 j 2 ) and j 2 precedes j 3 (that is j 2 j 3 ) then j 1 precedes j 3. In such case we write j 1 j 3. 4

6 Before deepening the study on the MSRCPSP, we introduce some notation. I = {1,..., i,..., m} Set of resources J = {0,..., j,..., n + 1} Set of activities to be executed. Activities 0 and n + 1 are the dummy activities. Thus, n is the number of activities to be executed. K = {1,..., k,..., o} Set of skills KJ j Set of skills required by activity j (j J) KI i Set of skills that resource i can perform (i I) n jk Number of resources with skill k required by activity j (j J, k K) p j Processing time for activity j (j J) Based upon the previous notation we can define J i = {j J : KI i KJ j } Set of activities to which resource i can contribute (i I) I k = {i I : k KI i } Set of resources with skill k (k K) IJ j = {i I : KI i KJ j } Set of resources that can be used in activity j (j J) Finally, we define the set E = {(j 1, j 2 ) J J : j 1 j 2 j 2 j 1 j 1 j 2 j 2 j 1 } This set will be used in the mathematical model to be presented below and contains all pairs of activities between which no precedence relation (direct or transitive) exists. In the remainder of the paper we will consider 0 for the origin of time. In order to formulate the problem we consider the following decision variables: x j : Starting time for activity j, j J. { 1 if resource i contributes with skill k for activity j y ijk = 0 otherwise, i I, j J i, k KI i KJ j. 5

7 w jl = { 1 if activity j finishes before activity l starts 0 otherwise, j, l J (j, l) E. Note that variables w jl are only defined for pairs (j, l) E because for all the other no such decision is needed. (P ) The MSRCPSP can be formulated as a MILP problem as follows: min x n+1 s. to : i I k y ijk = n jk j J, k KJ j (2) k KI i KJ j y ijk 1 i I, j J i (3) x l x j + p j j, l J (j, l) A (4) x l x j + p j M (1 w jl ) j, l J (j, l) E (5) w jl + w lj 1 j, l J (j, l) E (6) 2 y ijk + y ilk 1 (w jl + w lj ) k KI i KJ j k KI i KJ l (1) i I, j, l J i (j, l) E (7) x j 0 j J (8) y ijk {0, 1} i I, j J i, k KI i KJ j (9) w jl {0, 1} j, l J (j, l) E (10) The objective function (1) defines the makespan (to be minimized). Constraints (2) assure that for each skill required for each activity, the necessary resources are allocated. Inequalities (3) state that each resource contributes with at most one skill to each activity (to which it can be assigned). Constraints (4) assure that the precedence constraints are satisfied. In constraints (5) M denotes a large value. These constraints assure that if w jl is equal to 1 then activity l can start only after activity j is finished. Constraints (6) assure that either activity j finishes before activity l starts or activity l finishes before activity j starts or none of the previous. These are consistency constraints for variables w jl. Constraints (7) assure that if one resource i is assigned to two activities j and l (assuming 6

8 j, l J i ) then, w jl + w lj 1, which together with (6) assure that w jl + w lj = 1, which means that activities j and l can not overlap (either j finishes before l starts or the other way round). Naturally, these constraints only make sense for pairs of activities belonging to E. Constraints (8)-(10) are domain constraints. The formulation presented above accommodates very easily the introduction of new precedences by simply setting two w variables. In fact, if we realize that some activity j must precede some other activity l that we can simply set w jl = 1 and w lj = 0. This aspect will be relevant later in this paper. As mentioned before, the MSRCPSP is NP-hard. Nevertheless, feasibility of one instance can be easily checked in polynomial time. To see this, we just need to observe the obvious result that a necessary and sufficient condition for an instance to be feasible is that there exists one solution in which there is no overlapping between different activities. This means that there is a feasible solution in which all activities are executed in sequence one after another. Therefore, checking the feasibility of the MSRCPSP reduces to checking whether or not there are resources enough to execute each activity. This can be done by finding a feasible flow in a specific network defined by each activity. Considering a particular activity j J define a directed graph G j = (X j, A j ) in which: The set of nodes X j contains a source node s, IJ j (a set of nodes defined by the resources that can be assigned to activity j), KJ j (a set of nodes associated with the skills required by activity j), a sink node t. The set of arcs contains arcs (s, i), i IJ j with minimum throughput 0 and capacity 1, arcs (i, k), i IJ j, k KJ j KI i, with minimum throughput 0 and capacity 1, arcs (k, t), k KJ j, with minimum throughput and capacity n jk. If a feasible flow between s and t can be found in the above graph then we know that there are enough resources to execute activity j. If this happens for all activities, then 7

9 the MSRCPSP is feasible. If for some activity j there is no feasible flow between s and t in the corresponding graph then the resources are not enough to execute this activity and consequently, the entire project fails to be executed. The most obvious lower bound for the MSRCPSP is obtained by considering only constraints (4) and (8) in the formulation presented above. In such case, the makespan will be equal to the length of the longest path between the dummy nodes 0 and n + 1 in the precedence network. This type of bound has been widely used in solution procedures for the RCPSP driven from the situation in which the capacity constraints are discarded. However, in the MSRCPSP, when computing the longest path between nodes 0 and n+1 in the precedence network, we are ignoring almost all the information defining the structure of the problem. Therefore, this lower bound may be extremely weak unless the optimal solution involves a great level of parallelization between the activities. obvious bound, we can go even further by proving the following result. Regarding this Result 1 The value of the bound provided by the linear relaxation of P is given by the length of the longest path between nodes 0 and n + 1. Proof: Let us set each x j in its lowest possible value, which means, x 0 = 0 and x j = max l:(l,j) A {x l + p l } j J \ {0}. Let us also set w jl = 0.5 j, l J such that (j, l) E. Now, we only have to find feasible values for the variables y ijk (i I, j J i, k KI i KJ j ) because constraints (6) are automatically satisfied and constraints (5) and (7) become redundant. The problem of finding values for variables y ijk satisfying (2) and (3) can be decomposed into n problems, one for each activity and can be solved using the auxiliary graphs G j = (X j, A j ) already introduced when feasibility was discussed. Therefore, assuming that we are facing a feasible instance, the problem of finding values for variables y ijk is feasible. Therefore, the linear relaxation of P has always a feasible solution with all variables x j set according to the rule above. This rule establishes that x j will be equal to the longest path between 0 and j. Moreover, this is the lowest value that can be assigned to the x variables. Thus, the optimal value of the linear problem is the length of the longest path between 0 and n

10 The previous result shows that the greater the level of parallelization existing in the optimal solution of the MSRCPSP the better the lower bound given by the linear relaxation of P. However, when few activities overlap in an optimal solution this lower bound becomes worse. The most obvious upper bound for the problem is j J p j. This is the time necessary to execute all activities in the most adverse case, which corresponds to no overlapping between activities. Note that this bound is in general also very weak unless, a lower level of parallelization exists in the optimal solution. 3 Additional inequalities In this section we study several strategies for simplifying the mathematical model presented in the previous section and also enhancing it with additional inequalities. 3.1 Time windows for starting the activities Let µ(j, l) be the length of the longest path from node j to node l in the precedence network, j, l J, j < l. Denote by UB a valid upper bound on the optimal value of the problem. For each activity j J denote by ES j and LS j its earliest starting time and its latest starting time, respectively. Note the well known fact, from project management, that activity j can not start being executed before time µ(0, j). On the other hand, if UB is a valid upper bound on the optimal value of the problem, then taking into account that after activity j is processed one still has to wait at least µ(j, n + 1) until the entire project is finished (again this is a well known result from project management), then activity j can not start later than UB µ(j, n + 1) otherwise the entire project would finish only after time UB. These remarks can be summarized in the following result. Result 2 For j J, and ES j = µ(0, j) LS j = UB µ(j, n + 1). The previous result establishes a time window for the beginning of the execution of an activity j. In fact, as a consequence of the result we have 9

11 ES j x j LS j (11) which can be added to the formulation proposed in the previous section. The previous result requires the knowledge of an upper bound on the optimal value of the problem. In the next section we propose a heuristic procedure for MSRCPSP that allow us to obtain such bound. 3.2 Reduction tests Let us introduce the following definition. Definition 1 Two activities j, l J, j, l 0, n + 1 are said to be incompatible if there is never a slot in time in which they can be executed simultaneously. Activities j and l are said to be compatible if they are not incompatible. The previous incompatibility concept is not new. In fact, it has been also proposed for the RCPSP (e.g. Klein and Scholl [9]). For the MSRCPSP, several sufficient conditions for incompatibility can be stated. Before doing so, let us consider two activities j and l and an auxiliary directed network G a = (X a, A a ) built as follows. Apart from a source and a sink node we consider two intermediate sets of nodes in X a. The first of them has all the resources that can perform at least one skill required by any of the two activities. The second intermediate set of nodes has all the skills required by at least one of the two activities. The set of arcs A a is defined as follows. From the source node there will be an arc converging in each node in the first intermediate set with a minimum throughput 0 and capacity 1. Each node in the first intermediate set will be linked to a node in the second intermediate set if the resource (node in the first set) has the skill (node in the second set). Again, the minimum throughput will be set to 0 and the capacity to 1. Finally, there will be arcs linking the nodes in the second intermediate set and the sink node. Each such arc has a minimum throughput and capacity equal to the number of resources required for the corresponding skill if both activities are executed simultaneously. Note that if a feasible flow exists in this auxiliary graph then activities j and l can be executed simultaneously. The following result establishes a set of sufficient conditions for two activities to be incompatible. We omit the proof because the result is an immediate consequence of several observations already made. 10

12 Result 3 Consider two activities j, l J. If at least one of the following conditions hold, then the activities are incompatible. 1. There is a precedence relation between j and l 2. LS j + p j < ES l 3. LS l + p l < ES j 4. No feasible flow exists in the auxiliary network G a = (X a, A a ) built as above. The knowledge of all pairs if incompatible activities can be used to define some reduction tests which, in turn, may allow to set the value of some variables w and thus to simplify model P. First note that if two activities j and l are such that activity j can not be finished before l starts then variable w jl can not have value 1. Therefore, the following reduction test can be proposed: Reduction test 1 Let j and l be compatible activities. If ES j + p j > LS l then w jl = 0. Suppose now that we have two activities j and l that are incompatible. In this case, either j must be executed before l or the other way round. In some circumstances it is possible in advance to realize which is the case. Moreover, when we realize that one activity j should be executed before other activity l then by transitivity, all successors of l in the precedence network also become successors of j. Therefore, we have justified the following reduction test. 11

13 Reduction test 2 Let j and l be incompatible activities with no precedence constraint existing between them. If ES j + p j > LS l then w lj = 1, w jl = 0. w lh = 1, w hl = 0, for all successors h of j. w hj = 1, w jh = 0, for all predecessors h of l. Else if ES l + p l > LS j then w jl = 1, w lj = 0. w jh = 1, w hj = 0, for all successors h of l. w hl = 1, w lh = 0, for all predecessors h of j. Reduction test 2 is an adaptation to the MSRCPSP of the well known pair test proposed by Carlier and Pinson [4] for the Job-Shop Scheduling Problem. 3.3 Other inequalities The knowledge of the sets of incompatible activities can be easily introduced in model P. In fact, as mentioned before, if two activities j, l are incompatible, then either j will be executed before l or the other way round. Therefore, if the constraint w jl + w lj 1 exists in the model then it can be replaced by w jl + w lj = 1 (12) because in this case we know in advance that it is not possible to have w jl = w lj = 0. Any set {j, l} of compatible activities can be extended to a triplet {j, l, h} of incompatible activities if {j, h} and {l, h} are pairs of compatible activities but the three activities j, l, h can not be executed simultaneously. In order to check whether the three activities can be executed simultaneously, an auxiliary directed network G a = (X a, A a ) can be built as before but now including the resource requirements for the three activities. The information provided by the triplets of incompatible activities can also be used to add new inequalities to the model. In fact, if {j, l, h} is a triplet of incompatible activities then the following inequality is valid for P: 12

14 w jl + w lj + w jh + w hj + w lh + w hl 1. (13) This inequality follows from the fact that if the three activities j, l, h are incompatible, then at least one of the variables involved in the previous inequality should be equal to 1. Naturally, the reasoning leading to inequality (13) could be used to derived inequalities for sets with more than three incompatible activities. However, in this process, an equilibrium should be reached between the gain we get with the inequality and the computational effort required. In fact, finding sets of four incompatible variables such that the 3-subsets are compatible would require a greater computational effort that we have not considered in this paper. Nevertheless, it could have been attempted. Another set of additional inequalities can be obtained by making use of the binary variables associated with the resources. Consider, as before, that we have an upper bound UB on the optimal value of the problem. One immediate conclusion is that in the optimal solution to the problem, no resource i I spends in total with the activities to which it is assigned more time than UB. Therefore, we can write j J i k KI i KJ i p j y ijk UB, i I (14) From the previous inequalities and taking into account that we have binary variables in the left term, we can divide both members in (14) by an integer q {2,..., max j Ji {p j }} obtaining j J i k KI i KJ i p j q y ijk UB q, i I, q {2,..., max j J i {p j }}. By rounding down each coefficient in the left-hand side in the previous inequalities and then by doing the same in the right-hand side we obtain a new set of additional inequalities that can be added to model P : j J i k KI i KJ i pj y ijk q UB q, i I, q {2,..., max j Ji {p j }} (15) It should be noted that in the previous set of inequalities it may happen that several inequalities have the same right-hand side. added to model P. 13 In such case, only the stronger should be

15 4 Upper bounds In the previous section several additional inequalities were proposed for model P some of which requiring a valid upper bound to the optimal value of the problem. In this section we propose a two-phase heuristic procedure for obtaining such bound. It should be noted that we are dealing with a very complex problem. Accordingly, the goal of this section is not to present a very sophisticated heuristic to the problem but instead a heuristic that can obtain acceptable bounds for the problem with little computational effort so that the resulting bound can be used in the inequalities requiring it that were presented in the previous section. Any heuristic for the MSRCPSP should seek for a feasible schedule, which is one that respects all the precedences and also such that the resources needed to execute the activities are available to so when required. With this purpose, we suggest a two-phase heuristic procedure. In the first phase a feasible schedule is constructed. In the second phase an attempt is made to improve this schedule by means of a local search procedure. 4.1 Constructive phase In general terms, the schedule built in the first phase is a sequence of blocks of compatible activities that satisfy the precedence constraints. This constructive phase is iterative. In each iteration, a block of compatible activities is built by adding activities one at a time. We consider at most triplets of compatible activities. Therefore, each block is a set with at most 3 activities. The constructive phase starts with an initialization step. Then, we have the main step of the heuristic in which a new block is built. Finally we have a step for updating variables and counters and check whether we have already scheduled all the activities. The complete constructive procedure can be formalized as follows. 14

16 Finding a feasible schedule for the MSRCPSP Step 0: Build a stack L will all the activities sorted by non-increasing of their number of successors nb 1 // counter for the number of blocks nsa 0 // number of activities already scheduled makespan 0 Step 1: block[nb] // activities in block nb timeblock 0 // time for the completion of the current block Find j 1 the first activity in the stack L such that all its predecessors have already been scheduled block[nb] block[nb] {j 1 } nsa nsa + 1 L L \ {j 1 } timeblock p j1 Find the next activity in the stack L such that all its predecessors have already been schedule and that it is compatible with j 1 If such activity exists denote it by j 2. Else goto step 2. block[nb] block[nb] {j 2 } nsa nsa + 1 L L \ {j 2 } timeblock max{p j1, p j2 } Find the next activity in the stack L such that all its predecessors have already been schedule and that it is compatible with j 1 and j 2 If such activity exists denote it by j 3. Else goto step 2. block[nb] block[nb] {j 3 } nsa nsa + 1 L L \ {j 3 } timeblock max{p j1, p j2, p j3 } Step 2: makespan makespan + timeblock If nsa < n nb nb + 1 go to Step 1 Else STOP // a feasible schedule has been reached Note that before performing this phase, it is necessary to compute all pairs and triplets of compatible activities. It should also be emphasized the reason why we considered blocks of at most three activities. In fact, the methodology we are proposing in this paper is more intended to problems that do not have a great level of parallelization in the optimal solution because for 15

17 such instances, the linear relaxation bound presented in section 2 is already a good lower bound so, the additional inequalities proposed in section 3 may not be too helpful. On the other hand, if a very lower level of parallelization exists in the optimal solution due to the existence of a large number of precedence relations, then, again, the problem becomes easier because we will be able to set to 1 many w variables. Therefore, the inequalities requiring a valid upper bound are expected to be helpful mainly in medium term cases. Thus, by considering blocks of at most three activities we are meeting this goal without increasing too much the computational effort. 4.2 Improvement phase The improvement phase is a descent local search procedure. A neighborhood is defined by a swap move. Accordingly, for a feasible schedule, we consider as neighbours all the feasible schedules that differ from the current one by the interchange of exactly two activities belonging to two consecutive blocks. Note that this kind of move does not change the cardinality of the blocks but it becomes very attractive from a computational point of view. In each iteration of the improvement phase we choose the (feasible) move leading to the largest improvement in the solution value. When no feasible move can be found improving the solution value, the procedure stops. 4.3 Embedding the upper bound in the additional inequalities Once an upper bound on the optimal value of the MSRCPSP is available, it can be included in the additional inequalities presented in section 3. However, by doing so we may be able to set to 1 some w variables, this means that new precedences can be included in the precedence network. Therefore, a new upper bound may be reachable. Thus, in order to make the best of the inequalities proposed in section 3 we iterate between the determination of an upper bound and the additional inequalities to consider. The outline of this iterative procedure is given below. In the end, we obtain a model P with additional inequalities. Denote this enlarged model by P. 16

18 Inclusion of additional inequalities in model P to obtain P Step 1: Compute all pairs of incompatible activities Step 2: Compute all triplets of incompatible activities Step 3: Compute an upper bound UB Step 4: Compute the longest path between all non-dummy nodes and the dummy nodes in the precedence network Step 5: Compute the time windows constraints (11) Step 6: Perform the reduction tests to set variables w to 1 or 0 Step 7: If any variable w was set to 1 update the precedence network correspondingly and return to step 1. Step 8: Obtain model P by adding constraints (11), (12), (13) and (15) to P. 5 Computational experience In this section we report the computational experience performed with models P and P presented before. Due to the fact that no benchmark instances exist for the MSRCPSP, a set of instances was generated taking into account the experience reported in the Project Scheduling Problem Library (PSPLIB) (Kolisch and Sprecher [11]). The methodology we propose for generating the instances is presented in subsection 5.1. The results are presented in subsection Test data As pointed out by Kolisch and Sprecher [11] there are three features that may strongly influence the complexity/behaviour of an instance for the RCPSP. These are the precedence network complexity, the resource factor, and the resource strength. Network complexity (NC) is given by the average number of direct successors of the activities and measures the complexity of the precedence network. The resource factor (RF) is given by the average proportion of resources required by each activity. This is a value between 0 and 1. A value close to 1 indicates that the activities are very demanding in terms of the resources. Finally, the resource strength (RS) gives the mean tightness of the resource constraints. This is also a value in the interval [0, 1]. A resource strength near to 1 indicates that the available resources are enough to allow all the activities to start in their earliest starting time. A resource strength near 0 indicates that the resources are scarce meaning that each 17

19 activity will require the resources in their limit (or close to it). It should be emphasized that the difficulty in solving an instance increases as the resource strength decreases. These features characterize the ProGen instances usually considered for authors working with the RCPSP, which can be found in the Project Scheduling Problem Library PSPLIB (Kolisch and Sprecher [11]). The same kind of features can be considered for the MSRCPSP. However, now instead of a resource factor we propose a skill factor (SF), which is the proportion of skills required by each activity. Considering the three features above, 4 available skills were considered for our test instances. In addition to this we have the following. Regarding the activities: The number of activities was set equal to 20 (excluding the two dummy nodes). In order to explore different values for SF five cases were considered. i) All activities require the 4 available skills. This means setting SF = 1. ii) All activities require 3 skills. This means setting SF = To achieve this, for each activity, 3 skills were randomly generated among the 4 available. iii) All activities require 2 skills. This means setting SF = 0.5. To achieve this, for each activity, 2 skills were randomly generated among the 4 available. iv) All activities require 1 skill. This means setting SF = To achieve this, for each activity, 1 skill was randomly generated among the 4 available. v) For each activity, the number of required skills was randomly selected (in {1, 2, 3, 4}), which means an expected skill factor SF = 2.5 = For each activity, once 4 generated the number of skills, the specific skills were then randomly selected. For each activity and for each required skill, the number of resources needed with the skill was randomly chosen in the set {1, 2, 3}. For each activity, an execution time was randomly generated in the set {1,..., 10} as it was done in the ProGen instances mentioned above. Regarding the precedence network: The dummy start node has 3 successors (following what is considered in the PSPLIB for the RCPSP). 18

20 The dummy sink node has 3 predecessors (following what is considered in the PSPLIB for the RCPSP). NC {1.5, 1.8, 2.1} (following the values proposed in the literature for the RCPSP). For each activity 1,..., n 3, the number of direct successors was chosen in the set {1, 2, 3}. For each activity 4,..., n, the number of direct predecessors was chosen in the same set. The successors and predecessors of each activity and their exact number was randomly chosen in order to assure that the value of NC is met and naturally, that the final network is a connected graph. Again, we followed for the MSRCPSP a methodology similar to the one followed for the RCPSP in the PSPLIB. Regarding the resources and in order to obtain instances with several resource strength values we considered different values for the total number of resources keeping all the above parameters fixed. In addition to this, for each resource, the number of skills it can perform was randomly chosen in the set {1, 2, 3}. Once this number is selected, the specific skills a resource can perform were selected randomly in the set of 4 skills available. Before setting the values for the resource strength, several preliminary computational tests were performed showing that a resource strength too close to 0 led often to infeasibility while a resource strength too high led to instances extremely easy too solve and thus not so interesting to test the methodology proposed in this paper. Accordingly, 20, 30 and 40 resources were considered for the instances in which each activity requires all the 4 skills. This means an expected resource strength of in the first case, in the second and 0.25 in the third. For instance in the first case, as we have 20 activities, each of which requiring 4 skills we need to perform 80 skills. As the number of resources required with each skill is on average 2 we expect to required 160 resources. If we consider 20 available resources we have an expected resource strength of 20 = The expected values above 160 were approximately maintained for the other types of instances in which all the activities require the same number of skills. For the set of instances in which the number of skills required by the activities vary we consider 20, 25 and 30 resources. For each combination of all parameters, 3 instances were generated. In total 135 instances were generated. 19

21 5.2 Computational results The computational experience was performed with standard mathematical programming software, namely the exact algorithm provided by the ILOG CPLEX 10.1 [8], on a Pentium IV PC with 2.6 GHz processor and 512 Mb RAM. In all tests, a time limit of seconds (10 hours) was considered. All other CPLEX parameters were maintained in the default values. Tables 1 and 2 present the results obtained. Note that in these tables, each column presents the information for the 3 instances generated with the same combination of parameters. skills. Table 1 regards the instances in which all the activities require the same number of The first three columns characterize the set of 3 instances in terms of the skill factor, network complexity and number of resources. Columns 4-8 present information associated with model P presented in section 2. In particular, column 4 gives the information regarding the number of instances out of 3 in which the time limit was attained or an out of memory error occurred. For instance, 2/1 means that for the particular set of 3 instances considered, in 2 of them the time limit of 10 hours was reached and on the third one an out of memory error occurred which prevented the solver to solve the instance. Column 5 in table 1 gives the average cpu time (in seconds) needed to solve the instances (that could be solved). Column 6 (headed by gap ) gives the average termination gap (in percentage) for the instances such that the time limit was attained or such that an out of memory error occurred. This is a value given by the solver and measures the gap between the best upper and lower bounds known for the instance. Column 7 (headed by gap LR ) gives the average gap in percentage of the linear relaxation bound 1. Column 9 (headed by time LR ) gives the average cpu time for solving the linear relaxation. Columns 9-13 present similar information for model P. The last column (headed by time Ineq ) presents the cpu time necessary to build model P with means, the cpu time necessary to build the additional inequalities proposed in the previous sections. Table 2 presents information similar to table 1 but for the instances such that a different number of skills was considered for the activities. As mentioned before, in these instances the expected skill factor is so we omit it from the table. 1 For each instance this bound is defined by 100 opt lr opt, where opt denotes the optimal value of the instance if this value is known, otherwise, it represents the best known upper bound. lr denotes the optimal value of the linear relaxation. 20

22 The first aspect worth mentioning is that by using model P we were able to solve optimally 125 out of the 135 instances, while using model P this number was 104. Note also, that the majority of the unsolved instances are in the sets defined by SF = 1.0 and SF = In particular, the instances with fewer resources are the most difficult, which is not unexpected. In fact, the more binding the resource constraints are, the more difficult it becomes to solve the problem. Nevertheless, it should be emphasized that by using model P no out of memory error occurred which means that the unsolved instances simply attained the time limit imposed. This was not the case when we used model P. Observing tables 1 and 2 we realize that model P not only was able to solve optimally more instances than model P but also it required much less cpu time. The difference is often very large. For instance when we consider in table 2 the instances associated with NC = 1.5 and m = 30 we realize that by using model P the average cpu time that was necessary to solve the three instances was seconds while by using model P this value falls to 6.7 seconds. It should also be emphasized that in the instances in which no model succeeded in obtaining the optimal solution, model P most of the times leads to a better final gap. Despite the significant contribution of the additional inequalities proposed in section 3 in general they do not enhance the model in terms of the linear relaxation bound, although some improvements can be found (e.g. table 1, SF = 0.25, NC = 1.5, m = 10). By observing tables 1 and 2 we also conclude that the time spent building model P was largely compensated by the gain in the cpu time we got by using the enlarged model P (and also by the additional number of instances that could be solved optimally). The results of table 2 are also not surprising. In fact, as mentioned above, for these instances we have a skill factor of SF = Nevertheless, we are considering a number of resources similar to the instances in which all activities required all skills. Therefore, the resources in these instances may not be too binding leading to easier instances. The results in general show that the most difficult instances are the ones in which there is a scarce resource supply combined with a strong resource demand. Moreover, some conclusions that had been drawn for the RCPSP can also be drawn for the MSRCPSP. For instance, a decreasing network complexity leads to larger computational times because more combinations of activities become feasible due to the decreasing number of precedence relations. 21

23 P P* SF NC m tl/om time gap gap LR time LR tl/om time gap gap LR time LR time Ineq 1.5 3/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / < / / < / <0.1 0/ < / / / / < / <0.1 0/ < / / / / / / / <0.1 0/ < / <0.1 0/ < / <0.1 0/ < / <0.1 0/ < / <0.1 0/ < / <0.1 0/ < / <0.1 0/ < / <0.1 0/ < / <0.1 0/ < Table 1: Results for the instances in which all the activities require the same number of skills. 22

24 P P* NC m tl/om time gap gap LR time LR tl/om time gap gap LR time LR time Ineq 1.5 0/ / / / / / / / / / / / / / / / / / Table 2: Results for the instances in which the activities require different numbers of skills. 6 Conclusions and directions for further research In this paper we studied the multi-skill resource constrained project scheduling problem. We presented a mixed-integer formulation for the problem and proposed several types of additional inequalities. Because some of these inequalities require a valid upper bound on the optimal value of the problem, a heuristic procedure was proposed. The computational experience performed and reported in the paper showed that despite being a very complex problem, instances of reasonable size can be solved efficiently with simple tools, which is relevant, for instance, for practitioners with little knowledge in more advanced techniques for tackling complex combinatorial optimization problems. The problem studied in this paper has received little attention in the literature. Therefore, in many aspects there is much room for improvement. Firstly, it would be important to find other sets of additional inequalities. One possibility for achieving this is to consider other formulations to the problem or else, by reformulating the problem taking into account the formulation presented in this paper. More room for improvement regards the upper bounds. Due to the complexity of the problem, more sophisticated heuristic procedures should be designed in order to obtain high quality feasible solutions to the problem. Naturally, the above mentioned aspects could be embedded in a more complex solution search scheme such as a branch-and-cut procedure. 23

25 Acknowledgement This research has been partially supported by the Portuguese Science Foundation, Project POCTI - ISFL References [1] O. Bellenguez-Morineau and E. Néron. A branch-and-bound method for solving multiskill project scheduling problem. RAIRO Operations Research, 41: , [2] J. Blazewicz, J. K. Lenstra, and A. Rinnooy Kan. Scheduling subject to resource constraints: Classification and complexity. Discrete Applied Mathematics, 5:11 24, [3] P. Brucker, A. Drexl, R. Möhring, K. Neumann, and E. Pesch. Resource-constrained project scheduling: Notation, classification, models and methods. European Journal of Operational Research, 112:3 41, [4] J. Carlier and E. Pinson. An algorithm for solving the job-shop problem. Management Science, 35: , [5] E. Demeulemeester and W. Herroelen. A branch-and-bound procedure for the multiple resource-constrained project scheduling problem. Management Science, 38: , [6] W. Herroelen, B. De Reyck, and E. Demeulemeester. Resource-constrained project scheduling: A survey of recent developments. Computers and Operations Research, 25: , [7] W. S. Herroelen and R. Leus. Project scheduling under uncertainty: Survey and research potentials. European Journal of Operational Research, 165: , [8] ILOG CPLEX User s Manual. ILOG, Inc., Incline Village, Nevada, [9] R. Klein and A. Scholl. Computing lower bounds by destructive improvement: an application to resource-constrained project scheduling problem. European Journal of Operational Research, 112: ,

26 [10] R. Kolisch and R. Padman. An integrated survey of deterministic project scheduling. OMEGA, 29: , [11] R. Kolisch and A. Sprecher. PSPLIB - A project scheduling problem library. European Journal of Operational Research, 96: ,

Event-based formulations for the RCPSP with production and consumption of resources

Event-based formulations for the RCPSP with production and consumption of resources 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

More information

A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling

A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling Department of Mathematics, Linköping University Jessika Boberg LiTH-MAT-EX 2017/18 SE Credits: Level:

More information

Ant Colony Optimization for Resource-Constrained Project Scheduling

Ant Colony Optimization for Resource-Constrained Project Scheduling Ant Colony Optimization for Resource-Constrained Project Scheduling Daniel Merkle, Martin Middendorf 2, Hartmut Schmeck 3 Institute for Applied Computer Science and Formal Description Methods University

More information

An efficient ILP formulation for the single machine scheduling problem

An efficient ILP formulation for the single machine scheduling problem An efficient ILP formulation for the single machine scheduling problem Cyril Briand a,b,, Samia Ourari a,b,c, Brahim Bouzouia c a CNRS ; LAAS ; 7 avenue du colonel Roche, F-31077 Toulouse, France b Université

More information

A Branch and Bound Algorithm for the Project Duration Problem Subject to Temporal and Cumulative Resource Constraints

A Branch and Bound Algorithm for the Project Duration Problem Subject to Temporal and Cumulative Resource Constraints A Branch and Bound Algorithm for the Project Duration Problem Subject to Temporal and Cumulative Resource Constraints Christoph Schwindt Institut für Wirtschaftstheorie und Operations Research University

More information

Decomposition Method for Project Scheduling with Spatial Resources

Decomposition Method for Project Scheduling with Spatial Resources Decomposition Method for Project Scheduling with Spatial Resources J.L. Hurink, A.L. Kok and J.J. Paulus University of Twente, PO box 217, 7500AE Enschede, The Netherlands, j.j.paulus@ewi.utwente.nl Project

More information

Event-based MIP models for the resource constrained project scheduling problem

Event-based MIP models for the resource constrained project scheduling problem Event-based MIP models for the resource constrained project scheduling problem Oumar Koné, Christian Artigues, Pierre Lopez LAAS-CNRS, Université de Toulouse, France Marcel Mongeau IMT, Université de Toulouse,

More information

Using column generation to solve parallel machine scheduling problems with minmax objective functions

Using column generation to solve parallel machine scheduling problems with minmax objective functions Using column generation to solve parallel machine scheduling problems with minmax objective functions J.M. van den Akker J.A. Hoogeveen Department of Information and Computing Sciences Utrecht University

More information

On the Generation of Circuits and Minimal Forbidden Sets

On the Generation of Circuits and Minimal Forbidden Sets Mathematical Programming manuscript No. (will be inserted by the editor) Frederik Stork Marc Uetz On the Generation of Circuits and Minimal Forbidden Sets January 31, 2004 Abstract We present several complexity

More information

A Column Generation Based Destructive Lower Bound for Resource Constrained Project Scheduling Problems.

A Column Generation Based Destructive Lower Bound for Resource Constrained Project Scheduling Problems. See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/221353491 A Column Generation Based Destructive Lower Bound for Resource Constrained Project

More information

Algorithm Design. Scheduling Algorithms. Part 2. Parallel machines. Open-shop Scheduling. Job-shop Scheduling.

Algorithm Design. Scheduling Algorithms. Part 2. Parallel machines. Open-shop Scheduling. Job-shop Scheduling. Algorithm Design Scheduling Algorithms Part 2 Parallel machines. Open-shop Scheduling. Job-shop Scheduling. 1 Parallel Machines n jobs need to be scheduled on m machines, M 1,M 2,,M m. Each machine can

More information

A heuristic algorithm for the Aircraft Landing Problem

A heuristic algorithm for the Aircraft Landing Problem 22nd International Congress on Modelling and Simulation, Hobart, Tasmania, Australia, 3 to 8 December 2017 mssanz.org.au/modsim2017 A heuristic algorithm for the Aircraft Landing Problem Amir Salehipour

More information

Robust optimization for resource-constrained project scheduling with uncertain activity durations

Robust optimization for resource-constrained project scheduling with uncertain activity durations Robust optimization for resource-constrained project scheduling with uncertain activity durations Christian Artigues 1, Roel Leus 2 and Fabrice Talla Nobibon 2 1 LAAS-CNRS, Université de Toulouse, France

More information

Marjan van den Akker. Han Hoogeveen Jules van Kempen

Marjan van den Akker. Han Hoogeveen Jules van Kempen Parallel machine scheduling through column generation: minimax objective functions, release dates, deadlines, and/or generalized precedence constraints Marjan van den Akker Han Hoogeveen Jules van Kempen

More information

University of Twente. Faculty of Mathematical Sciences. Scheduling split-jobs on parallel machines. University for Technical and Social Sciences

University of Twente. Faculty of Mathematical Sciences. Scheduling split-jobs on parallel machines. University for Technical and Social Sciences Faculty of Mathematical Sciences University of Twente University for Technical and Social Sciences P.O. Box 217 7500 AE Enschede The Netherlands Phone: +31-53-4893400 Fax: +31-53-4893114 Email: memo@math.utwente.nl

More information

Using column generation to solve parallel machine scheduling problems with minmax objective functions

Using column generation to solve parallel machine scheduling problems with minmax objective functions J Sched (2012) 15:801 810 DOI 10.1007/s10951-010-0191-z Using column generation to solve parallel machine scheduling problems with minmax objective functions J.M. van den Akker J.A. Hoogeveen J.W. van

More information

Average-Case Performance Analysis of Online Non-clairvoyant Scheduling of Parallel Tasks with Precedence Constraints

Average-Case Performance Analysis of Online Non-clairvoyant Scheduling of Parallel Tasks with Precedence Constraints Average-Case Performance Analysis of Online Non-clairvoyant Scheduling of Parallel Tasks with Precedence Constraints Keqin Li Department of Computer Science State University of New York New Paltz, New

More information

Practical Tips for Modelling Lot-Sizing and Scheduling Problems. Waldemar Kaczmarczyk

Practical Tips for Modelling Lot-Sizing and Scheduling Problems. Waldemar Kaczmarczyk Decision Making in Manufacturing and Services Vol. 3 2009 No. 1 2 pp. 37 48 Practical Tips for Modelling Lot-Sizing and Scheduling Problems Waldemar Kaczmarczyk Abstract. This paper presents some important

More information

An Exact Algorithm for the Steiner Tree Problem with Delays

An Exact Algorithm for the Steiner Tree Problem with Delays Electronic Notes in Discrete Mathematics 36 (2010) 223 230 www.elsevier.com/locate/endm An Exact Algorithm for the Steiner Tree Problem with Delays Valeria Leggieri 1 Dipartimento di Matematica, Università

More information

Contents college 5 and 6 Branch and Bound; Beam Search (Chapter , book)! general introduction

Contents college 5 and 6 Branch and Bound; Beam Search (Chapter , book)! general introduction Contents college 5 and 6 Branch and Bound; Beam Search (Chapter 3.4-3.5, book)! general introduction Job Shop Scheduling (Chapter 5.1-5.3, book) ffl branch and bound (5.2) ffl shifting bottleneck heuristic

More information

Qi Jian-xun,Sun Dedong

Qi Jian-xun,Sun Dedong Physics Procedia 24 (2012) 1530 1540 2012 International Conference on Applied Physics and Industrial Engineering One Improvement Method of Reducing Duration Directly to Solve Time-Cost Tradeoff Problem

More information

A LAGRANGIAN RELAXATION FOR CAPACITATED SINGLE ALLOCATION P-HUB MEDIAN PROBLEM WITH MULTIPLE CAPACITY LEVELS

A LAGRANGIAN RELAXATION FOR CAPACITATED SINGLE ALLOCATION P-HUB MEDIAN PROBLEM WITH MULTIPLE CAPACITY LEVELS A LAGRANGIAN RELAXATION FOR CAPACITATED SINGLE ALLOCATION P-HUB MEDIAN PROBLEM WITH MULTIPLE CAPACITY LEVELS Ching-Jung Ting Department of Industrial Engineering and Management, Yuan Ze University Kuo-Rui

More information

On Machine Dependency in Shop Scheduling

On Machine Dependency in Shop Scheduling On Machine Dependency in Shop Scheduling Evgeny Shchepin Nodari Vakhania Abstract One of the main restrictions in scheduling problems are the machine (resource) restrictions: each machine can perform at

More information

Linear programming based algorithms for preemptive and non-preemptive RCPSP

Linear programming based algorithms for preemptive and non-preemptive RCPSP Linear programming based algorithms for preemptive and non-preemptive RCPSP Jean Damay, Alain Quilliot, Eric Sanlaville To cite this version: Jean Damay, Alain Quilliot, Eric Sanlaville. Linear programming

More information

HYBRID FLOW-SHOP WITH ADJUSTMENT

HYBRID FLOW-SHOP WITH ADJUSTMENT K Y BERNETIKA VOLUM E 47 ( 2011), NUMBER 1, P AGES 50 59 HYBRID FLOW-SHOP WITH ADJUSTMENT Jan Pelikán The subject of this paper is a flow-shop based on a case study aimed at the optimisation of ordering

More information

Flow Shop and Job Shop Models

Flow Shop and Job Shop Models Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 11 Flow Shop and Job Shop Models 1. Flow Shop 2. Job Shop Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Resume Permutation

More information

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Guy Desaulniers École Polytechnique de Montréal and GERAD Column Generation 2008 Aussois, France Outline Introduction

More information

A Branch-and-Price Algorithm for Multi-Mode Resource Leveling

A Branch-and-Price Algorithm for Multi-Mode Resource Leveling A Branch-and-Price Algorithm for Multi-Mode Resource Leveling Eamonn T. Coughlan 1, Marco E. Lübbecke 2, and Jens Schulz 1 1 Technische Universität Berlin, Institut für Mathematik, Straße d. 17. Juni 136,

More information

SEQUENCING A SINGLE MACHINE WITH DUE DATES AND DEADLINES: AN ILP-BASED APPROACH TO SOLVE VERY LARGE INSTANCES

SEQUENCING A SINGLE MACHINE WITH DUE DATES AND DEADLINES: AN ILP-BASED APPROACH TO SOLVE VERY LARGE INSTANCES SEQUENCING A SINGLE MACHINE WITH DUE DATES AND DEADLINES: AN ILP-BASED APPROACH TO SOLVE VERY LARGE INSTANCES PH. BAPTISTE, F. DELLA CROCE, A. GROSSO, AND V. T KINDT Abstract. We consider the problem of

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Sito web: http://home.deib.polimi.it/amaldi/ott-13-14.shtml A.A. 2013-14 Edoardo

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-16-17.shtml Academic year 2016-17

More information

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA Gestion de la production Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA 1 Contents 1 Integer Linear Programming 3 1.1 Definitions and notations......................................

More information

Embedded Systems 14. Overview of embedded systems design

Embedded Systems 14. Overview of embedded systems design Embedded Systems 14-1 - Overview of embedded systems design - 2-1 Point of departure: Scheduling general IT systems In general IT systems, not much is known about the computational processes a priori The

More information

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i Embedded Systems 15-1 - REVIEW: Aperiodic scheduling C i J i 0 a i s i f i d i Given: A set of non-periodic tasks {J 1,, J n } with arrival times a i, deadlines d i, computation times C i precedence constraints

More information

On Preemptive Scheduling on Uniform Machines to Minimize Mean Flow Time

On Preemptive Scheduling on Uniform Machines to Minimize Mean Flow Time On Preemptive Scheduling on Uniform Machines to Minimize Mean Flow Time Svetlana A. Kravchenko 1 United Institute of Informatics Problems, Surganova St. 6, 220012 Minsk, Belarus kravch@newman.bas-net.by

More information

Improved Bounds for Flow Shop Scheduling

Improved Bounds for Flow Shop Scheduling Improved Bounds for Flow Shop Scheduling Monaldo Mastrolilli and Ola Svensson IDSIA - Switzerland. {monaldo,ola}@idsia.ch Abstract. We resolve an open question raised by Feige & Scheideler by showing that

More information

An Exact Algorithm for the Resource. Constrained Project Scheduling Problem. Based on a New Mathematical Formulation

An Exact Algorithm for the Resource. Constrained Project Scheduling Problem. Based on a New Mathematical Formulation An Exact Algorithm for the Resource Constrained Project Scheduling Problem Based on a New Mathematical Formulation Aristide Mingozzi, Vittorio Maniezzo Department of Mathematics, University of Bologna,

More information

Indicator Constraints in Mixed-Integer Programming

Indicator Constraints in Mixed-Integer Programming Indicator Constraints in Mixed-Integer Programming Andrea Lodi University of Bologna, Italy - andrea.lodi@unibo.it Amaya Nogales-Gómez, Universidad de Sevilla, Spain Pietro Belotti, FICO, UK Matteo Fischetti,

More information

The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation

The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation Boris Detienne 1, Ruslan Sadykov 1, Shunji Tanaka 2 1 : Team Inria RealOpt, University of Bordeaux,

More information

Scheduling with AND/OR Precedence Constraints

Scheduling with AND/OR Precedence Constraints Scheduling with AND/OR Precedence Constraints Seminar Mathematische Optimierung - SS 2007 23th April 2007 Synthesis synthesis: transfer from the behavioral domain (e. g. system specifications, algorithms)

More information

Disconnecting Networks via Node Deletions

Disconnecting Networks via Node Deletions 1 / 27 Disconnecting Networks via Node Deletions Exact Interdiction Models and Algorithms Siqian Shen 1 J. Cole Smith 2 R. Goli 2 1 IOE, University of Michigan 2 ISE, University of Florida 2012 INFORMS

More information

Solving a Production Scheduling Problem as a Time-Dependent Traveling Salesman Problem

Solving a Production Scheduling Problem as a Time-Dependent Traveling Salesman Problem Solving a Production Scheduling Problem as a Time-Dependent Traveling Salesman Problem GABRIELLA STECCO Department of Applied Mathematics, University Ca Foscari of Venice, Dorsoduro n. 3825/E, 30123 Venice,

More information

An exact approach to early/tardy scheduling with release dates

An exact approach to early/tardy scheduling with release dates Computers & Operations Research 32 (2005) 2905 2917 www.elsevier.com/locate/dsw An exact approach to early/tardy scheduling with release dates Jorge M.S. Valente, Rui A.F.S. Alves Faculdade de Economia,

More information

Polynomially solvable and NP-hard special cases for scheduling with heads and tails

Polynomially solvable and NP-hard special cases for scheduling with heads and tails Polynomially solvable and NP-hard special cases for scheduling with heads and tails Elisa Chinos, Nodari Vakhania Centro de Investigación en Ciencias, UAEMor, Mexico Abstract We consider a basic single-machine

More information

Solving Resource-Constrained Project Scheduling Problem with Particle Swarm Optimization

Solving Resource-Constrained Project Scheduling Problem with Particle Swarm Optimization Regular Papers Solving Resource-Constrained Project Scheduling Problem with Particle Swarm Optimization Sylverin Kemmoé Tchomté, Michel Gourgand, Alain Quilliot LIMOS, Campus Scientifique des Cézeaux,

More information

Application 1 - People Allocation in Line Balancing

Application 1 - People Allocation in Line Balancing Chapter 9 Workforce Planning Introduction to Lecture This chapter presents some applications of Operations Research models in workforce planning. Work force planning would be more of a generic application

More information

Recoverable Robustness in Scheduling Problems

Recoverable Robustness in Scheduling Problems Master Thesis Computing Science Recoverable Robustness in Scheduling Problems Author: J.M.J. Stoef (3470997) J.M.J.Stoef@uu.nl Supervisors: dr. J.A. Hoogeveen J.A.Hoogeveen@uu.nl dr. ir. J.M. van den Akker

More information

Technische Universität Dresden Institute of Numerical Mathematics

Technische Universität Dresden Institute of Numerical Mathematics Technische Universität Dresden Institute of Numerical Mathematics An Improved Flow-based Formulation and Reduction Principles for the Minimum Connectivity Inference Problem Muhammad Abid Dar Andreas Fischer

More information

Scheduling Parallel Jobs with Linear Speedup

Scheduling Parallel Jobs with Linear Speedup Scheduling Parallel Jobs with Linear Speedup Alexander Grigoriev and Marc Uetz Maastricht University, Quantitative Economics, P.O.Box 616, 6200 MD Maastricht, The Netherlands. Email: {a.grigoriev, m.uetz}@ke.unimaas.nl

More information

Proactive Algorithms for Job Shop Scheduling with Probabilistic Durations

Proactive Algorithms for Job Shop Scheduling with Probabilistic Durations Journal of Artificial Intelligence Research 28 (2007) 183 232 Submitted 5/06; published 3/07 Proactive Algorithms for Job Shop Scheduling with Probabilistic Durations J. Christopher Beck jcb@mie.utoronto.ca

More information

Job Sequencing with One Common and Multiple Secondary Resources: A Problem Motivated from Particle Therapy for Cancer Treatment

Job Sequencing with One Common and Multiple Secondary Resources: A Problem Motivated from Particle Therapy for Cancer Treatment Job Sequencing with One Common and Multiple Secondary Resources: A Problem Motivated from Particle Therapy for Cancer Treatment Matthias Horn 1, Günther Raidl 1, and Christian Blum 2 1 Institute of Computer

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms CSE 0, Winter 08 Design and Analysis of Algorithms Lecture 8: Consolidation # (DP, Greed, NP-C, Flow) Class URL: http://vlsicad.ucsd.edu/courses/cse0-w8/ Followup on IGO, Annealing Iterative Global Optimization

More information

Decision Diagrams for Discrete Optimization

Decision Diagrams for Discrete Optimization Decision Diagrams for Discrete Optimization Willem Jan van Hoeve Tepper School of Business Carnegie Mellon University www.andrew.cmu.edu/user/vanhoeve/mdd/ Acknowledgments: David Bergman, Andre Cire, Samid

More information

Single machine scheduling with forbidden start times

Single machine scheduling with forbidden start times 4OR manuscript No. (will be inserted by the editor) Single machine scheduling with forbidden start times Jean-Charles Billaut 1 and Francis Sourd 2 1 Laboratoire d Informatique Université François-Rabelais

More information

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Mitra Nasri Chair of Real-time Systems, Technische Universität Kaiserslautern, Germany nasri@eit.uni-kl.de

More information

The proactive and reactive resource-constrained project scheduling problem: the crucial role of buffer-based reactions

The proactive and reactive resource-constrained project scheduling problem: the crucial role of buffer-based reactions The proactive and reactive resource-constrained project scheduling problem: the crucial role of buffer-based reactions Davari M, Demeulemeester E. KBI_1707 The proactive and reactive resource-constrained

More information

The Multiple Traveling Salesman Problem with Time Windows: Bounds for the Minimum Number of Vehicles

The Multiple Traveling Salesman Problem with Time Windows: Bounds for the Minimum Number of Vehicles The Multiple Traveling Salesman Problem with Time Windows: Bounds for the Minimum Number of Vehicles Snežana Mitrović-Minić Ramesh Krishnamurti School of Computing Science, Simon Fraser University, Burnaby,

More information

Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for. Interfering Job Sets. Ketan Khowala

Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for. Interfering Job Sets. Ketan Khowala Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for Interfering Job Sets by Ketan Khowala A Dissertation Presented in Partial Fulfillment of the Requirements for the Degree Doctor

More information

Scheduling Linear Deteriorating Jobs with an Availability Constraint on a Single Machine 1

Scheduling Linear Deteriorating Jobs with an Availability Constraint on a Single Machine 1 Scheduling Linear Deteriorating Jobs with an Availability Constraint on a Single Machine 1 Min Ji a, b, 2 Yong He b, 3 T.C.E. Cheng c, 4 a College of Computer Science & Information Engineering, Zhejiang

More information

Scheduling Lecture 1: Scheduling on One Machine

Scheduling Lecture 1: Scheduling on One Machine Scheduling Lecture 1: Scheduling on One Machine Loris Marchal October 16, 2012 1 Generalities 1.1 Definition of scheduling allocation of limited resources to activities over time activities: tasks in computer

More information

There are three priority driven approaches that we will look at

There are three priority driven approaches that we will look at Priority Driven Approaches There are three priority driven approaches that we will look at Earliest-Deadline-First (EDF) Least-Slack-Time-first (LST) Latest-Release-Time-first (LRT) 1 EDF Earliest deadline

More information

A polynomial-time approximation scheme for the two-machine flow shop scheduling problem with an availability constraint

A polynomial-time approximation scheme for the two-machine flow shop scheduling problem with an availability constraint A polynomial-time approximation scheme for the two-machine flow shop scheduling problem with an availability constraint Joachim Breit Department of Information and Technology Management, Saarland University,

More information

Single Machine Models

Single Machine Models Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 8 Single Machine Models 1. Dispatching Rules 2. Single Machine Models Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Dispatching

More information

Santa Claus Schedules Jobs on Unrelated Machines

Santa Claus Schedules Jobs on Unrelated Machines Santa Claus Schedules Jobs on Unrelated Machines Ola Svensson (osven@kth.se) Royal Institute of Technology - KTH Stockholm, Sweden March 22, 2011 arxiv:1011.1168v2 [cs.ds] 21 Mar 2011 Abstract One of the

More information

Minimizing total weighted tardiness on a single machine with release dates and equal-length jobs

Minimizing total weighted tardiness on a single machine with release dates and equal-length jobs Minimizing total weighted tardiness on a single machine with release dates and equal-length jobs G. Diepen J.M. van den Akker J.A. Hoogeveen institute of information and computing sciences, utrecht university

More information

Johns Hopkins Math Tournament Proof Round: Automata

Johns Hopkins Math Tournament Proof Round: Automata Johns Hopkins Math Tournament 2018 Proof Round: Automata February 9, 2019 Problem Points Score 1 10 2 5 3 10 4 20 5 20 6 15 7 20 Total 100 Instructions The exam is worth 100 points; each part s point value

More information

On the Approximate Linear Programming Approach for Network Revenue Management Problems

On the Approximate Linear Programming Approach for Network Revenue Management Problems On the Approximate Linear Programming Approach for Network Revenue Management Problems Chaoxu Tong School of Operations Research and Information Engineering, Cornell University, Ithaca, New York 14853,

More information

On Two Class-Constrained Versions of the Multiple Knapsack Problem

On Two Class-Constrained Versions of the Multiple Knapsack Problem On Two Class-Constrained Versions of the Multiple Knapsack Problem Hadas Shachnai Tami Tamir Department of Computer Science The Technion, Haifa 32000, Israel Abstract We study two variants of the classic

More information

Robust Local Search for Solving RCPSP/max with Durational Uncertainty

Robust Local Search for Solving RCPSP/max with Durational Uncertainty Journal of Artificial Intelligence Research 43 (2012) 43-86 Submitted 07/11; published 01/12 Robust Local Search for Solving RCPSP/max with Durational Uncertainty Na Fu Hoong Chuin Lau Pradeep Varakantham

More information

Scheduling Markovian PERT networks to maximize the net present value: new results

Scheduling Markovian PERT networks to maximize the net present value: new results Scheduling Markovian PERT networks to maximize the net present value: new results Hermans B, Leus R. KBI_1709 Scheduling Markovian PERT networks to maximize the net present value: New results Ben Hermans,a

More information

A Mixed-Integer Linear Program for the Traveling Salesman Problem with Structured Time Windows

A Mixed-Integer Linear Program for the Traveling Salesman Problem with Structured Time Windows A Mixed-Integer Linear Program for the Traveling Salesman Problem with Structured Time Windows Philipp Hungerländer Christian Truden 5th January 2017 Abstract In this extended abstract we introduce the

More information

An improved approximation algorithm for two-machine flow shop scheduling with an availability constraint

An improved approximation algorithm for two-machine flow shop scheduling with an availability constraint An improved approximation algorithm for two-machine flow shop scheduling with an availability constraint J. Breit Department of Information and Technology Management, Saarland University, Saarbrcken, Germany

More information

Lecture 2: Scheduling on Parallel Machines

Lecture 2: Scheduling on Parallel Machines Lecture 2: Scheduling on Parallel Machines Loris Marchal October 17, 2012 Parallel environment alpha in Graham s notation): P parallel identical Q uniform machines: each machine has a given speed speed

More information

Greedy Algorithms. Kleinberg and Tardos, Chapter 4

Greedy Algorithms. Kleinberg and Tardos, Chapter 4 Greedy Algorithms Kleinberg and Tardos, Chapter 4 1 Selecting breakpoints Road trip from Fort Collins to Durango on a given route. Fuel capacity = C. Goal: makes as few refueling stops as possible. Greedy

More information

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved. Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 1 Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should

More information

Time-optimal scheduling for high throughput screening processes using cyclic discrete event models

Time-optimal scheduling for high throughput screening processes using cyclic discrete event models Mathematics and Computers in Simulation 66 2004 181 191 ime-optimal scheduling for high throughput screening processes using cyclic discrete event models E. Mayer a,, J. Raisch a,b a Fachgruppe System

More information

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS.

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS. R u t c o r Research R e p o r t A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS Navid Hashemian a Béla Vizvári b RRR 12-08, September 2008 RUTCOR Rutgers Center

More information

Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology

Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology Vehicle Routing and Scheduling Martin Savelsbergh The Logistics Institute Georgia Institute of Technology Vehicle Routing and Scheduling Part II: Algorithmic Enhancements Handling Practical Complexities

More information

Maximum flow problem (part I)

Maximum flow problem (part I) Maximum flow problem (part I) Combinatorial Optimization Giovanni Righini Università degli Studi di Milano Definitions A flow network is a digraph D = (N,A) with two particular nodes s and t acting as

More information

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013 Lecture 3 Real-Time Scheduling Daniel Kästner AbsInt GmbH 203 Model-based Software Development 2 SCADE Suite Application Model in SCADE (data flow + SSM) System Model (tasks, interrupts, buses, ) SymTA/S

More information

Single Machine Problems Polynomial Cases

Single Machine Problems Polynomial Cases DM204, 2011 SCHEDULING, TIMETABLING AND ROUTING Lecture 2 Single Machine Problems Polynomial Cases Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline

More information

A Global Constraint for Total Weighted Completion Time for Unary Resources

A Global Constraint for Total Weighted Completion Time for Unary Resources A Global Constraint for Total Weighted Completion Time for Unary Resources András Kovács Computer and Automation Research Institute Hungarian Academy of Sciences akovacs@sztaki.hu J. Christopher Beck Department

More information

Minimizing the number of tardy jobs for the single machine scheduling problem: MIP-based lower and upper bounds

Minimizing the number of tardy jobs for the single machine scheduling problem: MIP-based lower and upper bounds Minimizing the number of tardy jobs for the single machine scheduling problem: MIP-based lower and upper bounds Cyril Briand 1,a,b, Samia Ourari c a CNRS ; LAAS ; 7 avenue du colonel Roche, F-31077 Toulouse,

More information

INSTITUT FÜR WIRTSCHAFTSTHEORIE UND OPERATIONS RESEARCH UNIVERSITÄT KARLSRUHE

INSTITUT FÜR WIRTSCHAFTSTHEORIE UND OPERATIONS RESEARCH UNIVERSITÄT KARLSRUHE INSTITUT FÜR WIRTSCHAFTSTHEORIE UND OPERATIONS RESEARCH UNIVERSITÄT KARLSRUHE Proects with Minimal and Maximal Time Lags: Construction of Activity-on-Node Networks and Applications Klaus Neumann Christoph

More information

University of Groningen. The binary knapsack problem Ghosh, Diptesh; Goldengorin, Boris

University of Groningen. The binary knapsack problem Ghosh, Diptesh; Goldengorin, Boris University of Groningen The binary knapsack problem Ghosh, Diptesh; Goldengorin, Boris IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's PDF) if you wish to cite from it.

More information

Introduction to integer programming III:

Introduction to integer programming III: Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability

More information

Operator assignment problem in aircraft assembly lines: a new planning approach taking into account economic and ergonomic constraints

Operator assignment problem in aircraft assembly lines: a new planning approach taking into account economic and ergonomic constraints Operator assignment problem in aircraft assembly lines: a new planning approach taking into account economic and ergonomic constraints Dmitry Arkhipov, Olga Battaïa, Julien Cegarra, Alexander Lazarev May

More information

A new ILS algorithm for parallel machine scheduling problems

A new ILS algorithm for parallel machine scheduling problems J Intell Manuf (2006) 17:609 619 DOI 10.1007/s10845-006-0032-2 A new ILS algorithm for parallel machine scheduling problems Lixin Tang Jiaxiang Luo Received: April 2005 / Accepted: January 2006 Springer

More information

Pierre Fouilhoux 1, A.Ridha Mahjoub 2, Alain Quilliot 3 and Hélène Toussaint 3

Pierre Fouilhoux 1, A.Ridha Mahjoub 2, Alain Quilliot 3 and Hélène Toussaint 3 RAIRO Operations Research Will be set by the publisher BRANCH-AND-CUT-AND-PRICE ALGORITHMS FOR THE PREEMPTIVE RCPCP Pierre Fouilhoux 1, A.Ridha Mahjoub 2, Alain Quilliot 3 and Hélène Toussaint 3 Abstract.

More information

The Tactical Berth Allocation Problem with Quay-Crane Assignment and Transshipment Quadratic Costs

The Tactical Berth Allocation Problem with Quay-Crane Assignment and Transshipment Quadratic Costs The Tactical Berth Allocation Problem with Quay-Crane Assignment and Transshipment Quadratic Costs Models and Heuristics Ilaria Vacca Transport and Mobility Laboratory, EPFL joint work with Matteo Salani,

More information

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 21 Dr. Ted Ralphs IE406 Lecture 21 1 Reading for This Lecture Bertsimas Sections 10.2, 10.3, 11.1, 11.2 IE406 Lecture 21 2 Branch and Bound Branch

More information

Project scheduling with calendars

Project scheduling with calendars OR Spektrum (2001) 23: 325 334 c Springer-Verlag 2001 Project scheduling with calendars Birger Franck, Klaus Neumann, and Christoph Schwindt Institut für Wirtschaftstheorie und Operations Research, University

More information

Scheduling with Constraint Programming. Job Shop Cumulative Job Shop

Scheduling with Constraint Programming. Job Shop Cumulative Job Shop Scheduling with Constraint Programming Job Shop Cumulative Job Shop CP vs MIP: Task Sequencing We need to sequence a set of tasks on a machine Each task i has a specific fixed processing time p i Each

More information

Heuristics for airport operations

Heuristics for airport operations Heuristics for airport operations NATCOR, Nottingham, 2016 Dr Jason Atkin ASAP Research Group The University of Nottingham 1 1 Overview Funder: Research funded by NATS and EPSRC Playback of airport movement

More information

RCPSP Single Machine Problems

RCPSP Single Machine Problems DM204 Spring 2011 Scheduling, Timetabling and Routing Lecture 3 Single Machine Problems Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Resource

More information

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

On the Complexity of Mapping Pipelined Filtering Services on Heterogeneous Platforms

On the Complexity of Mapping Pipelined Filtering Services on Heterogeneous Platforms On the Complexity of Mapping Pipelined Filtering Services on Heterogeneous Platforms Anne Benoit, Fanny Dufossé and Yves Robert LIP, École Normale Supérieure de Lyon, France {Anne.Benoit Fanny.Dufosse

More information

2. Project management

2. Project management 2. Project management In what follows, we consider production processes where only a single item of a specific product is produced in the planning horizon In this case specific instruments for planning

More information

Designing Survivable Networks: A Flow Based Approach

Designing Survivable Networks: A Flow Based Approach Designing Survivable Networks: A Flow Based Approach Prakash Mirchandani 1 University of Pittsburgh This is joint work with Anant Balakrishnan 2 of the University of Texas at Austin and Hari Natarajan

More information

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Totally unimodular matrices Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and

More information