1 Introduction

In the RCPSP, we are given a set of jobs \(\mathcal J = \{1,\ldots ,n\}\) where every job j must be processed without interruption for \(p_j\) time units. Moreover, we are given a set of renewable resources \(\mathcal R\) where each resource k is given a capacity \(R_k\). Every job j additionally has a resource demand of \(r_{jk}\) units of resource k that is consumed only during the execution of job j. Naturally, we assume that \(r_{jk} \le R_k\) for all jobs j and resources k. Furthermore, there are precedence constraints \(\mathcal P \subseteq \mathcal J \times \mathcal J\) where \((i,j) \in \mathcal P\) indicates that job i must have finished before job j starts. The RCPSP aims to compute a feasible schedule, that is, start times \(S_j\) for every job j, such that the precedence constraints are satisfied and the total resource demand of each resource at any time does not exceed the available capacity. The objective is to compute a schedule of minimum completion time \(C_{\max } = \max _{j \in \mathcal J} (S_j+p_j)\) that is commonly denoted as the makespan. More formally, the RCPSP can be described as follows:

$$\begin{aligned} \min \ C_{\max } \nonumber \\ S_j + p_j \le C_{\max }&\quad \forall j \in \mathcal J \end{aligned}$$
(1)
$$\begin{aligned} \sum _{j \in \mathcal J: S_j \le t < S_j + p_j} r_{jk} \le R_k&\quad \forall t \in [0,T], k \in \mathcal R \end{aligned}$$
(2)
$$\begin{aligned} S_i + p_i \le S_j&\quad \forall (i,j) \in \mathcal P \\ S_j \ge 0&\quad \forall j \in \mathcal J \nonumber \end{aligned}$$
(3)

where T is an arbitrary upper bound on the makespan. In the next section, we give a brief overview on existing work for the RCPSP.

1.1 Previous work

The RCPSP constitutes a fundamental problem in the field of discrete optimization because it subsumes and combines various hard problems, such as partition, packing and coloring, into one common optimization problem. It has extensive applications in project planning, production industry, supply chain management, logistics and health care, see, for example, Artigues et al. (2013), Cardoen et al. (2010) and Weglarz (2012). Exact solution methods for the RCPSP, in its general form, exist since the late 1960s with a first work of Johnson (1967) who proposes a branch-and-bound algorithm for the RCPSP. Until today, much research has been invested into solving the RCPSP, its variants and extensions, see, for example, Herroelen et al. (1998), Brucker et al. (1999), Stork (2001), Kolisch and Hartmann (2006), Hartmann and Briskorn (2010).

The RCPSP is also one of the computationally most challenging combinatorial optimization problems and, in general, very hard to solve to optimality. One branch of research studies different MIP models for the RCPSP where each model has its particular strengths and weaknesses. In general, one can distinguish the following MIP model types for the RCPSP: time-indexed, disjunctive and event-based models. In the following, we give a brief introduction to each model type.

Time-indexed models One of the first mathematical programming formulations for the RCPSP was given by Pritsker et al. (1969). In this model, the scheduling horizon is divided into discrete time steps \(\mathcal T = \{0,\ldots ,T\}\) where decision variables determine the start time of every job in \(\mathcal T\). Christofides et al. (1987) improve their model by stronger precedence constraints. The resulting model is often denoted as the time-indexed model (DDT). In its core, DDT is still very popular today for modeling the RCPSP and related problems because it provides a decently strong linear relaxation and can be solved quickly on instances of moderate size, see, for example, Bianco and Caramia (2013). Several approaches have been made for improving the basic DDT formulation, for example, by extended formulations (Mingozzi et al. 1998), fast lower bounds from min-cut computations (Möhring et al. 2003), strong cover cuts (Hardin et al. 2008) and non-singular transformations (Artigues 2017). The basic modeling idea of DDT can also be transferred to other variants of the RCPSP such as the multi-mode case (Zhu et al. 2006) and for flexible resource profiles (Naber and Kolisch 2014). Despite the good general performance of DDT, the main drawback is that the model size scales with the scheduling horizon T. Thus, for problems where T is large, DDT becomes computationally intractable. This motivates to study models whose size is strongly polynomial in the number of jobs, such as event-based models.

Disjunctive models Alternatively, the RCPSP can be modeled explicitly by start time variables \(S_j\) for every job j. In this model, resource conflicts are settled by decision variables that enforce disjunctions of precedence constraints of either \(S_i + p_i \le S_j\) or \(S_j + p_j \le S_i\) between two jobs ij. Olaguibel and Goerlich (1993) study an exponential model that requires such a disjunction for at least two jobs in every incompatible job set whose jobs cannot all be scheduled in parallel. Artigues et al. (2003) overcome the exponential number of inequalities by a continuous resource flow extension that generates the precedence between the jobs and finally leads to a compact formulation. In both models, disjunctions are formulated by ‘big-M’ inequalities that lead to very weak linear relaxations. Therefore, disjunctive models are not preferred for instances that contain many jobs.

Event-based models Similar to positional assignment formulations for single machine scheduling (Lasserre and Queyranne 1992; Queyranne and Schulz 1994), in which every job gets assigned a position in the single machine sequence, Zapata et al. (2008) use a similar event-based modeling concept to solve the multi-mode RCPSP. As for positional assignments, event-based models assign a start event (or position) to every job but, in contrast, they also assign an end event for every job since jobs may run in parallel. Additional continuous time variables describe the time when an event occurs. Since every job starts and ends exactly once, at most 2n events need to be considered that finally leads to a compact formulation. Koné et al. (2011) revisited this event-based modeling concept and introduced two new models OOE and SEE for the standard RCPSP. Notably, event-based models do not involve as large constants as the disjunctive models. However, all known event-based models still suffer from weak linear relaxations, but they represent the overall best alternative to DDT when the scheduling horizon becomes large.

Other exact solving methods Several other exact solving approaches exist for the RCPSP, mainly of the branch-and-bound type, see, for example, Brucker et al. (1998), Christofides et al. (1987), Demeulemeester and Herroelen (1997), Dorndorf et al. (2000), Heilmann (2003), De Reyck and Herroelen (1998), Sprecher and Drexl (1998), Zhu et al. (2006). These algorithms primarily differ in their branching rules, branching order, dominance rules, domain propagation and considered lower bounds. More recently, constraint programming (CP) is used to solve the RCPSP that combines branch-and-bound with strong filtering algorithms (Vilim 2011; Baptiste et al. 2012; Tesch 2018) and lazy clause generation (Schutt et al. 2013).

1.2 Contribution

In this paper, we investigate the polyhedral relationships between the event-based models and the time-indexed model. First, we revisit the models OOE and SEE of Koné et al. (2011), propose stronger valid inequalities and discuss the impact on their LP-relaxations. Moreover, we introduce a new event-based model that we call the Interval Event-Based Model (IEE) which generalizes the modeling ideas of OOE and SEE. In particular, we reveal linear transformations between all three models OOE, SEE and IEE from which we deduce the strict domination order \(IEE \succ SEE \succ OOE\) for their linear programming relaxations, meaning that IEE has the strongest LP-relaxation followed by SEE and OOE. Nevertheless, we show that the integrality gap of IEE (thus for OOE and SEE) is unbounded in general. Next, we investigate the polyhedral relationship between the event-based models and the time-indexed model. We show that DDT can be constructed by subsequent expansion and projection of the solution space of IEE.

In total, this yields a unified view on the whole class of event-based and time-indexed models for the RCPSP. Finally, we propose additional preprocessing steps to improve upon the computational performance of all presented models on RCPSP instances of the well-known PSPLIB test library (Kolisch and Sprecher 1997). With this work, we hope to shed some light on the polyhedral properties and relationships between some of the many formulations for the RCPSP that exist until now.

1.3 Outline

Our paper is organized as follows. Sections 2 and 3 examine the models OOE and SEE of Koné et al. (2011) and their mutual polyhedral relationship. In Sect. 4, we introduce the new Interval Event-Based Model (IEE) and study its relationship to OOE, SEE and DDT. In Sect. 5, we propose additional preprocessing steps to improve upon the solving time of the event-based models. In Sect. 6, we finally compare the computational performance of the presented models and draw a conclusion in Sect. 7.

2 On–off event-based model

In event-based models, we are given a discrete set of events \(\mathcal E = \{1,\ldots ,n\}\) where each event e is represented by a time variable \(t_e\) at which jobs can start and end, respectively. Events appear sequentially, that is, \(t_e \le t_{e+1}\) holds for every event e where the makespan is modeled by a dummy event at \(t_{n+1}\). Every job has to be assigned one start and one end event. If job j starts at event e and ends at event f, this implies \(S_j = t_e\) and \(S_j + p_j \le t_f\). The second implication allows us to restrict to only n start events. In general, the assignment of jobs to start and end events can be done in different ways that will ultimately lead to different event-based formulations. In this section, we consider the first modeling variant with on–off assignments.

In the On–Off Event-Based Model (OOE) of Koné et al. (2011), we determine whether some job is active at an event (on) or not (off). A job j is active at event e, if it is processed during the time interval \([t_e,t_{e+1})\). Let \(u_{je} \in \{0,1\}\) be a decision variable with \(u_{je}=1\) if and only if job j is active at event e and \(u_{je} = 0\) otherwise. For convenience, we also define \(u_{j0} = u_{jn+1} = 0\) for all jobs \(j \in \mathcal J\). In addition, let

$$\begin{aligned} \mathcal A = \{(e,f) \in \mathcal E \times \mathcal E \cup \{n+1\} : e < f\} \end{aligned}$$

denote the set of consecutive event pairs. The OOE model can then be stated as follows:

$$\begin{aligned}&\min \ t_{n+1} \nonumber \\&\sum _{e \in \mathcal E} u_{je} \ge 1 \quad \forall j \in \mathcal J \end{aligned}$$
(4)
$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot u_{je} \le R_k \quad \forall k \in \mathcal R, e \in \mathcal E\end{aligned}$$
(5)
$$\begin{aligned}&t_e + p_j \cdot (u_{je} - u_{je-1} + u_{jf-1} - u_{jf} - 1) \le t_f\nonumber \\&\quad \forall j \in \mathcal J, (e,f) \in \mathcal A \end{aligned}$$
(6)
$$\begin{aligned}&\sum _{e' < e} u_{je'} \le (e-1) \cdot (1-u_{je}+u_{je-1}) \nonumber \\&\quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(7)
$$\begin{aligned}&\sum _{e' \ge e} u_{je'} \le (n-e+1) \cdot (1+u_{je}-u_{je-1}) \nonumber \\&\quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(8)
$$\begin{aligned}&\sum _{e' \le e} u_{je'} \le e \cdot (1-u_{ie}) \quad \forall (i,j) \in \mathcal P, e \in \mathcal E \end{aligned}$$
(9)
$$\begin{aligned}&t_{e} \le t_{e+1} \quad \forall e \in \mathcal E \\&t_e \ge 0 \quad \forall e \in \mathcal E \cup \{n+1\} \nonumber \\&u_{je} \in \{0,1\} \quad \forall j \in \mathcal J, e \in \mathcal E.\nonumber \end{aligned}$$
(10)

