24.02.2020  Ausgabe 2/2020 Open Access
A polyhedral study of eventbased models for the resourceconstrained project scheduling problem
 Zeitschrift:
 Journal of Scheduling > Ausgabe 2/2020
Wichtige Hinweise
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
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:
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.
$$\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)
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 branchandbound 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).
Anzeige
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:
timeindexed,
disjunctive and
eventbased models. In the following, we give a brief introduction to each model type.
Timeindexed 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 timeindexed 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 mincut computations (Möhring et al.
2003), strong cover cuts (Hardin et al.
2008) and nonsingular transformations (Artigues
2017). The basic modeling idea of DDT can also be transferred to other variants of the RCPSP such as the multimode 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 eventbased 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
i,
j. 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 ‘bigM’ inequalities that lead to very weak linear relaxations. Therefore, disjunctive models are not preferred for instances that contain many jobs.
Eventbased 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 eventbased modeling concept to solve the multimode RCPSP. As for positional assignments, eventbased 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 2
n events need to be considered that finally leads to a compact formulation. Koné et al. (
2011) revisited this eventbased modeling concept and introduced two new models OOE and SEE for the standard RCPSP. Notably, eventbased models do not involve as large constants as the disjunctive models. However, all known eventbased models still suffer from weak linear relaxations, but they represent the overall best alternative to DDT when the scheduling horizon becomes large.
Anzeige
Other exact solving methods Several other exact solving approaches exist for the RCPSP, mainly of the branchandbound 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 branchandbound 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 eventbased models and the timeindexed model. First, we revisit the models OOE and SEE of Koné et al. (
2011), propose stronger valid inequalities and discuss the impact on their LPrelaxations. Moreover, we introduce a new eventbased model that we call the
Interval EventBased 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 LPrelaxation 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 eventbased models and the timeindexed 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 eventbased and timeindexed 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 wellknown 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 EventBased 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 eventbased models. In Sect.
6, we finally compare the computational performance of the presented models and draw a conclusion in Sect.
7.
2 On–off eventbased model
In eventbased 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 eventbased formulations. In this section, we consider the first modeling variant with on–off assignments.
In the
On–Off EventBased 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
denote the set of consecutive event pairs. The OOE model can then be stated as follows:
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_{je1} = 1\) and
j ends at event
f if and only if
\(u_{jf1}  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 nonpreemption of the jobs, that is, if job
j starts at event
e, then it cannot be active at an event
\(e' \in \{1,\ldots ,e1\}\). 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)\).
$$\begin{aligned} \mathcal A = \{(e,f) \in \mathcal E \times \mathcal E \cup \{n+1\} : e < f\} \end{aligned}$$
$$\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_{je1} + u_{jf1}  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 (e1) \cdot (1u_{je}+u_{je1}) \nonumber \\&\quad \forall j \in \mathcal J, e \in \mathcal E \end{aligned}$$
(7)
$$\begin{aligned}&\sum _{e' \ge e} u_{je'} \le (ne+1) \cdot (1+u_{je}u_{je1}) \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 (1u_{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)
In the following, we introduce stronger inequalities for OOE and discuss their impact on the LPrelaxation.
2.1 Valid inequalities
We propose stronger
nonpreemptive, start–end time and
precedence inequalities.
2.1.1 Nonpreemptive inequalities
Lemma 1
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=g1\). Summing up inequalities (
11) for
\(e'=1,\ldots ,g2\) and adding the trivially valid inequality
\(u_{jg} = u_{jg1}  u_{jg1} + u_{jg} \le 1\) yield
which is equivalent to (
7). Next, let
\(f \in \mathcal E\) with
\(e=f1\) then summing up inequalities (
11) for all
\(g' = f+1,\ldots ,n\) and adding the trivial inequality
\(u_{jf1} = u_{jf}  u_{jf} + u_{jf1} \le 1\) yield
which is equivalent to (
8). This shows the lemma.
\(\square \)
$$\begin{aligned}&\sum _{e'<g} u_{je'} + (g1) \cdot (  u_{jg1} + u_{jg} ) \le (g1) \end{aligned}$$
$$\begin{aligned}&\sum _{g' \ge f} u_{jg'} + (nf+1) \cdot (  u_{jf} + u_{jf1} ) \le (nf+1) \end{aligned}$$
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 nonpreemption 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:
Notably, they show that inequalities (
12) yield a complete description of the integer polytope that restricts to the nonpreemptive 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 LPbased branchandbound algorithm. In the LPrelaxation, 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 nonpreemptive constraints with as few inequalities as possible, for example, by taking only inequalities (
7).
$$\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)
2.1.2 Start time inequalities
Lemma 2
The following start time inequalities
dominate inequalities (
6).
$$\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)
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_{jg1} \le 1\), we obtain
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=f1\).
\(\square \)
$$\begin{aligned}&p_j \cdot (u_{jg1}  u_{jf1}  u_{jg} + u_{jf}  1) \\&\le p_j \cdot (u_{jf}  u_{jf1}  u_{jg}) \le t_g  t_f \end{aligned}$$
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
dominate inequalities (
9).
$$\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)
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
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 ,m1\) 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 (
j,
e), and we add an arcs from a node (
i,
f) to node (
j,
e) 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 (
j,
e) by an arc of length
\(u_{je}^*\). Similarly, we create a sink node and link it to every other node (
j,
e) 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 (
j,
e) 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)\).
$$\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)
Even though inequalities (
15) provide a theoretically stronger LPrelaxation, 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 LPrelaxation
In this section, we examine the quality of the LPrelaxation of OOE.
Proposition 1
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 LPfeasible by showing that it satisfies every inequality of SEE. For the assignment constraints (
4), we have
for every job
\(j \in \mathcal J\). The resource constraints (
5) satisfy
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
for all
\(j \in \mathcal J\) and
\(e,f,g \in \mathcal E \cup \{0, n+1\}\) with
\(e< f < g\). The stronger nonpreemptive inequalities (
12) satisfy
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
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 ,m1\). Hence, the solution is feasible and has objective value
\(t_{n+1} = 0\). This shows the proposition.
\(\square \)
$$\begin{aligned}&\sum _{e \in \mathcal E} u_{je} = 1 \ge 1 \end{aligned}$$
$$\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}$$
$$\begin{aligned}&p_j \cdot (z_{jf}  z_{je}  z_{jg}) \le 0 = t_g  t_e \end{aligned}$$
$$\begin{aligned}&\sum _{q=0}^{2l} (1)^{q} \cdot u_{je_q} = \frac{1}{n} \le 1 \end{aligned}$$
$$\begin{aligned}&\sum _{q=1}^{m} u_{j_qe_{q}} = \frac{m}{n} \le 1 \end{aligned}$$
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 LPrelaxation 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 eventbased model
In this section, we examine the
Start–End EventBased 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:
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 nondecreasing by (
22). In total, SEE has
\(2n^2\) binary variables and
\(\mathcal O(n \cdot (\mathcal R + \mathcal A + \mathcal P))\) constraints.
$$\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)
In the next sections, we propose stronger valid inequalities for SEE and analyze the quality of its LPrelaxation.
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
dominate inequalities (
20).
$$\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)
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 LPrelaxation
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 LPrelaxation 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{e1}{n}\) for all
\(e \in \mathcal E\). All other variables are zero. We check LPfeasibility 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
for all
\(j \in \mathcal J\) and
\(e \in \mathcal E\). Moreover, for inequalities (
19), we get
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
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 \)
$$\begin{aligned} \sum _{e' \ge e} x_{je'} + \sum _{e' \le e} y_{je'} = \frac{ne+1}{n} + \frac{e1}{n} = 1 \le 1 \end{aligned}$$
$$\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}$$
$$\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 (fe)}{n} = t_f  t_e \end{aligned}$$
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
for every
\((i,j) \in \mathcal P\) and
\(e \in \mathcal E\) which is not LPfeasible. Loosely speaking, this suggests that the precedence constraints are tighter than the other inequalities and allow for a stronger modeling.
$$\begin{aligned}&\sum _{e' \le e} x_{je'} + \sum _{e'>e} y_{ie'} = \frac{e+ne+1}{n} = \frac{n+1}{n} > 1 \end{aligned}$$
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 LPrelaxation. 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
as the polyhedron of the linear relaxation of OOE that includes all stronger inequalities. Analogously, define
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).
$$\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}$$
$$\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}$$
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:
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\}\).
$$\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)
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
for every
\(j \in \mathcal J\). Moreover, for inequalities (
5), we have
for all
\(k \in \mathcal R\) and
\(e \in \mathcal E\). Inequalities (
10) are the same as for
P(
SEE), and for the stronger nonpreemptive inequalities (
12), it holds
for all
\(j \in \mathcal J\) and all subsets
\(\{e_0,\ldots ,e_{2l}\} \subseteq \mathcal E\). Next, inequalities (
13) translate to
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 ,m1\). For the stronger precedence inequalities (
15), we get
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 \)
$$\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}$$
$$\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}$$
$$\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}$$
$$\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}$$
$$\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}^{m1} \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}^{m1} \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}$$
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
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}_{je1}\) and
\(y_{je} = \tilde{y}_{je}  \tilde{y}_{je1}\). For convenience, we again assume that
\(\tilde{x}_{j0} = \tilde{y}_{j1} = 0\).
$$\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)
The new model uses variables
\(\tilde{x}, \tilde{y}\), and we denote it as the
Revised StartEnd EventBased Model (RSEE) that reads as follows:
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
\(e1\), 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.
$$\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}_{je1}) \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)
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 wellsuited for variable propagations, see the following.
A matrix
\(A \in \mathbb R^{p \times q}\) is called
totally unimodular, if every nonsingular 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.
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 integerpreserving. This shows the equivalence of integer solutions of SEE and RSEE. Moreover, we can find components in RSEE with integral properties.
Proof
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 timeindexed 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 eventbased model
In this section, we introduce a new eventbased 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 [
e,
f] of events. Therefore, we call it the
Interval EventBased 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:
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.
$$\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)
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 LPrelaxation of IEE and its polyhedral relationship to OOE, SEE and the timeindexed model DDT.
4.1 LPrelaxation
In this section, we study the quality of the LPrelaxation 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 LPrelaxation 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{e1}{n}\) for all
\(e \in \mathcal E \cup \{n+1\}\). All other variables are zero. To show LPfeasibility of the vector (
t,
z), we check every inequality of IEE separately. For inequalities (
36), we get
for all
\(j \in \mathcal J\). Moreover, for inequalities (
38), we get
for all
\(j \in \mathcal J\) and
\((e,f) \in \mathcal A\). Inequalities (
37) yield
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 \)
$$\begin{aligned} \sum _{(e,f) \in \mathcal A} z_{jef} = \sum _{e \in \mathcal E} \frac{1}{n} = 1 \end{aligned}$$
$$\begin{aligned}&p_j \cdot \sum _{e \le e' < f' \le f} z_{je'f'} \\&\quad = p_j \cdot \frac{fe}{n} \le p_{\max } \cdot \frac{fe}{n} = t_{f}  t_e \end{aligned}$$
$$\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}$$
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
\(fe = 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 [
e,
f] 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 LPfeasible. 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 LPrelaxation of IEE, since we can restrict to variables
\(z_{jef}\) where
\(fe = 1\). This reduces the number of variables and of some inequalities by a factor of
\(\mathcal O(n)\). Moreover, the reduced LPrelaxation 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:
From the split property, we obtain a onetoone correspondence between the optimal LP solutions of IEE and LPGS.
$$\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)
Proposition 5
There exists an optimal LP solution (
t,
z) 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
\(fe > 1\)).
\(\square \)
As a consequence of Proposition
5, we can solve the LPrelaxation 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 LPrelaxation of IEE. We address this aspect in the next section.
4.2 Relationship to SEE
In the following, we compare the LPrelaxations of IEE and SEE. For this, recall the polyhedron
P(
SEE) as defined in Sect.
3.3 and define analogously
as the polyhedron of the linear relaxation of IEE. Again, we can deduce a linear transformation between SEE and IEE that is given by
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 \).
$$\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}$$
$$\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)
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
for every
\(j \in \mathcal J\). Moreover, for inequalities (
18), we have
for all
\(j \in \mathcal J\) and
\(e \in \mathcal E\). Next, inequalities (
23) imply
for all
\(j \in \mathcal J\) and
\((e,f) \in \mathcal A\). Furthermore, for inequalities (
19), we get
for all
\(k \in \mathcal R\) and
\(e \in \mathcal E\). Finally, for inequalities (
21), we obtain
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)\).
$$\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}$$
$$\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}$$
$$\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}$$
$$\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}$$
$$\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}$$
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
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.
$$\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)
Corollary 4
\(\tilde{\Phi }(P(IEE)) \subsetneq P(OOE)\)
Consequently, IEE strictly dominates SEE and OOE in terms of their LPrelaxations. This makes IEE the strongest eventbased 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 eventbased models. It remains to compare the LPrelaxations of the eventbased models and the timeindexed 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>Tp_j\). Then, DDT can be stated as:
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 eventbased models as alternative.
$$\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'= tp_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 tp_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)
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 LPrelaxation 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
\(fe > 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
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
as the polytopes that are projections onto the
zvariables of IEE. By definition, we immediately see that
holds. Consider further the polytope
that equals the projection of
\(P_{(z,0)}(IEE(\mathcal T))\) onto the set of variables
\(\mathcal N\). Consider the identity transformation
that maps between the variable spaces of IEE(
\(\mathcal T\)) and DDT. Under this identity, it turns out that both polytopes are equal.
$$\begin{aligned}&P(DDT) = \{ x \in [0,1]^{n \cdot (T+1)} : x \text {satisfies} (47){}(49) \}. \end{aligned}$$
$$\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}$$
$$\begin{aligned} P_{(z,0)}(IEE(\mathcal T)) \subset P_{(z,\bar{z})}(IEE(\mathcal T)) \end{aligned}$$
$$\begin{aligned} P_z(IEE(\mathcal T)) = \{ z :&(z,0) \in P_{(z,0)}(IEE(\mathcal T))\} \end{aligned}$$
$$\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)
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 > Tp_j\).
First, Eqs. (
36) and (
47) are equivalent since
for all
\(j \in \mathcal J\). Furthermore, inequalities (
37) and (
48) are equal because
for all
\(k \in \mathcal R\) and
\(t \in \mathcal T\). Finally, for inequalities (
39) and (
49), we get
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 \)
$$\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}$$
$$\begin{aligned}&\sum _{j \in \mathcal J} r_{jk} \cdot \sum _{t'=tp_j+1}^t x_{jt'} = \sum _{j \in \mathcal J} r_{jk} \cdot \sum _{t'=tp_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}$$
$$\begin{aligned}&\sum _{t' \ge tp_i+1} x_{it'} + \sum _{t' \le t} x_{jt'} \\&\quad = \sum _{t' \ge tp_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}$$
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 eventbased models and its connection to the timeindexed model, see Fig.
1.
×
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 (
uvariables), SEE (
x,
yvariables) and IEE (
zvariables).
5.1 Reducing the number of events
An optimal solution to any of the eventbased 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 eventbased 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
kEP. We show that
kEP is already NPcomplete 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
kBPP 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
kBPP is a wellknown NPcomplete problem and contains the
partition problem as a special case, see Garey and Johnson (
2002). We show the same for
kEP.
Proposition 7
kEP is NPcomplete.
Proof
We perform a reduction from
kBPP. Given a solution to the RCPSP, the number of used events can be retrieved in polynomial time, so
kEP is in NP. Assume an instance of
kBPP and convert it into an instance of
kEP 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,
kBPP yields a ‘yes’ instance if and only if
kEP yields a ‘yes’ instance which shows the proposition.
\(\square \)
Proposition
7 reveals that reducing the number of events is a nontrivial issue. In particular, the actual question of deciding whether there exists an
optimal schedule with at most
k start events is NPhard 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 polynomialtime 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+1n_j^+,\ldots ,n+1\}\). Hence, we perform the reductions
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.
$$\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^+: f1 \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}$$
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
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
which imply that
\(E_j \le t_e \le L_jp_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
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.
$$\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)
$$\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)
$$\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)
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_ft_e)\). For SEE, this translates into the inequality
while for IEE, this is equivalent to
by (
44) and (
45). Due to the limited modeling possibilities, we do not achieve similar strong inequalities for OOE, so we omit them.
$$\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)
$$\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)
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 (
e,
f). 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
\(fe\) 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 fe\) for every job
j such that there exists no feasible schedule with
\(z_{jef} = 1\) and
\(fe > \delta _j\). In this case, all variables
\(z_{jef}\) with
\(fe > \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_kr_{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_kr_{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
where
\(\mathcal J_j^L \subseteq \mathcal J_j^R\), see Fig.
2 for an example.
$$\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}$$
×
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
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 precedenceconstrained 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
\(fe > \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.
$$\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_kr_{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_kr_{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)
×
×
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 E52680 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
xaxis. 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 minprimaldual gap is below or equal to the value on the
xaxis. The
minprimaldual 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 bestknown 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 eventbased 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 eventbased 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 eventbased 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 eventbased 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 eventbased 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 eventbased 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 eventbased models. Considering the minprimaldual gap, we see that RSEE dominates all other eventbased models. That means RSEE is superior to all other eventbased 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 eventbased 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 modelspecific 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 eventbased 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 minprimaldual criterion, we observe again that RSEE dominates all other eventbased 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 eventbased models SEE, RSEE and IEE achieve the bestknown dual or primal bound on about 62% of the instances.
In the following, we will give a quick summary of each model:
Comparing our results to Koné et al. (
2011), we are able to considerably improve upon the computational performance of all eventbased 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.

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 eventbased model; benefits from sparse constraint matrix; decent LP bound

IEE: strongest eventbased 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 eventbased models for large time horizons
7 Conclusion
In this article, we studied the class of eventbased models for the RCPSP and gave a complete characterization of their mutual polyhedral relationships and their connection to the common timeindexed formulation. Our proposed improvements made it possible to approach more difficult test sets of the PSPLIB by using the eventbased models. It is of interest to further improve upon the solving performance of eventbased models. This can be done, for example, by incorporating more complex ontop algorithms, such as Lagrangian relaxation that exploits the integrality of the subproblems (RSEE), or by considering modelspecific properties, such as the split property of IEE, to solve the LPrelaxations faster.
Acknowledgements
Open Access funding provided by Projekt DEAL.
Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.