The objective function minimizes the makespan. Inequalities (4) ensure that every job j is active for at least one event. Inequalities (5) indicate that the total resource consumption at every event must not exceed the resource capacities. Notably, job j starts at event e if and only if \(u_{je}-u_{je-1} = 1\) and j ends at event f if and only if \(u_{jf-1} - u_{jf} = 1\). Hence, inequalities (6) imply that if job j starts at event e and ends at event f, then \(t_e + p_j \le t_f\) must hold. Inequalities (7) and (8) model the non-preemption of the jobs, that is, if job j starts at event e, then it cannot be active at an event \(e' \in \{1,\ldots ,e-1\}\). Similarly, if job j ends at event f, then it cannot be active at an event \(e' \in \{f,\ldots ,n\}\). Inequalities (9) require for every precedence pair \((i,j) \in \mathcal P\) that if job i is active at event e, then job j cannot be active at an event \(e' \in \{1,\ldots ,e\}\). Finally, inequalities (10) state that all events appear sequentially. In total, OOE has \(n^2\) binary variables and \(\mathcal O(n \cdot (|\mathcal R| + |\mathcal A| + |\mathcal P|))\) constraints where \(|\mathcal A| = \frac{1}{2} \cdot n \cdot (n+1) \in \mathcal O(n^2)\).

In the following, we introduce stronger inequalities for OOE and discuss their impact on the LP-relaxation.

2.1 Valid inequalities

We propose stronger non-preemptive, start–end time and precedence inequalities.

2.1.1 Non-preemptive inequalities

Lemma 1

The following non-preemptive inequalities

$$\begin{aligned}&u_{je} - u_{jf} + u_{jg} \le 1 \nonumber \\&\quad \forall j \in \mathcal J, e,f,g \in \mathcal E: e< f < g \end{aligned}$$
(11)

dominate inequalities (7) and (8).

Proof

Inequalities (11) indicate that if job j is active at two events e and g with \(e<g\), then j must also be active at all events f with \(e<f<g\), so inequalities (11) are valid. Let \(j \in \mathcal J\) and \(f,g \in \mathcal E\) be given with \(f=g-1\). Summing up inequalities (11) for \(e'=1,\ldots ,g-2\) and adding the trivially valid inequality \(u_{jg} = u_{jg-1} - u_{jg-1} + u_{jg} \le 1\) yield

$$\begin{aligned}&\sum _{e'<g} u_{je'} + (g-1) \cdot ( - u_{jg-1} + u_{jg} ) \le (g-1) \end{aligned}$$

which is equivalent to (7). Next, let \(f \in \mathcal E\) with \(e=f-1\) then summing up inequalities (11) for all \(g' = f+1,\ldots ,n\) and adding the trivial inequality \(u_{jf-1} = u_{jf} - u_{jf} + u_{jf-1} \le 1\) yield

$$\begin{aligned}&\sum _{g' \ge f} u_{jg'} + (n-f+1) \cdot ( - u_{jf} + u_{jf-1} ) \le (n-f+1) \end{aligned}$$

which is equivalent to (8). This shows the lemma. \(\square \)

While there are \(2 n^2\) inequalities of the form (7) and (8), there are \(n \cdot \left( {\begin{array}{c}n\\ 3\end{array}}\right) \) inequalities of the stronger form (11), so the stronger form implies a factor of \(\mathcal O(n^2)\) additional constraints. However, one can see that even the stronger inequalities (11) are weak in a polyhedral sense which already indicates that modeling non-preemption in OOE only allows for weak linear relaxations.

Recently, Nattaf et al. (2017) propose the following generalization of inequalities (11) by extending them to all event subsets of odd cardinality:

$$\begin{aligned}&\sum _{q=0}^{2l} (-1)^{q} \cdot u_{je_q} \le 1 \quad \forall j \in \mathcal J, \{e_0,\ldots ,e_{2l}\} \subseteq \mathcal E. \end{aligned}$$
(12)

Notably, they show that inequalities (12) yield a complete description of the integer polytope that restricts to the non-preemptive inequalities (7), (8). They even showed that the associated separation problem can be solved in strongly polynomial time which makes these cuts very interesting to use inside an LP-based branch-and-bound algorithm. In the LP-relaxation, however, inequalities (12) do not affect the LP bound, as we will show in Sect. 2.2. Therefore, we believe that those inequalities only become tight after the ‘right’ branching decisions have been made. In our implementation, we focus on reducing the model size and state the non-preemptive constraints with as few inequalities as possible, for example, by taking only inequalities (7).

2.1.2 Start time inequalities

Lemma 2

The following start time inequalities

$$\begin{aligned}&t_{e} + p_j \cdot (u_{jf} - u_{je} - u_{jg}) \le t_g \nonumber \\&\quad \forall j \in \mathcal J, \ e,f,g \in \mathcal E \cup \{0, n+1\}: e< f < g \end{aligned}$$
(13)

dominate inequalities (6).

Proof

Inequalities (13) state that if job j is active at event f but inactive at events e and g with \(e< f < g\), then \(t_e + p_j \le t_g\) must hold which is valid. Since \(u_{jg-1} \le 1\), we obtain

$$\begin{aligned}&p_j \cdot (u_{jg-1} - u_{jf-1} - u_{jg} + u_{jf} - 1) \\&\le p_j \cdot (u_{jf} - u_{jf-1} - u_{jg}) \le t_g - t_f \end{aligned}$$

for all jobs \(j \in \mathcal J\) and events \(f,g \in \mathcal E\) with \(f<g\). The last inequality follows from (13) for \(e=f-1\). \(\square \)

Again, the stronger version has a factor of \(\mathcal O(n)\) more inequalities and we observe that the stronger inequalities are also not very strong in a polyhedral sense. Since the start time inequalities have a great impact on the dual bound (\(t_{n+1}\) is determined by these inequalities), it suggests that the linear relaxation of OOE is weak in general. We confirm our suspicion with a more detailed analysis on the dual bound of OOE in Sect. 2.2.

2.1.3 Precedence inequalities

Lemma 3

The following precedence inequalities

$$\begin{aligned}&u_{je'} + u_{ie} \le 1 \quad \forall (i,j) \in \mathcal P, \ e',e \in \mathcal E: e' \le e \end{aligned}$$
(14)

dominate inequalities (9).

Proof

Inequalities (14) state that for every precedence pair \((i,j) \in \mathcal P\), an assignment of job j to an event earlier or equal to an assigned event of job i is forbidden. For some fixed event \(e \in \mathcal E\) summing up inequalities (14) for all \(e' = 1,\ldots ,e\), we get \(\sum _{e' = 1}^{e} u_{je'} + e \cdot u_{ie} \le e\) which is equivalent to (9). This shows the lemma. \(\square \)

The stable set structure of these inequalities suggests a generalization by taking whole paths in the precedence graph. Therefore, define the precedence digraph as \(\mathcal G = (\mathcal J, \mathcal P)\) and let \(\pi = \{j_1,\ldots ,j_m\}\) be a directed path in \(\mathcal G\). Moreover, let \(\mathcal E' = \{e_1,\ldots ,e_m\} \subseteq \mathcal E\) be a subset of events with \(e_{q} \ge e_{q+1}\) for all \(1 \le q < m\). By similar arguments, consider the inequality

$$\begin{aligned}&\sum _{q=1}^{m} u_{j_q e_{q}} \le 1 \nonumber \\&\quad \forall \{e_1,\ldots ,e_m\} \subseteq \mathcal E: e_{q} \ge e_{q+1}, 1 \le q < m \end{aligned}$$
(15)

which excludes any invalid assignment of jobs in \(\pi \) to events in \(\{e_1,\ldots ,e_m\}\). Similar to Nattaf et al. (2017), we can state a separation algorithm for inequalities (15). In order to compute a maximally violated inequality of (15) for a given feasible LP solution \(u^*\) of OOE, we need to find a path \(\pi = \{j_1,\ldots ,j_m\}\) in \(\mathcal G\) and a subset of events \(\{ e_1,\ldots ,e_m \} \subseteq \mathcal E\) with \(e_{q+1} \ge e_q\) for \(q=1,\ldots ,m-1\) such that \(\sum _{q=1}^{m} u_{j_q e_{q}}^* > 1\). This can be done as follows. We create a node for every job–event pair (je), and we add an arcs from a node (if) to node (je) of length \(u^*_{if}\) if and only if \((i,j) \in \mathcal P\) and \(f > e\). Furthermore, we create a source node and link it to every other node (je) by an arc of length \(u_{je}^*\). Similarly, we create a sink node and link it to every other node (je) by an arc of length zero. A maximally violated inequality of (15) can be found by computing a longest path from the source node to the sink node whose nodes (je) correspond to the variables \(u_{je}^*\) in the inequality. Since the underlying graph is acyclic, the algorithm can be implemented in \(\mathcal O(|\mathcal P| \cdot n^2)\).

Even though inequalities (15) provide a theoretically stronger LP-relaxation, they do not improve the LP bound as given in the next section. For this reason, we do not use these inequalities in our computational results.

2.2 LP-relaxation

In this section, we examine the quality of the LP-relaxation of OOE.

Proposition 1

The LP-relaxation of OOE has an optimal objective value of zero, even if all stronger inequalities (12), (13) and (15) are included.

Proof

We will construct a feasible LP solution of OOE including inequalities (12), (13) and (15) with objective value zero. Define a solution of OOE by \(u_{je} = \frac{1}{n}\) for all \(j \in \mathcal J, e \in \mathcal E\) and \(t_e = 0\) for all \(e \in \mathcal E \cup \{n+1\}\). All other variables are assumed to be zero. We show that u is LP-feasible by showing that it satisfies every inequality of SEE. For the assignment constraints (4), we have

$$\begin{aligned}&\sum _{e \in \mathcal E} u_{je} = 1 \ge 1 \end{aligned}$$

for every job \(j \in \mathcal J\). The resource constraints (5) satisfy

$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot u_{je} = \sum _{j \in \mathcal J} r_{jk} \cdot \frac{1}{n} \le R_k \end{aligned}$$

for all \(k \in \mathcal R\) and \(e \in \mathcal E\) where the last inequality holds because otherwise \(r_{jk} > R_k\) for at least one job \(j \in \mathcal J\) and resource \(k \in \mathcal R\) which is infeasible. Moreover, for the stronger start time inequalities (13), we get

$$\begin{aligned}&p_j \cdot (z_{jf} - z_{je} - z_{jg}) \le 0 = t_g - t_e \end{aligned}$$

for all \(j \in \mathcal J\) and \(e,f,g \in \mathcal E \cup \{0, n+1\}\) with \(e< f < g\). The stronger non-preemptive inequalities (12) satisfy

$$\begin{aligned}&\sum _{q=0}^{2l} (-1)^{q} \cdot u_{je_q} = \frac{1}{n} \le 1 \end{aligned}$$

for every \(j \in \mathcal J\) and event set \(\{e_0,\ldots ,e_{2l}\} \subseteq \mathcal E\). Finally, for the stronger precedence constraints (15), we get

$$\begin{aligned}&\sum _{q=1}^{m} u_{j_qe_{q}} = \frac{m}{n} \le 1 \end{aligned}$$

for any path \(\pi = \{j_1,\ldots ,j_m\}\) in the precedence graph \(\mathcal G\) and any subset \(\{e_1,\ldots ,e_m\} \subseteq \mathcal E\) with \(e_q \ge e_{q+1}\) for all \(q=1,\ldots ,m-1\). Hence, the solution is feasible and has objective value \(t_{n+1} = 0\). This shows the proposition. \(\square \)

Corollary 1

The integrality gap of OOE is unbounded.

Despite our strengthening efforts, we believe that it is not possible to substantially improve upon the general LP-relaxation of OOE. Therefore, OOE appears to be weak from a pure polyhedral perspective. We believe that the benefit of OOE lies rather in its small model size than in the strength of the formulation. Hence, our computational results consider the sparsest possible variant of OOE given by inequalities (4)–(7) and (9). Compared to the other models, OOE has the smallest number of variables, so we can still hope to achieve good computational results by applying a modern MIP solver that performs clever branching, see Sect. 6.

3 Start–end event-based model

In this section, we examine the Start–End Event-Based Model (SEE) of Koné et al. (2011). In contrast to the original formulation, we state it in a reduced (but equivalent) form since a set of continuous variables can be omitted. Again, there are time variables \(t_e \ge 0\) for each event \(e \in \mathcal E \cup \{n+1\}\) where \(t_{n+1}\) denotes the makespan. The SEE model considers decision variables \(x_{je} \in \{0,1\}\) with \(x_{je}=1\) if and only if job j starts at event e and \(x_{je} = 0\) otherwise. Analogously, there are decision variables \(y_{je} \in \{0,1\}\) with \(y_{je}=1\) if and only if job j ends at event f and \(y_{je} = 0\) otherwise. Let \(\mathcal E^+ = \{2,\ldots ,n+1\}\) denote the shifted event set where jobs are allowed to finish. Then, SEE can be written as:

$$\begin{aligned}&\min \ t_{n+1} \nonumber \\&\sum _{e \in \mathcal E} x_{je} = 1 \quad \forall j \in \mathcal J \end{aligned}$$
(16)
$$\begin{aligned}&\sum _{e \in \mathcal E^+} y_{je} = 1 \quad \forall j \in \mathcal J \end{aligned}$$
(17)
$$\begin{aligned}&\sum _{e' \ge e} x_{je'} + \sum _{e' \le e} y_{je'} \le 1 \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(18)
$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot \left( \sum _{e' \le e} x_{je'} - \sum _{e' \le e} y_{je'} \right) \le R_k \nonumber \\&\quad \forall k \in \mathcal R, e \in \mathcal E \end{aligned}$$
(19)
$$\begin{aligned}&t_e + p_j \cdot (x_{je} + y_{jf}-1) \le t_f \quad \forall j \in \mathcal J, (e,f) \in \mathcal A \end{aligned}$$
(20)
$$\begin{aligned}&\sum _{e' \le e} x_{je'} + \sum _{e'>e} y_{ie'} \le 1 \quad \forall (i,j) \in \mathcal P, e \in \mathcal E \end{aligned}$$
(21)
$$\begin{aligned}&t_e \le t_{e+1} \quad \forall e \in \mathcal E\\&t_e \ge 0 \quad \forall e \in \mathcal E \cup \{n+1\}\nonumber \\&x_{je} \in \{0,1\} \quad \forall j \in \mathcal J, e \in \mathcal E \nonumber \\&y_{je} \in \{0,1\} \quad \forall j \in \mathcal J, e \in \mathcal E^+.\nonumber \end{aligned}$$
(22)

The objective function minimizes the makespan. Equations (16) and (17) state that every job must start and end at exactly one event, while the start event must be prior to the end event (18). Moreover, inequalities (19) ensure that the resource consumption of all jobs that are active at one event must not exceed the resource capacities. Next, inequalities (20) require that if job j starts at event e and ends at event f, then \(t_e + p_j \le t_f\) must hold. By inequalities (21), for each precedence pair \((i,j) \in \mathcal P\), the end event of job i must be prior to the start event of job j. In addition, the event times must be non-decreasing by (22). In total, SEE has \(2n^2\) binary variables and \(\mathcal O(n \cdot (|\mathcal R| + |\mathcal A| + |\mathcal P|))\) constraints.

In the next sections, we propose stronger valid inequalities for SEE and analyze the quality of its LP-relaxation.

3.1 Start time inequalities

In the following, we present a stronger variant of the start time inequalities (20).

Lemma 4

The following start time inequalities

$$\begin{aligned}&t_e + p_j \cdot \left( \sum _{e' \ge e} x_{je'} + \sum _{f' \le f} y_{jf'} - 1 \right) \le t_f \nonumber \\&\quad \forall j \in \mathcal J, (e,f) \in \mathcal A. \end{aligned}$$
(23)

dominate inequalities (20).

Proof

Inequalities (23) state that if job j starts at an event \(e' \in \{e,\ldots ,n\}\) and ends at an event \(f' \in \{2,\ldots ,f\}\) with \(e<f\), then \(t_e + p_j \le t_f\) must hold. Thus, the inequality is valid. Obviously, inequalities (23) are stronger than inequalities (20) which proves the lemma. \(\square \)

Since this strengthening comes with no expense of the model size, we always assume the stronger version of SEE throughout the rest of the paper.

3.2 LP-relaxation

In the following, we analyze the quality of the linear relaxation of SEE. The next result holds for the special case of no precedence constraints, so it also applies for the general RCPSP.

Proposition 2

If \(\mathcal P = \emptyset \), then the LP-relaxation of SEE has an optimal objective value of \(p_{\max } = \max _{j \in \mathcal J} p_j\).

Proof

Inequalities (23) with \((e,f) = (1,n+1)\) imply \(t_{n+1} \ge p_j\) for all \(j \in \mathcal J\); hence, \(p_{\max }\) is a lower bound on the optimal LP value. In the following, we construct a feasible LP solution with \(p_{\max }\) as an upper bound. Let a fractional solution of SEE be given by \(x_{je} = y_{e+1} = \frac{1}{n}\) for all \(j \in \mathcal J\), \(e \in \mathcal E\) and \(t_e = p_{\max } \cdot \frac{e-1}{n}\) for all \(e \in \mathcal E\). All other variables are zero. We check LP-feasibility for each constraint separately. Inequalities (16) and (17) are satisfied since \(\sum _{e \in \mathcal E} x_{je} = \sum _{e \in \mathcal E} \frac{1}{n} = 1\) and \(\sum _{f \in \mathcal E^+} y_{jf} = \sum _{f \in \mathcal E^+} \frac{1}{n} = 1\) for every \(j \in \mathcal J\). For inequalities (18), we have

$$\begin{aligned} \sum _{e' \ge e} x_{je'} + \sum _{e' \le e} y_{je'} = \frac{n-e+1}{n} + \frac{e-1}{n} = 1 \le 1 \end{aligned}$$

for all \(j \in \mathcal J\) and \(e \in \mathcal E\). Moreover, for inequalities (19), we get

$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot \left( \sum _{e' \le e} x_{je'} - \sum _{e' \le e} y_{je'} \right) = \sum _{j \in \mathcal J} r_{jk} \cdot \frac{1}{n} \le R_k \end{aligned}$$

for all \(k \in \mathcal R\) and \(e \in \mathcal E\) where the last inequality holds because otherwise \(r_{jk} > R_k\) for some job \(j \in \mathcal J\) and resource \(k \in \mathcal R\) what is infeasible. Next, the start time inequalities (23) imply

$$\begin{aligned}&p_{j} \cdot \left( \sum _{e' \ge e} x_{je'} + \sum _{f' \le f} y_{jf'} - 1 \right) \\&\quad = \frac{p_{j} \cdot ( f - e ) }{n} \le \frac{ p_{\max } \cdot (f-e)}{n} = t_f - t_e \end{aligned}$$

for all \(j \in \mathcal J\) and \((e,f) \in \mathcal A\). Consequently, all inequalities of SEE are satisfied for the given LP solution that has an objective value of \(t_{n+1} = p_{\max }\). Consequently, the optimal LP value has a lower and upper bound of \(p_{\max }\) which proves the proposition. \(\square \)

Corollary 2

The integrality gap of SEE is unbounded.

Note that if we apply the same LP solution from the proof of Proposition 2 to the precedence inequalities (21), we get

$$\begin{aligned}&\sum _{e' \le e} x_{je'} + \sum _{e'>e} y_{ie'} = \frac{e+n-e+1}{n} = \frac{n+1}{n} > 1 \end{aligned}$$

for every \((i,j) \in \mathcal P\) and \(e \in \mathcal E\) which is not LP-feasible. Loosely speaking, this suggests that the precedence constraints are tighter than the other inequalities and allow for a stronger modeling.

Moreover, it follows that SEE has a strictly stronger LP bound than OOE. It remains to check whether SEE dominates OOE also on the whole LP-relaxation. This question is addressed in the next section.

3.3 Relationship to OOE

In this section, we study the polyhedral relationship between SEE and OOE. Recalling the OOE model from Sect. 2.1, define

$$\begin{aligned}&P(OOE) = \{ (t,u) \in \mathbb R^{n+1}_{\ge 0} \times [0,1]^{n^2} :\\&\quad (t,u) \text { satisfies }(4), (5), (10), (12), (13), (15) \} \end{aligned}$$

as the polyhedron of the linear relaxation of OOE that includes all stronger inequalities. Analogously, define

$$\begin{aligned}&P(SEE) = \{ (t,x,y) \in \mathbb R^{n+1}_{\ge 0} \times [0,1]^{2n^2} : \\&\quad (t,x,y) \text { satisfies } (16){-}(19) \text { and } (21){-}(23) \} \end{aligned}$$

as the polyhedron of the linear relaxation of SEE that includes the stronger start time inequalities. We want to study the polyhedral relationship between P(OOE) and P(SEE).

A first important observation is that we can express the \(u_{je}\) variables of OOE in terms of the \(x_{je}\) and \(y_{je}\) variables of SEE by the linear transformation:

$$\begin{aligned}&u_{je} = \sum _{e' \le e} x_{je'} - \sum _{e' \le e} y_{je'} \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(24)

that says that job j is active at event e if and only if j starts at an event \(e' \in \{1,\ldots ,e\}\) and ends at an event \(f' \in \{e+1,\ldots ,n+1\}\).

Let \(\Phi : P(SEE) \rightarrow P(OOE)\) with \((t,x,y) \mapsto (t,u)\) denote the linear transformation that is given by equations (24) and the identity map for the \(t_e\)-variables. We prove the following.

Theorem 1

\(\Phi (P(SEE)) \subsetneq P(OOE)\)

Proof

Let \((t,x,y) \in P(SEE)\) and \(\Phi (t,x,y) = (t,u)\). We have to show that u satisfies every inequality of OOE. First, for inequalities (4), we get

$$\begin{aligned} \sum _{e \in \mathcal E} u_{je}&= \sum _{e \in \mathcal E} \left( \sum _{e' \le e} x_{je'} - \sum _{e' \le e} y_{je'} \right) \\&= \sum _{e \in \mathcal E} \left( \sum _{e' < e} x_{je'} - \sum _{e' \le e} y_{je'} \right) + \sum _{e \in \mathcal E} x_{je} \\&\overset{(16)}{=} \sum _{e \in \mathcal E} \left( 1 - \sum _{e' \ge e} x_{je'} - \sum _{e' \le e} y_{je'} \right) + \sum _{e \in \mathcal E} x_{je} \\&\overset{(18)}{\ge } \sum _{e \in \mathcal E} x_{je} \overset{(16)}{=} 1 \end{aligned}$$

for every \(j \in \mathcal J\). Moreover, for inequalities (5), we have

$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot u_{je} = \sum _{j \in \mathcal J} r_{jk} \cdot \left( \sum _{e' \le e} x_{je'} - \sum _{e' \le e} y_{je'} \right) \overset{(19)}{\le } R_k \end{aligned}$$

for all \(k \in \mathcal R\) and \(e \in \mathcal E\). Inequalities (10) are the same as for P(SEE), and for the stronger non-preemptive inequalities (12), it holds

$$\begin{aligned} \sum _{q=0}^{2l} (-1)^q \cdot u_{je_q} =&\sum _{q=0}^{2l} (-1)^q \cdot \left( \sum _{e' \le e_q} x_{je'} - \sum _{e' \le e_q} y_{je'} \right) \\ \overset{(18)}{\le }&\sum _{q=0}^{2l} (-1)^q = 1 \end{aligned}$$

for all \(j \in \mathcal J\) and all subsets \(\{e_0,\ldots ,e_{2l}\} \subseteq \mathcal E\). Next, inequalities (13) translate to

$$\begin{aligned}&p_j \cdot ( u_{jf} - u_{je} - u_{ig} ) \\&\quad = p_j \cdot \left( \sum _{e' \le f} x_{je'} - \sum _{e' \le f} y_{je'} - \sum _{e' \le e} x_{je'} + \sum _{e' \le e} y_{je'} \right. \\&\qquad \left. - \sum _{e' \le g} x_{je'} + \sum _{e' \le g} y_{je'} \right) \\&\quad \le p_j \cdot \left( - \sum _{e' \le e} x_{je'} + \sum _{e' \le g} y_{je'} \right) \\&\quad \overset{(16)}{\le } p_j \cdot \left( \sum _{e'\ge e} x_{je'} + \sum _{e' \le g} y_{je'} - 1 \right) \overset{(23)}{\le } t_g - t_e \end{aligned}$$

for all \(j \in \mathcal J\) and \(e,f,g \in \mathcal E \cup \{0,n+1\}\) with \(e< f < g\). Furthermore, let \(\pi = (j_1,\ldots ,j_m)\) be a path in the precedence digraph \(\mathcal G = (\mathcal J, \mathcal P)\) and let \(\{e_1,\ldots ,e_m\} \subseteq \mathcal E\) be a subset of events with \(e_q \ge e_{q+1}\) for \(q=1,\ldots ,m-1\). For the stronger precedence inequalities (15), we get

$$\begin{aligned}&\sum _{q=1}^m u_{j_qe_q} = \sum _{q=1}^{m} \left( \sum _{e' \le e_q} x_{j_{q}e'} - \sum _{e' \le e_q} y_{j_qe'} \right) \\&\quad = \sum _{q=1}^{m-1} \left( \sum _{e' \le e_q} x_{j_{q+1} e'} - \sum _{e' \le e_q} y_{j_qe'} \right) + x_{j_1e_1} - y_{j_me_m} \\&\quad \overset{(17)}{=} \sum _{q=1}^{m-1} \left( \sum _{e' \le e_q} x_{j_{q+1} e'} + \sum _{e' > e_q} y_{j_qe'} - 1 \right) + x_{j_1e_1} - y_{j_me_m} \\&\quad \overset{(21)}{\le } x_{j_1e_1} - y_{j_me_m} \le 1. \end{aligned}$$

Consequently, every inequality of P(OOE) is implied by inequalities of P(SEE) under the linear transformation \(\Phi \). By Propositions 1 and 2, the LP value of OOE is strictly smaller than the LP value of SEE. Since both LP values are determined by \(t_{n+1}\) and \(\Phi \) maps \(t_{n+1}\) under identity, we conclude that the strict inclusion \(\Phi (P(SEE)) \subsetneq P(OOE)\) holds. \(\square \)

It follows that SEE yields a strictly stronger formulation than OOE at the expense of doubling the number of variables. In the next section, we consider a sparse reformulation of SEE that has structurally and computationally useful properties.

3.4 Unimodular reformulation

In this section, we study a further linear transformation of SEE that, in fact, yields an equivalent model, but the obtained constraint matrix is much more sparse. Reformulations with sparser matrices can have a huge impact on the solution time (Bianco and Caramia 2013) since the sparsity can be exploited by modern MIP solvers. Consider the linear transformation of SEE that is given by the equations

$$\begin{aligned}&\tilde{x}_{je} = \sum _{e' \le e} x_{je'} \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(25)
$$\begin{aligned}&\tilde{y}_{je} = \sum _{e' \le e} y_{je'} \quad \forall j \in \mathcal J, e \in \mathcal E^+ \end{aligned}$$
(26)

which says that \(\tilde{x}_{je} = 1\) if and only if job j starts not later than event e and \(\tilde{y}_{je} = 1\) if and only if job j ends not later than event e. Note that there is also the backward transformation \(x_{je} = \tilde{x}_{je} - \tilde{x}_{je-1}\) and \(y_{je} = \tilde{y}_{je} - \tilde{y}_{je-1}\). For convenience, we again assume that \(\tilde{x}_{j0} = \tilde{y}_{j1} = 0\).

The new model uses variables \(\tilde{x}, \tilde{y}\), and we denote it as the Revised Start-End Event-Based Model (RSEE) that reads as follows:

$$\begin{aligned}&\min \ t_{n+1} \nonumber \\&\tilde{x}_{jn} = 1 \quad \forall j \in \mathcal J \end{aligned}$$
(27)
$$\begin{aligned}&\tilde{y}_{jn+1} = 1 \quad \forall j \in \mathcal J \end{aligned}$$
(28)
$$\begin{aligned}&\tilde{x}_{je} \le \tilde{x}_{je+1} \quad \forall j \in \mathcal J, e \in \mathcal E: e < n \end{aligned}$$
(29)
$$\begin{aligned}&\tilde{y}_{je} \le \tilde{y}_{je+1} \quad \forall j \in \mathcal J, e \in \mathcal E^+: e < n+1 \end{aligned}$$
(30)
$$\begin{aligned}&\tilde{y}_{je+1} \le \tilde{x}_{je} \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(31)
$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot \left( \tilde{x}_{je} - \tilde{y}_{je} \right) \le R_k \quad \forall k \in \mathcal R, e \in \mathcal E \end{aligned}$$
(32)
$$\begin{aligned}&t_e + p_j \cdot (\tilde{y}_{jf}-\tilde{x}_{je-1}) \le t_f \quad \forall j \in \mathcal J, (e,f) \in \mathcal A \end{aligned}$$
(33)
$$\begin{aligned}&\tilde{x}_{je} \le \tilde{y}_{ie} \quad \forall (i,j) \in \mathcal P, e \in \mathcal E \end{aligned}$$
(34)
$$\begin{aligned}&t_e \le t_{e+1} \quad \forall e \in \mathcal E \\&t_e \ge 0 \quad \forall e \in \mathcal E \cup \{n+1\} \nonumber \\&\tilde{x}_{je} \in \{0,1\} \quad \forall j \in \mathcal J, e \in \mathcal E \nonumber \\&\tilde{y}_{je} \in \{0,1\} \quad \forall j \in \mathcal J, e \in \mathcal E^+ .\nonumber \end{aligned}$$
(35)

The objective function minimizes the makespan. Equations (27) and (28) say that every job starts or ends until event n or \(n+1\), respectively. Inequalities (29) and (30) express that if job j starts/finishes until event e, then it also starts/finishes until event \(e+1\). Inequalities (31) require that if job j finishes until event \(e+1\), then it must start until event e. Inequalities (32) are the resource constraints in which a job j is active at event e if and only if j starts but does not finish until event e. The time constraints (33) indicate that if job j finishes until event f but does not start until event \(e-1\), then \(t_e + p_j \le t_f\) must hold. Finally, the precedence constraints (34) ensure for each precedence pair \((i,j) \in \mathcal P\) that if job j starts until event e, then job i finishes until e.

We can observe that the constraint matrix of RSEE has much less nonzero coefficients than SEE since most rows contain only \(\mathcal O(1)\) entries. This property is rather a technical improvement because it primarily improves the representation of the constraint set what affects the performance of the used MIP solver. However, we can also find substructures in the constraint matrix that are well-suited for variable propagations, see the following.

A matrix \(A \in \mathbb R^{p \times q}\) is called totally unimodular, if every non-singular square submatrix \(A'\) of A has determinant \(det(A') \in \{-1,1\}\). The importance of totally unimodular matrices in integer programming is omnipresent, see Schrijver (2002) for an overview. In particular, if A is totally unimodular and b integer, then the polyhedron \(\{ x: Ax \le b, x \ge 0 \}\) has only integer vertices. We can find similar properties in RSEE.

Lemma 5

The transformation matrix of Eqs. (25) and (26) is totally unimodular.

Proof

Equations (25) and (26) can be written in matrix form as \(\left( {\begin{array}{c}\tilde{x}\\ \tilde{y}\end{array}}\right) = A \cdot \left( {\begin{array}{c}x\\ y\end{array}}\right) \). Since the columns of A can easily be arranged such that A has only consecutive ones in each row, we get a sufficient condition for A being totally unimodular. \(\square \)

Lemma 5 says that the transformation (25), (26) is unimodular which implies that feasible integer solutions of SEE are mapped to feasible integer solutions of RSEE that means the transformation is integer-preserving. This shows the equivalence of integer solutions of SEE and RSEE. Moreover, we can find components in RSEE with integral properties.

Lemma 6

The constraint matrix defined by inequalities (27)–(31) and (34) is totally unimodular.

Proof

The constraint matrix associated with inequalities (27)–(31) and (34) corresponds to a network matrix that is known to be totally unimodular, see Schrijver (2002). \(\square \)

It follows that if we restrict RSEE to inequalities (29)–(31), (34), then solving the corresponding LP yields integer solutions. An interesting research direction is to combine this integrality property with Lagrangian relaxation and flow computations in the underlying job–event network, similar to Möhring et al. (2003) for the time-indexed model, where we might approximate feasible integer solutions of RSEE very quickly.

From this theoretical background, our computational results reflect the expected improvement and show that the sparse formulation RSEE clearly improves upon the solution quality compared to SEE, see Sect. 6.

4 Interval event-based model

In this section, we introduce a new event-based model for the RCPSP. In contrast to SEE, we model the assignment of a job to a start and end event by one decision variable instead of two. Hence, we assign every job to a whole interval [ef] of events. Therefore, we call it the Interval Event-Based Model (IEE).

As before, we consider time variables \(t_e\) for each event \(e \in \mathcal E\) and \(t_{n+1}\) equals the makespan. Next, there are decision variables \(z_{jef} \in \{0,1\}\) for all \(j \in \mathcal J\) and \((e,f) \in \mathcal A\) where \(z_{jef} = 1\) if and only if job j starts at event e and ends at event f, otherwise \(z_{jef} = 1\). Hence, if \(z_{jef} = 1\), then job j must be processed in the time interval \([t_e,t_f]\). The complete IEE model is stated as:

$$\begin{aligned}&\min \ t_{n+1} \nonumber \\&\sum _{(e,f) \in \mathcal A} z_{jef} = 1 \quad \forall j \in \mathcal J \end{aligned}$$
(36)
$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot \sum _{e'\le e < f'} z_{je'f'} \le R_k \quad \forall k \in \mathcal R, e \in \mathcal E \end{aligned}$$
(37)
$$\begin{aligned}&t_e + p_j \cdot \sum _{e \le e' < f'\le f} z_{je'f'} \le t_f \quad \forall j \in \mathcal J, (e,f) \in \mathcal A \end{aligned}$$
(38)
$$\begin{aligned}&\sum _{(e',f') \in \mathcal A: f' > e} z_{ie'f'} + \sum _{(e',f') \in \mathcal A: e' \le e} z_{je'f'} \le 1 \nonumber \\&\quad \forall (i,j) \in \mathcal P, e \in \mathcal E \\&t_e \ge 0 \quad \forall e \in \mathcal E \cup \{n+1\} \nonumber \\&z_{jef} \in \{0,1\} \quad \forall j \in \mathcal J, (e,f) \in \mathcal A .\nonumber \end{aligned}$$
(39)

The objective function minimizes the makespan. Equations (36) ensure that every job is assigned to exactly one event interval. Inequalities (37) require that the resource demands of all jobs whose assigned event interval \([e',f']\) overlaps some event e must not exceed the resource capacities. Moreover, inequalities (38) say that if job j is assigned an event interval \([e',f'] \subseteq [e,f]\), then \(t_e + p_j \le t_f\) must hold. Next, inequalities (39) forbid for every precedence pair \((i,j) \in \mathcal P\) that their assigned event intervals overlap in some event e. In total, IEE has \(n \cdot \left( {\begin{array}{c}n+1\\ 2\end{array}}\right) \) binary variables and \(\mathcal O(n \cdot (|\mathcal R| + |\mathcal A| + |\mathcal P|))\) inequalities.

Compared to OOE and SEE, the IEE model requires a factor of \(\mathcal O(n)\) additional decision variables. In turn, the number of inequalities is slightly smaller in practice and it does not involve any linearization techniques as used in inequalities (13) and (23).

In the next sections, we study the LP-relaxation of IEE and its polyhedral relationship to OOE, SEE and the time-indexed model DDT.

4.1 LP-relaxation

In this section, we study the quality of the LP-relaxation of IEE. Similar to SEE, the following proposition is stated for the case of no precedence constraints, but therefore it also applies for the general RCPSP.

Proposition 3

If \(\mathcal P = \emptyset \), then the LP-relaxation of IEE has an optimal objective value of \(p_{\max } = \max _{j \in \mathcal J} p_j\).

Proof

For inequalities (38) with \((e,f) = (1,n+1)\), we get \(t_{n+1} \ge p_j\) for all \(j \in \mathcal J\). Hence, \(p_{\max }\) is a lower bound on the optimal LP value. Next, we construct a feasible LP solution that yields \(p_{\max }\) also as upper bound. Let an LP solution of IEE be given by \(z_{jef} = \frac{1}{n}\) for all \(j \in \mathcal J, (e,f) \in \mathcal A\) with \(f=e+1\), and let \(t_e = p_{\max } \cdot \frac{e-1}{n}\) for all \(e \in \mathcal E \cup \{n+1\}\). All other variables are zero. To show LP-feasibility of the vector (tz), we check every inequality of IEE separately. For inequalities (36), we get

$$\begin{aligned} \sum _{(e,f) \in \mathcal A} z_{jef} = \sum _{e \in \mathcal E} \frac{1}{n} = 1 \end{aligned}$$

for all \(j \in \mathcal J\). Moreover, for inequalities (38), we get

$$\begin{aligned}&p_j \cdot \sum _{e \le e' < f' \le f} z_{je'f'} \\&\quad = p_j \cdot \frac{f-e}{n} \le p_{\max } \cdot \frac{f-e}{n} = t_{f} - t_e \end{aligned}$$

for all \(j \in \mathcal J\) and \((e,f) \in \mathcal A\). Inequalities (37) yield

$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot \sum _{e' \le e < f'} z_{je'f'} = \sum _{j \in \mathcal J} r_{jk} \cdot \frac{1}{n} \le R_k \end{aligned}$$

for all \(k \in \mathcal R\) and \(e \in \mathcal E\) where the last inequality holds because otherwise there exists a job \(j \in \mathcal J\) with \(r_{jk} > R_k\) which implies an infeasible problem. Since \(t_{n+1} = p_{\max }\), the optimal LP value has a lower and upper bound of \(p_{\max }\). This shows the proposition. \(\square \)

Corollary 3

The integrality gap of IEE is unbounded.

Again, the LP solution used in the proof of Proposition 3 is not valid for the precedence inequalities (39) which indicates that the precedence inequalities are slightly stronger in a polyhedral context.

Next, we show that optimal LP solutions of IEE are characterized by an interesting property that we call the split property. Namely, there is an optimal LP solution that has nonzero values \(z_{jef} > 0\) only for event intervals of length \(f-e = 1\).

Proposition 4

There exists an optimal LP solution of IEE such that \(z_{jef} > 0\) implies \(f - e = 1\) for all \(j \in \mathcal J\) and \((e,f) \in \mathcal A\).

Proof

Assume that \((t,z) \in P(IEE)\) is an optimal LP solution of IEE with \(z_{jef} > 0\) for some \(j \in \mathcal J\) and \((e,f) \in \mathcal A\) with \(f - e > 1\). Let \(e'\) be an event with \(e< e' < f\). The idea is to split the interval [ef] into two intervals \([e,e']\) and \([e',f]\). Then, we add the value \(\frac{t_{e'} - t_e}{t_{f} - t_e} \cdot z_{jef}\) to \(z_{jee'}\) and \(\frac{t_{f} - t_{e'}}{t_{f} - t_e} \cdot z_{jef}\) to \(z_{je'f}\). The original variable is set to \(z_{jef} = 0\). The new solution still satisfies equalities (36). Moreover, it weakens inequalities (37) at event \(e'\) and can only weaken the sequential sums in the precedence inequalities (39) of job j (either with j as predecessor or successor). The construction also preserves the values of the \(t_e\) variables. Hence, the new solution is still LP-feasible. We repeat this procedure for all jobs \(j \in \mathcal J\) until \(z_{jef} > 0\) implies \(f - e = 1\) which shows the proposition. \(\square \)

The split property has a direct consequence on the solvability of the LP-relaxation of IEE, since we can restrict to variables \(z_{jef}\) where \(f-e = 1\). This reduces the number of variables and of some inequalities by a factor of \(\mathcal O(n)\). Moreover, the reduced LP-relaxation has been already studied in the literature.

Let \(\mu _{je}\) denote the portion of job j that is executed in the time interval \([t_e,t_{e+1}]\). Consider the following linear program (LPGS) that was (in a different but equivalent form) introduced by Carlier and Néron (2003) to compute a lower bound on the makespan of the RCPSP:

$$\begin{aligned}&\min \ \ t_{n+1} \nonumber \\&\sum _{e \in \mathcal E} \mu _{je} = 1 \quad \forall j \in \mathcal J \end{aligned}$$
(40)
$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot \mu _{je} \le R_k \quad \forall k \in \mathcal R, e \in \mathcal E \end{aligned}$$
(41)
$$\begin{aligned}&p_{j} \cdot \mu _{je} \le t_{e+1} - t_e \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(42)
$$\begin{aligned}&\sum _{e' \le e} \mu _{je'} + \sum _{e' \ge e} \mu _{ie'} \le 1 \quad \forall (i,j) \in \mathcal P, e \in \mathcal E\\&\mu _{je} \ge 0 \quad \forall j \in \mathcal J, e \in \mathcal E \nonumber \\&t_e \ge 0 \quad \forall e \in \mathcal E \cup \{n+1\}.\nonumber \end{aligned}$$
(43)

From the split property, we obtain a one-to-one correspondence between the optimal LP solutions of IEE and LPGS.

Proposition 5

There exists an optimal LP solution (tz) of IEE and an optimal LP solution \((t',\mu )\) of LPGS such that \(t_e = t'_e\) for all \(e \in \mathcal E\) and \(z_{j,e,e+1} = \mu _{je}\) for all \(j \in \mathcal J, e \in \mathcal E\).

Proof

By the split property of IEE, \(z_{jef} > 0\) implies \(f - e = 1\); hence, \(z_{jef} = 0\) for all \(j \in \mathcal J\) and \((e,f) \in \mathcal A\) with \(f - e > 1\). We directly apply the transformation \(t_e = t_e'\) for all \(e \in \mathcal E\) and \(\mu _{je} = z_{j,e,e+1}\) for all \(j \in \mathcal J, e \in \mathcal E\). By doing the calculations, substituting \(\mu _{je}\) in IEE yields exactly LPGS (note that inequalities (38) become redundant for \(f-e > 1\)). \(\square \)

As a consequence of Proposition 5, we can solve the LP-relaxation of IEE by the much more compact LPGS model. Carlier and Néron (2003) and Haouari et al. (2014) also propose many additional cutting planes for LPGS. An interesting future research direction is to solve such a stronger version of LPGS as an LP subroutine in combination with a branching rule on the original IEE model. Our computational results include only the basic IEE formulation.

It still remains to examine the actual strength of the LP-relaxation of IEE. We address this aspect in the next section.

4.2 Relationship to SEE

In the following, we compare the LP-relaxations of IEE and SEE. For this, recall the polyhedron P(SEE) as defined in Sect. 3.3 and define analogously

$$\begin{aligned} P(IEE)= & {} \{ (t,z) \in \mathbb R^{n+1}_{\ge 0} \times [0,1]^{n \cdot |\mathcal A|} : \\&(t,z) \text {satisfies} (36){-}(39) \} \end{aligned}$$

as the polyhedron of the linear relaxation of IEE. Again, we can deduce a linear transformation between SEE and IEE that is given by

$$\begin{aligned}&x_{je} = \sum _{f > e} z_{jef} \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(44)
$$\begin{aligned}&y_{jf} = \sum _{e < f} z_{jef} \quad \forall j \in \mathcal J, f \in \mathcal E^+ \end{aligned}$$
(45)

and reformulates the assignment of jobs to start and end events. Moreover, let \(\Phi : P(IEE) \rightarrow P(SEE)\) with \((t,z) \mapsto (t,x,y)\) denote the linear transformation given by (44), (45) and the identity map for the \(t_e\)-variables. We show that P(IEE) is contained in P(SEE) under the transformation \(\Phi \).

Theorem 2

\(\Phi (P(IEE)) \subsetneq P(SEE)\)

Proof

Let \((t,z) \in P(IEE)\), and let \(\Phi (t,z) = (t,x,y)\). We have to show that \((t,x,y) \in P(SEE)\). We do this by checking feasibility for each inequality of SEE separately. For inequalities (16) and (17), we get

$$\begin{aligned}&\sum _{e \in \mathcal E} x_{je} = \sum _{e \in \mathcal E} \sum _{f > e} z_{jef} \overset{(36)}{=} 1 \\&\sum _{f \in \mathcal E^+} y_{jf} = \sum _{f \in \mathcal E^+} \sum _{e < f} z_{jef} \overset{(36)}{=} 1 \end{aligned}$$

for every \(j \in \mathcal J\). Moreover, for inequalities (18), we have

$$\begin{aligned} \sum _{e'\ge e} x_{je'} + \sum _{f' \le e} y_{jf'}&= \sum _{e'\ge e} \sum _{f'>e'} z_{je'f'} + \sum _{f' \le e} \sum _{e'<f'} z_{je'f'} \\&\le \sum _{(e',f') \in \mathcal A} z_{je'f'} \overset{(36)}{=} 1 \end{aligned}$$

for all \(j \in \mathcal J\) and \(e \in \mathcal E\). Next, inequalities (23) imply

$$\begin{aligned}&p_j \cdot \left( \sum _{e'\ge e} x_{je'} + \sum _{f'\le f} y_{jf'} - 1 \right) \\&\quad \overset{(36)}{=} p_j \cdot \left( \sum _{e'\ge e} \sum _{f'>e'} z_{je'f'} + \sum _{f'\le f} \sum _{e'<f'} z_{je'f'} \right. \\&\qquad \left. - \sum _{(e',f') \in \mathcal A} z_{je'f'} \right) \\&\quad = p_j \cdot \left( \sum _{e \le e'< f' \le f} z_{je'f'} - \sum _{e'< e< f< f'} z_{je'f'} \right) \\&\quad \le p_j \cdot \sum _{e \le e' < f' \le f} z_{je'f'} \overset{(38)}{\le } t_f - t_e \end{aligned}$$

for all \(j \in \mathcal J\) and \((e,f) \in \mathcal A\). Furthermore, for inequalities (19), we get

$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot \left( \sum _{e'\le e} x_{je'} - \sum _{f' \le e} y_{jf'} \right) \\&\quad = \sum _{j \in \mathcal J} r_{jk} \cdot \left( \sum _{e' \le e} \sum _{f'>e'} z_{je'f'} - \sum _{f' \le e} \sum _{e'<f'} z_{je'f'} \right) \\&\quad = \sum _{j \in \mathcal J} r_{jk} \cdot \sum _{e' \le e < f'} z_{je'f'} \overset{(37)}{\le } R_k \end{aligned}$$

for all \(k \in \mathcal R\) and \(e \in \mathcal E\). Finally, for inequalities (21), we obtain

$$\begin{aligned}&\sum _{e'\le e} x_{je} + \sum _{f'>e} y_{if'} \\&\quad = \sum _{e' \le e} \sum _{f'>e'} z_{je'f'} + \sum _{f'>e} \sum _{e'<f'} z_{ie'f'} \\&\quad = \sum _{(e',f') \in \mathcal A: e' \le e} z_{je'f'} + \sum _{(e',f') \in \mathcal A: f'>e} z_{ie'f'} \overset{(39)}{\le } 1 \end{aligned}$$

for every \((i,j) \in \mathcal P, e \in \mathcal E\). It follows \((t,x,y) \in P(SEE)\) which shows that \(\Phi (P(IEE)) \subseteq P(SEE)\).

We still have to show that \(\Phi (P(IEE)) \ne P(SEE)\). For this, we give a solution \((t,x,y) \in P(SEE)\) for which there exists no \((t,z) \in P(IEE)\) such that \(\Phi (t,z) = (t,x,y)\). Consider two jobs \(\mathcal J = \{1,2\}\) with \(p_1 = p_2 = 1\) and resource demands \(r_1 = r_2 = 2\) where the resource capacity is \(R = 3\). Thus, the event sets are given by \(\mathcal E = \{1,2\}\) and \(\mathcal E^+ = \{2,3\}\). A feasible LP solution of SEE is given by \(x_{1,1}=y_{1,2} = 1\), \(x_{2,1} = x_{2,2} = y_{2,2} = y_{2,3} = 0.5\) and \(t_1 = 0\), \(t_2 = t_3 = 1\). All other variables are zero. We search for \((t,z) \in P(IEE)\) such that \(\Phi (t,z) = (t,x,y)\). Since \(t_2 = t_3\), we have \(z_{2,2,3} = 0\) by inequalities (38) and, in turn, \(z_{2,1,2} + z_{2,1,3} = 1\). But since \(z_{1,1,2} = 1\), the resource constraints (37) of IEE at event \(e=1\) yield \(2 \cdot ( z_{1,1,2} + z_{1,1,3} ) + 2 \cdot (z_{2,1,2} + z_{2,1,3}) = 4 > 3\). It follows that for the constructed solution \((t,x,y) \in P(SEE)\), there exists no solution \((t,z) \in P(IEE)\) such that \(\Phi (t,z) = (t,x,y)\). Consequently, \(\Phi (P(IEE)) \ne P(SEE)\) which shows the proposition. \(\square \)

We can now combine the linear transformation \(\Phi _1\) given by (44), (45) from IEE to SEE and the linear transformation \(\Phi _2\) given by (24) from SEE to OOE to get a nested linear transformation \(\tilde{\Phi }= \Phi _2 \circ \Phi _1\) from IEE to OOE. By doing the calculations, for \((t,z) \in P(IEE)\), the mapping \(\tilde{\Phi }(t,z) = (t,u)\) is given by

$$\begin{aligned}&u_{je} = \sum _{e' \le e < f'} z_{je'f'} \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(46)

and the identity map for the \(t_e\) variables. Equation (46) states that job j is active at event e if and only if j starts at an event earlier or equal to e and ends at an event later than e. Combining Theorems 1 and 2, we obtain the following corollary.

Corollary 4

\(\tilde{\Phi }(P(IEE)) \subsetneq P(OOE)\)

Consequently, IEE strictly dominates SEE and OOE in terms of their LP-relaxations. This makes IEE the strongest event-based formulation and leads to the strict domination order of \(IEE \succ SEE \succ OOE\) of their respective linear programming relaxations. That completes our polyhedral study of the event-based models. It remains to compare the LP-relaxations of the event-based models and the time-indexed model. We approach this problem in the next section.

4.3 Relationship to DDT

The DDT model considers a discrete scheduling horizon \(\mathcal T = \{0,\ldots ,T\}\) where T is an upper bound on the makespan. For every job j and time t, there is a decision variable \(x_{jt} \in \{0,1\}\) with \(x_{jt} = 1\) if and only if job j starts at time t and \(x_{jt} = 0\) otherwise. For convenience in writing the model, we assume that \(x_{jt} = 0\) for all \(j \in \mathcal J\) and \(t < 0\) or \(t>T-p_j\). Then, DDT can be stated as:

$$\begin{aligned}&\sum _{t \in \mathcal T} x_{jt} = 1 \quad \forall j \in \mathcal J \end{aligned}$$
(47)
$$\begin{aligned}&\sum _{j \in \mathcal J} \sum _{t'= t-p_j+1}^t r_{jk} \cdot x_{jt'} \le R_k \quad \forall k \in \mathcal R, t \in \mathcal T \end{aligned}$$
(48)
$$\begin{aligned}&\sum _{t' \ge t-p_i+1} x_{it'} + \sum _{t' \le t} x_{jt'} \le 1 \quad \forall (i,j) \in \mathcal P, t \in \mathcal T \\&x_{jt} \in \{0,1\} \quad \forall j \in \mathcal J, t \in \mathcal T.\nonumber \end{aligned}$$
(49)

Equalities (47) state that every job gets assigned exactly one start time. Inequalities (48) ensure that the resource capacities are not exceeded at any time and inequalities (49) model the precedence constraints that are due to Christofides et al. (1987). In total, DDT has \(\mathcal O(n \cdot T)\) variables and \(\mathcal O(n + T \cdot (|\mathcal R| + |\mathcal P|))\) constraints. Since the model size scales with T, DDT quickly becomes intractable when T gets large. For this reason, we need strong event-based models as alternative.

Note that we do not state the makespan objective for DDT because it requires to introduce additional variables and precedence relations. But here, we are only interested in the basic polyhedral structure of DDT.

To relate IEE and DDT, our general idea is to expand the event set \(\mathcal E\) to the discrete time set \(\mathcal T\) and analyze the induced formulations. For this, we parameterize IEE by the considered event set. For example, IEE(\(\mathcal E\)) denotes the IEE model with event set \(\mathcal E = \{1,\ldots ,n\}\) as used in the paper before. We finally want to study IEE(\(\mathcal T\)) where each event represents a time point. In a first step, we address the extended formulation IEE(\(\mathcal E'\)) according to some extended event set \(\mathcal E' = \{1,\ldots ,n'\}\) with \(n' > n\). After that, we compare the linear relaxations of IEE to DDT.

Note that extending the event set cannot strengthen the LP-relaxation of IEE since any LP solution of IEE(\(\mathcal E\)) remains feasible for IEE(\(\mathcal E'\)) on the original event set \(\mathcal E \subseteq \mathcal E'\). In fact, we show that extending the event set may even weaken the LP value of IEE.

Proposition 6

Given \(\mathcal E, \mathcal E'\) with \(|\mathcal E| < |\mathcal E'|\), then there exist instances of the RCPSP where the optimal LP value of IEE(\(\mathcal E'\)) is strictly smaller than the optimal LP value of IEE(\(\mathcal E\)).

Proof

Given a set of jobs \(\mathcal J = \{1,2,3\}\) with \(p_j = 1\) and \(r_j = 1\) for all \(j \in \{1,2,3\}\) and \(R = 2\). Moreover, we have the precedence constraint \(\mathcal P = \{ (2,3) \}\). By the split property, we assume that \(z_{jef} = 0\) for all \(j \in \mathcal J\) and \((e,f) \in \mathcal A\) with \(f-e > 1\). For the standard event set \(\mathcal E = \{1,2,3 \}\), we get an optimal LP solution of \(z_{1,2,3} = z_{2,2,3} = z_{3,1,2} = 0\) and \(z_{j,e,e+1} = \frac{1}{2}\) for all other nonzero variables that yields an LP value of \(\frac{3}{2}\). For the extended event set \(\mathcal E' = \{ 1,2,3,4 \}\), we get an optimal LP solution of \(z_{1,3,4} = z_{2,3,4} = z_{3,1,2} = 0\) and \(z_{j,e,e+1} = \frac{1}{3}\) for all other nonzero variables that yields an LP value of \(\frac{4}{3}\). Hence, extending the event set decreases the objective value of IEE. \(\square \)

Corollary 5

Given \(\mathcal E, \mathcal E'\) with \(|\mathcal E| < |\mathcal E'|\), then IEE(\(\mathcal E\)) dominates IEE(\(\mathcal E'\)).

Proposition 6 holds only for \(\mathcal P \ne 0\); otherwise, we can construct an LP solution of IEE(\(\mathcal E'\)) as in the proof of Proposition 3 with objective value \(p_{\max }\) that matches the lower bound of IEE(\(\mathcal E\)).

By sufficiently fine discretization of the time horizon, we assume that \(|\mathcal E| \le |\mathcal T|\) holds without loss of generality. Let the polytope of the linear relaxation of DDT be given by

$$\begin{aligned}&P(DDT) = \{ x \in [0,1]^{n \cdot (T+1)} : x \text {satisfies} (47){-}(49) \}. \end{aligned}$$

Additionally, consider the extended model IEE(\(\mathcal T\)) where the event set is represented by the discrete time horizon \(\mathcal T = \{0,\ldots ,T\}\). We can write the variables of IEE equivalently as \(z_{j,t,t'}\) with \(j \in \mathcal J\) and \((t,t') \in \mathcal A\). Define \(\mathcal N = \{ z_{j,t,t'}: j \in \mathcal J, (t,t') \in \mathcal A: t'-t = p_j\}\) as the set of variables that belong to (event) intervals of the form \([t,t+p_j]\) for some job j. Next, define

$$\begin{aligned} P_{(z,\bar{z})}(IEE(\mathcal T)) = \{ (z,\bar{z}) :&(t,z,\bar{z}) \in P(IEE(\mathcal T)), \\&z \in N, \bar{z} \notin \mathcal N\} \\ P_{(z,0)}(IEE(\mathcal T)) = \{ (z,\bar{z}) :&(z,\bar{z}) \in P_{(z,\bar{z})}(IEE(\mathcal T)), \\&\bar{z} = 0 \} \end{aligned}$$

as the polytopes that are projections onto the z-variables of IEE. By definition, we immediately see that

$$\begin{aligned} P_{(z,0)}(IEE(\mathcal T)) \subset P_{(z,\bar{z})}(IEE(\mathcal T)) \end{aligned}$$

holds. Consider further the polytope

$$\begin{aligned} P_z(IEE(\mathcal T)) = \{ z :&(z,0) \in P_{(z,0)}(IEE(\mathcal T))\} \end{aligned}$$

that equals the projection of \(P_{(z,0)}(IEE(\mathcal T))\) onto the set of variables \(\mathcal N\). Consider the identity transformation

$$\begin{aligned}&x_{jt} = z_{j,t,t+p_j} \quad \forall j \in \mathcal J, (t,t') \in \mathcal A: t'-t = p_j \end{aligned}$$
(50)

that maps between the variable spaces of IEE(\(\mathcal T\)) and DDT. Under this identity, it turns out that both polytopes are equal.

Theorem 3

\(P_z(IEE(\mathcal T)) = P(DDT)\)

Proof

Let \(z \in P_z(IEE(\mathcal T))\) and \(x \in P(DDT)\). We show that the inequalities that describe P(DDT) are equal to those that describe \(P_z(IEE(\mathcal T))\) under the identity map (50). This shows that their induced polytopes must be equal. By assumption, we have \(x_{jt} = z_{j,t,t'} = 0\) for all \(j \in \mathcal J\) and \(t < 0\) or \(t > T-p_j\).

First, Eqs. (36) and (47) are equivalent since

$$\begin{aligned} \sum _{t \in \mathcal T} x_{jt} \overset{}{=} \sum _{t \in \mathcal T} z_{j,t,t+p_j} = \sum _{(t,t') \in \mathcal A} z_{j,t,t'} \overset{(36),(47)}{=} 1 \end{aligned}$$

for all \(j \in \mathcal J\). Furthermore, inequalities (37) and (48) are equal because

$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot \sum _{t'=t-p_j+1}^t x_{jt'} = \sum _{j \in \mathcal J} r_{jk} \cdot \sum _{t'=t-p_j+1}^t z_{j,t',t'+p_j}\\&\quad = \sum _{j \in \mathcal J} r_{jk} \cdot \sum _{(t',t'') \in \mathcal A: t' \le t < t''} z_{j,t',t''} \overset{(37),(48)}{\le } R_k \end{aligned}$$

for all \(k \in \mathcal R\) and \(t \in \mathcal T\). Finally, for inequalities (39) and (49), we get

$$\begin{aligned}&\sum _{t' \ge t-p_i+1} x_{it'} + \sum _{t' \le t} x_{jt'} \\&\quad = \sum _{t' \ge t-p_i+1} z_{i,t',t'+p_i} + \sum _{t' \le t} z_{j,t',t'+p_j} \\&\quad = \sum _{(t',t'') \in \mathcal A: t'' > t} z_{i,t',t''} + \sum _{(t',t'') \in \mathcal A: t' \le t} z_{j,t',t''} \overset{(39),(49)}{\le } 1 \end{aligned}$$

for all \((i,j) \in \mathcal P\) and \(t \in \mathcal T\). In particular, inequalities (38) do not affect the polytope \(P_z(IEE(\mathcal T)))\) since for any \(z \in P_z(IEE(\mathcal T)))\), we can always find values for the \(t_e\)-variables such that (38) holds. Consequently, \(P_z(IEE(\mathcal T))\) and P(DDT) are described by the same inequalities, and therefore, both polytopes are equal. \(\square \)

It follows that lifting P(DDT) by a zero vector yields \(P_{(z,0)}(IEE(\mathcal T))\) that is a subset of \(P_{(z,\bar{z})}(IEE(\mathcal T))\). Since the \(t_e\) variables can be neglected, we get the following corollary.

Corollary 6

DDT dominates IEE(\(\mathcal T\)).

Corollary 6 must still be considered with caution. In terms of the solution space, DDT dominates IEE(\(\mathcal T\)) by the statements made in this section. However, their objective functions are modeled in different subspaces. In DDT, the objective function is modeled via the decision variables \(x_{jt}\), see Pritsker et al. (1969), and in IEE via the continuous \(t_{n+1}\) variable. Therefore, it is hard to generally compare the LP bounds of IEE and DDT, even if their solution spaces are comparable.

To summarize, we have shown that DDT can be obtained from IEE by expansion and restriction of its variable space. Including all polyhedral results of this paper, we obtain a complete model hierarchy of the event-based models and its connection to the time-indexed model, see Fig. 1.

Fig. 1
figure 1

Dominance hierarchy of the presented models: an arc \(A \rightarrow B\) indicates that model A dominates model B

5 Preprocessing

Before we proceed with our computational results, we apply additional preprocessing steps that reduce the model sizes and improve the basic formulations of the three models OOE (u-variables), SEE (xy-variables) and IEE (z-variables).

5.1 Reducing the number of events

An optimal solution to any of the event-based models does not necessarily need all events \(\mathcal E = \{1,\ldots ,n\}\) to allocate all the jobs. Therefore, one approach to reduce the model size of the event-based models is to decrease the number of events. Hence, we ask whether there exists an optimal solution to the RCPSP that uses at most k events or, more generally, if there exists any solution to the RCPSP that uses at most k events. Let us denote the latter decision problem as k-EP. We show that k-EP is already NP-complete by performing a reduction from the bin packing problem (BPP).

In the BPP, we are given a set of items \(\mathcal I\) where each item i has a weight \(w_i\). Moreover, we are given a set of bins \(\mathcal B\) where each bin b has capacity C. The decision problem k-BPP of BPP asks whether there exists an assignment of all items to at most k bins such that the total item weight in every bin does not exceed the capacity C. The k-BPP is a well-known NP-complete problem and contains the partition problem as a special case, see Garey and Johnson (2002). We show the same for k-EP.

Proposition 7

k-EP is NP-complete.

Proof

We perform a reduction from k-BPP. Given a solution to the RCPSP, the number of used events can be retrieved in polynomial time, so k-EP is in NP. Assume an instance of k-BPP and convert it into an instance of k-EP by setting \(\mathcal J = \mathcal I\), \(p_j = 1\) for all \(j \in \mathcal J\) and consider one resource with capacity \(R = C\) and \(r_{j} = w_j\) for all \(j \in \mathcal J\). Using this construction, there exists a feasible bin packing of size at most k if and only if there exists a feasible RCPSP schedule that uses at most k events or has makespan at most k, respectively. Hence, k-BPP yields a ‘yes’ instance if and only if k-EP yields a ‘yes’ instance which shows the proposition. \(\square \)

Proposition 7 reveals that reducing the number of events is a non-trivial issue. In particular, the actual question of deciding whether there exists an optimal schedule with at most k start events is NP-hard because checking whether a given schedule is optimal cannot be done in polynomial time, unless \(P = NP\). Note that this does not prevent from finding polynomial-time certificates for a smaller number of events. Since we focus on exact solutions to the RCPSP, we use the complete event set \(\mathcal E = \{1,\ldots ,n\}\) for our computational results.

5.2 Eliminating assignments from precedence constraints

As pointed out by Koné et al. (2011), the set of feasible events for a given job can be reduced by integrating the precedence constraints. Let \(n_j^-\) be the number of predecessors and \(n_j^+\) be the number of successors of job j including all transitive precedence relations in the precedence graph \(\mathcal G = (\mathcal J, \mathcal P)\). Since \(\mathcal E = \{1,\ldots ,n\}\), we can assume that every predecessor or successor of a job j starts at its own event, so we exclude any assignment of job j to a start event \(e \in \{1,\ldots ,n_j^-\}\) and end event \(f \in \{n+1-n_j^+,\ldots ,n+1\}\). Hence, we perform the reductions

$$\begin{aligned} u_{je} = 0&\quad \forall j \in \mathcal J, e \in \mathcal E: e \le n_j^-, e \ge n - n_j^+ \\ x_{je} = 0&\quad \forall j \in \mathcal J, e \in \mathcal E: e \le n_j^-, e \ge n - n_j^+ \\ y_{jf} = 0&\quad \forall j \in \mathcal J, f \in \mathcal E^+: f-1 \le n_j^-, f \ge n - n_j^+ + 1 \\ z_{jef} = 0&\quad \forall j \in \mathcal J, (e,f) \in \mathcal A: e \le n_j^-, f \ge n - n_j^+ + 1 \end{aligned}$$

in each of the models OOE, SEE and IEE, respectively. Most current MIP solvers can handle the above equations efficiently by deleting all implied redundant variables and constraints in a preprocessing phase.

5.3 Time bound inequalities

In all three models OOE, SEE and IEE, the time constraints (6), (23), (38) contain the largest number of inequalities and they are also responsible for the generally weak LP bounds. In the following, we present two strengthening approaches.

5.3.1 Integrating time windows

For every job \(j \in \mathcal J\), we compute a time window \([E_j,L_j]\) in which j must be scheduled. This is done as follows. We first compute an upper bound T on the makespan by applying a list scheduling algorithm, see Kolisch and Hartmann (1999), and perform constraint propagation on the eligible time windows as done in Brucker and Knust (2000). In particular, we perform precedence propagations and energetic reasoning propagations, see Baptiste et al. (2012) and Tesch (2018). Thus, the earliest start times respect at least the inequalities \(E_i + p_j \le E_j\) for all \((i,j) \in \mathcal P\). Using the time windows \([E_j,L_j]\), we derive inequalities that basically require \([t_e,t_f] \subseteq [E_j,L_j]\) if job j starts at event e and ends at event f. For OOE, we get the inequalities

$$\begin{aligned}&E_j \cdot u_{je} \le t_e \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(51)
$$\begin{aligned}&t_{e} \le T + ( L_j - T ) \cdot u_{je} \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(52)

which state that \(E_j \le t_e \le L_j\) if job j is active at event e. Similarly, for SEE, we obtain the inequalities

$$\begin{aligned}&E_j \cdot \sum _{e' \le e} x_{je'} \le t_e \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(53)
$$\begin{aligned}&(E_j + p_j) \cdot \sum _{f' \le f} y_{jf'} \le t_f \quad \forall j \in \mathcal J, e \in \mathcal E^+ \end{aligned}$$
(54)
$$\begin{aligned}&t_e \le T + (L_j - p_j - T ) \cdot x_{je} \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(55)
$$\begin{aligned}&t_f \le T + (L_j - T) \cdot y_{jf} \quad \forall j \in \mathcal J, f \in \mathcal E^+ \end{aligned}$$
(56)

which imply that \(E_j \le t_e \le L_j-p_j\) and \(E_j+p_j \le t_f \le L_j\) if job j starts at event e and ends at event f. Moreover, by applying the transformations (44) and (45) from SEE to IEE, we get the equivalent inequalities

$$\begin{aligned}&E_j \cdot \sum _{e' \le e} \sum _{f' > e'} z_{je'f'} \le t_e \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(57)
$$\begin{aligned}&(E_j + p_j) \cdot \sum _{f' \le f} \sum _{e' < f'} z_{je'f'} \le t_f \quad \forall j \in \mathcal J, f \in \mathcal E^+ \end{aligned}$$
(58)
$$\begin{aligned}&t_e \le T + (L_j - p_j - T) \cdot \sum _{f' > e} z_{jef'} \quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(59)
$$\begin{aligned}&t_f \le T + (L_j - T) \cdot \sum _{e' < f} z_{je'f} \quad \forall j \in \mathcal J, f \in \mathcal E^+ \end{aligned}$$
(60)

for IEE. The basic idea of these inequalities was already proposed by Koné et al. (2011), but our inequalities dominate the originally proposed ones. If we add these inequalities, we get the following better LP bound for SEE and IEE.

Lemma 7

Let \(L_P\) denote the length of the longest path in the precedence graph \(\mathcal G = (\mathcal J, \mathcal P)\). Adding the time bound inequalities for SEE and IEE yields in both models an optimal LP value of at least \(L_P\).

Proof

After time window processing, we have that \(L_P \le \max _{j \in \mathcal J} (E_j + p_j)\). The added time bound inequalities imply \(E_j+p_j \le t_{n+1}\) for all jobs j, so we get \(L_P \le t_{n+1}\) which shows the statement. \(\square \)

In the next section, we add further inequalities that achieve an LP bound equal to an energetic lower bound for the RCPSP.

5.3.2 Energetic time bounds

The next bound relies on the fact that the sum of the energies \(r_{jk} \cdot p_j\) of all jobs that are processed in the event interval \([t_e,t_f]\) must not exceed \(R_k \cdot (t_f-t_e)\). For SEE, this translates into the inequality

$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot p_j \cdot \left( \sum _{e' \ge e} x_{je'} + \sum _{f' \le f} y_{jf'} - 1 \right) \le R_k \cdot (t_f - t_e) \nonumber \\&\quad \forall k \in \mathcal R, (e,f) \in \mathcal A, \end{aligned}$$
(61)

while for IEE, this is equivalent to

$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot p_j \cdot \sum _{e \le e' < f' \le f} z_{je'f'} \le R_k \cdot (t_f - t_e) \nonumber \\&\quad \forall k \in \mathcal R, (e,f) \in \mathcal A \end{aligned}$$
(62)

by (44) and (45). Due to the limited modeling possibilities, we do not achieve similar strong inequalities for OOE, so we omit them.

Lemma 8

Let \(B = \max _{k \in \mathcal R} \left( \sum _{j \in \mathcal J} r_{jk} \cdot p_j \right) / R_k\) denote the energetic lower bound for the RCPSP. Adding the energetic inequalities for SEE and IEE yields an optimal LP value of at least B in both models.

Proof

For SEE and IEE, consider the energetic inequality with \((e,f) = (1,n+1)\) which implies \(\sum _{j \in \mathcal J} r_{jk} \cdot p_j \le R_k \cdot t_{n+1}\) for every \(k \in \mathcal R\). \(\square \)

Our computational experience showed that adding all energetic inequalities does not substantially improve the solving performance of SEE (RSEE, respectively) and IEE. Therefore, we add inequalities (61) and (62) only for all \(k \in \mathcal R\) and \((e,n+1) \in \mathcal A\) in order to only improve upon the LP bound that is determined by \(t_{n+1}\).

5.4 Maximal interval event length

The IEE model considers binary variables \(z_{jef}\) for every job j and start–end every pair of events (ef). Hence, it has a factor of \(\mathcal O(n)\) more binary variables compared to OOE and SEE which constitutes a potential bottleneck for solving IEE. However, in most integer solutions of IEE where \(z_{jef}=1\) for some job j, the distance \(f-e\) between the start event e and the end event f is rather small. Therefore, the idea is to compute an upper bound \(\delta _j \ge f-e\) for every job j such that there exists no feasible schedule with \(z_{jef} = 1\) and \(f-e > \delta _j\). In this case, all variables \(z_{jef}\) with \(f-e > \delta _j\) can be eliminated.

Consider a fixed job j and denote \(\delta _j\) as the maximum number of jobs that can start, while job j is active. Assume that job j is processed in the time interval \([S_j,S_j+p_j]\). To compute \(\delta _j\), we maximize the number of jobs that can simultaneously start in the time interval \([S_j,S_j+p_j-\epsilon ]\) (left knapsack) for some small \(\epsilon > 0\) and at time \(S_j+p_j\) (right knapsack). If we have integer processing times, we can set \(\epsilon = 1\). To keep the computation efficient, the left knapsack takes energetic bounds, that is, for every resource k, it has capacity \((R_k-r_{jk}) \cdot (p_j-\epsilon )\) and every job \(i \ne j\) has weight \(r_{ik} \cdot p_i\). In turn, the right knapsack has capacity \(R_k-r_{jk}\) for every resource k and every job \(i \ne j\) has weight \(r_{ik}\). Moreover, we allow only jobs i with \(p_i < p_j\) to be assigned to the left knapsack. If \(p_i \ge p_j\), then job i is active at time \(S_j+p_i\) and we could, without loss of generality, shift i to the right out of the left knapsack to pack more jobs in total. Let \(\mathcal J_j^P\) be the set of predecessors and \(\mathcal J_j^S\) the set of successors of job j. The set of jobs that can be assigned to the left and right knapsack is then given by

$$\begin{aligned}&\mathcal J_j^L = \{ i \in \mathcal J: i \ne j, i \notin \mathcal J_j^P \cup \mathcal J_j^S, p_i < p_j \}, \\&\mathcal J_j^R = \{ i \in \mathcal J: i \ne j, i \notin \mathcal J_j^P \cup \mathcal J_j^S \} \end{aligned}$$

where \(\mathcal J_j^L \subseteq \mathcal J_j^R\), see Fig. 2 for an example.

Fig. 2
figure 2

Maximum number of jobs that can start, while job j is active: The left knapsack contains jobs \(i_1,i_2,i_3 \in \mathcal J_j^L\) using energetic bounds, and the right knapsack contains the job \(i_4 \in \mathcal J_j^R\) using a one-dimensional knapsack bound

We model the combined knapsack problem as an integer program with binary variables \(v_i^L, v_i^R \in \{0,1\}\) that are equal to one, if job i is assigned to the left or the right knapsack, respectively. Thus, we solve

$$\begin{aligned}&\delta _j = \max \sum _{i \in \mathcal J_j^L} v_{i}^L + \sum _{i \in \mathcal J_j^R} v_i^R \nonumber \\&v_i^L + v_i^R \le 1 \quad \forall i \in \mathcal J_j^L \end{aligned}$$
(63)
$$\begin{aligned}&\sum _{i \in \mathcal J_j^L} r_{ik} \cdot p_i \cdot v_i^L \le (R_k-r_{jk}) \cdot (p_j-\epsilon ) \quad \forall k \in \mathcal R \end{aligned}$$
(64)
$$\begin{aligned}&\sum _{i \in \mathcal J_j^R} r_{ik} \cdot v_i^R \le R_k-r_{jk} \quad \forall k \in \mathcal R \end{aligned}$$
(65)
$$\begin{aligned}&v_{i}^L + v_{k}^L \le 1 \nonumber \\&\ \ \forall (i,k): i \in \mathcal J_j^L, k \in \mathcal J_j^L \cap \mathcal J_i^S : p_i + p_k \ge p_j \end{aligned}$$
(66)
$$\begin{aligned}&v_{i}^R + v_{k}^R \le 1 \quad \forall (i,k): i \in \mathcal J_j^R, k \in \mathcal J_j^R \cap \mathcal J_i^S \nonumber \\&v_{i}^L \in \{0,1\} \quad \forall i \in \mathcal J_j^L \\&v_{i}^R \in \{0,1\} \quad \forall i \in \mathcal J_j^R.\nonumber \end{aligned}$$
(67)

The objective function maximizes the number of assigned jobs, while every job can be assigned to at most one knapsack by inequality (63). As introduced, the left and right knapsack inequalities are given by (64) and (65). Furthermore, inequalities (66) and (67) forbid the assignments of two invalid precedence-constrained jobs to the same knapsack. Even though the stated problem is theoretically hard (contains the knapsack problem), it can be solved very quickly by current MIP solvers. After computing the values \(\delta _j\) for every job j, we eliminate all variables \(z_{jef}\) where \(f-e > \delta _j\). On practical instances, we observe that this reduction approach generally more than halves the number of variables of IEE. We apply the preprocessing steps for our computational experiments of the next section.

Fig. 3
figure 3

J30 instances: optimality gap (left) and min-primal-dual gap (right)

Fig. 4
figure 4

J60 instances: optimality gap (left) and min-primal-dual gap (right)

6 Computational results

In this section, we analyze the computational performance of the presented models on the J30 and J60 test sets of the PSPLIB (Kolisch and Sprecher 1997). Each of the two test sets consists of 480 instances with 30 jobs and 60 jobs, respectively. Each instance considers four resources with individual capacities, resource demands and precedence constraints. In previous works, the instances also have been parameterized by different parameters such as: order strength, network complexity, resource factor, resource strength, disjunction ratio and process range, see Artigues et al. (2013) and Koné et al. (2011).

We implemented the models DDT, OOE, SEE, RSEE and IEE using the C++ interface of the commercial MIP solver Gurobi 7.5.1 in default settings. The tests are performed on an Intel Xeon E5-2680 CPU with 2.7 Ghz using 8 cores for each instance. The time limit of each instances was set to 600 s.

For each of the test sets J30 and J60, we compute two charts. The first chart displays the number of instances where the optimality gap is below or equal to the value on the x-axis. The optimality gap is defined as \(1-\frac{lb}{ub}\) where lb is the computed dual bound and ub the computed primal bound after solving each instance. Thus, the first chart shows the real performance of exact solving the RCPSP. The second chart shows the number of instances in which the min-primal-dual gap is below or equal to the value on the x-axis. The min-primal-dual gap is defined as \(1-\max \left( \frac{ub^*}{ub}, \frac{lb}{lb*} \right) \) where ub and lb are defined as before, while \(ub^*\) and \(lb^*\) are the best-known upper and lower bound of the considered instance. Hence, the second chart displays the approximation quality to the lower or the upper bound. This is because we observed that, in the beginning of the solving process, the MIP solver often decides to improve either the primal or dual bound, while the other bound is disregarded during the remaining solving process. Hence, on many instances, one criterion outperforms the other one, especially on the J60 instances.

Before turning to our computational results, we mention that DDT should be considered separately because the event-based models are intended to apply for the RCPSP in the case where the time horizon is large. On the J30 and J60 instances, however, the time horizon has moderate size, so DDT performs quite well compared to the event-based models. However, one can easily scale the time horizon and processing times of any instance by a large factor such that DDT will always be outperformed by the event-based models as shown in Koné et al. (2011). Nevertheless, to allow a comparison on commonly known RCPSP instances, we also show the results of DDT.

For all event-based models, we consider the full event set \(\mathcal E = \{1,\ldots ,n\}\) and apply all preprocessing steps of Sect. 5. For DDT, we restrict the decision variables of each job \(j \in \mathcal J\) to the time windows \([E_j,L_j]\) as given in Sect. 5.3.1.

On the J30 test set, see Fig. 3, all event-based models show an almost equivalent performance for the optimality gap. This is mainly due to the strong reductions in the time window preprocessing on the J30 instances that equalizes the solving behavior of the event-based models. Similarly, DDT highly benefits from the time window preprocessing because the resulting number of variables and constraints is sufficiently small such that it outperforms the event-based models. Considering the min-primal-dual gap, we see that RSEE dominates all other event-based models. That means RSEE is superior to all other event-based models in the primal or the dual bound. Furthermore, this shows that the sparse representation of RSEE has a positive impact on the MIP solving performance. Moreover, RSEE closes the gap to DDT which shows that the event-based models can compete with DDT in the primal or dual bound approximation on instances where DDT should be highly superior.

On the J60 test set, see Fig. 4, the influence of the time window preprocessing decreases and the more model-specific solving performance comes to light. For the optimality gap, we observe again that RSEE solves as many instances to optimality as its polyhedrally equivalent counterpart SEE but highly dominates all other event-based models on the overall scale. This shows that the sparsity of RSEE has a high impact on the solving performance. Moreover, it replaces DDT as the best model from an optimality gap of 30% where DDT is not able to make progress on a couple of hard instances. Despite the stronger formulation and additional preprocessing, the new IEE model underlies SEE in direct comparison. The main reason is the still large number of variables and its complex polyhedral structure that causes expensive LP solving. In contrast to the other models, IEE barely left the root node of the search tree which lets us believe that IEE has remaining potential if the LP subproblems can be solved more efficiently, for example, by exploiting the split property as given in Sect. 4.1. Reversely, OOE reflects its proven theoretical strength and is clearly inferior to all other models. For the min-primal-dual criterion, we observe again that RSEE dominates all other event-based models, while SEE and IEE perform almost identically. The models RSEE, SEE and IEE are even almost as strong as DDT in the primal or dual bound. Again, OOE has the worst performance since it is not able to close both primal and dual gap because of its weak linear relaxation. Remarkably, the event-based models SEE, RSEE and IEE achieve the best-known dual or primal bound on about 62% of the instances.

In the following, we will give a quick summary of each model:

  • OOE: fast on small instances; poor performance on large instances; weak linear relaxation

  • SEE: decent overall performance; small model size; decent LP bound

  • RSEE: best event-based model; benefits from sparse constraint matrix; decent LP bound

  • IEE: strongest event-based model in theory; average practical performance; large number of variables; expensive LP solving

  • (DDT): best model when the time horizon is small; good LP bounds; inferior to all event-based models for large time horizons

Comparing our results to Koné et al. (2011), we are able to considerably improve upon the computational performance of all event-based models. In Koné et al. (2011), OOE was declared as the best performing model, while SEE was considerably outperformed. Our theoretical and computational results show the opposite. While in Koné et al. (2011), SEE solved 2.9% of all J30 instances to optimality, we achieve 53.5% (SEE) and 82.5% (RSEE) where the lower or upper bound is optimal. We believe that the main reason is the stronger event time inequalities (23) that have high impact on the dual bound during MIP solving. For the J60 test set, we can even solve about 44% of the instances to optimality and for RSEE, almost about 95% of all J60 instances are solved within 35% of optimality. Hence, being able to approach the J60 test set with compact formulations constitutes a clear improvement. Naturally, one has to incorporate current developments in MIP solving and computation power, but we believe the main improvement is made from a theoretical basis.

7 Conclusion

In this article, we studied the class of event-based models for the RCPSP and gave a complete characterization of their mutual polyhedral relationships and their connection to the common time-indexed formulation. Our proposed improvements made it possible to approach more difficult test sets of the PSPLIB by using the event-based models. It is of interest to further improve upon the solving performance of event-based models. This can be done, for example, by incorporating more complex on-top algorithms, such as Lagrangian relaxation that exploits the integrality of the subproblems (RSEE), or by considering model-specific properties, such as the split property of IEE, to solve the LP-relaxations faster.