Online interval scheduling on two related machines: the power of lookahead
 55 Downloads
Abstract
We consider an online interval scheduling problem on two related machines. If one machine is at least as twice as fast as the other machine, we say the machines are distinct; otherwise the machines are said to be similar. Each job \(j \in J\) is characterized by a length \(p_j\), and an arrival time \(t_j\); the question is to determine whether there exists a feasible schedule such that each job starts processing at its arrival time. For the case of unitlength jobs, we prove that when the two machines are distinct, there is an amount of lookahead allowing an online algorithm to solve the problem. When the two machines are similar, we show that no finite amount of lookahead is sufficient to solve the problem in an online fashion. We extend these results to jobs having arbitrary lengths, and consider an extension focused on minimizing total waiting time.
Keywords
Online algorithms Interval scheduling Lookahead Competitive ratio1 Introduction
Consider the following problem. We are given a finite set of jobs \(J = \{1,2, \ldots , n\}\), and two related machines called \(M_1\) and \(M_2\). Each job \(j \in J\) must start at a given arrival time\(t_j\), where \(0 \equiv t_1 \le t_2 \le \cdots \le t_n\), and each job \(j \in J\) has length\(p_j\). The two machines have respective speeds\(s_1\) and \(s_2\), with the convention that the first machine is faster than the second one (i.e., \(s_1 > s_2\)). Since, in our context, it is more intuitive to consider times rather than inverses of speeds, we use socalled standard processing times\(T_i = \frac{1}{s_i}\) for \(i = 1, 2\). Thus, it requires \(p_j \times T_i\) timeunits to process job \(j \in J\) on machine i (\(i=1,2\)). Each job \( j \in J\) must be assigned to either machine \(M_1\) or \(M_2\); the resulting schedule is feasible if and only if there is no overlap between any pair of jobs assigned to the same machine; in other words, for each pair of distinct jobs \(j_1, j_2 \in J\), with \(j_1 \le j_2\), assigned to a same machine i, \(t_{j_2} \ge t_{j_1} + p_{j_1}T_i\) (\(i=1,2\)). An instance of this problem is called feasible if a feasible schedule exists, otherwise the instance is called infeasible.
Our focus is on the existence of online algorithms that decide whether a given instance is feasible. In a classical online algorithm, the jobs and their lengths are not known in advance, and the existence of job j and its length \(p_j\) is only revealed at time \(t_j\). At that moment, the online algorithm has to assign the job to either machine \(M_1\), or machine \(M_2\), or report failure. Here, we want to understand to what extent partial knowledge of the future can help an online algorithm in order to decide feasibility. Thus, we employ a parameter \(\tau \), called the lookahead, so that at time t all arrival times of jobs arriving in \([t,t+\tau ]\), and their corresponding lengths, are known to the algorithm. More formally, for any duration \(\tau \ge 0\), the phrase an online algorithm with lookahead time \(\tau \) refers to an algorithm that has to decide at the arrival time of job j, i.e., at time \(t_j\), to which machine job j should be assigned, while knowing only what happened before \(t_j\), as well as the arrival times and the lengths of the jobs arriving in the interval \([t_j,t_j+\tau ]\). We say that an online algorithm with lookahead \(\tau \)exists if the algorithm constructs, in an online fashion, a feasible schedule whenever one exists. The interval \([t_j,t_j+\tau ]\) is called the lookahead interval with respect to \(t_j\).
This section is structured as follows. We give a concise overview of the literature on online interval scheduling in Sect. 1.1. Subsection 1.2 describes the practical application motivating this work, and Sect. 1.3 summarizes our results.
1.1 Literature
A defining characteristic of interval scheduling problems is that the starting times of the jobs are given, see Kolen et al. (2007) for a general survey. Thus, jobs can be represented by intervals and they require uninterrupted processing, so that two intervals that overlap cannot be assigned to a same machine. An interval is said to be accepted if it is entirely processed by a machine, while an interval that is not entirely processed, is lost. It is usually allowed to interrupt the processing of an interval to process another one. In that case, the interrupted interval is lost: its processing can not be resumed later on. One often wants to maximize the number of intervals accepted, or if jobs have weights, one wants to maximize the sum of the weights of accepted jobs. Online algorithms for interval scheduling problems have been studied since Lipton and Tomkins (1994); as described above the jobs and their lengths are not known in advance, and a decision about a job needs to be made at the instant it arrives. We refer to Sgall (1998) for a survey on online algorithms for scheduling problems, and for definitions of relevant terminology.
For a single machine, Woeginger (1994) presents an online algorithm that outputs a solution with a value at least \(\frac{1}{4}\) of the optimal weight under various conditions (including the case of unitlength jobs with arbitrary weights), i.e., he gives an algorithm achieving a competitive ratio of 4. Fung et al. (2014) achieve a competitive ratio of 2 using randomization, see also earlier work of Fung et al. (2008), Fung et al. (2012) and Epstein and Levin (2010). Recent work on online interval scheduling on two and three machines can be found in Yu and Jacobson (2018). In the context of a single machine, jobs of unit length and arbitrary weights, Zheng et al. (2013) investigate the impact of lookahead. They find that a lookahead of one timeunit serves as a threshold: a lookahead of less than one timeunit does not lead to the existence of algorithms with a better competitive ratio, while a lookahead of at least one timeunit does.
For a fixed number k of identical independent machines, Faigle and Nawijn (1995) and Carlisle and Lloyd (1995) present an online algorithm that maximizes the number of jobs accepted (even if jobs have arbitrary length). Krumke et al. (2011) allow the machines to be distinct and show that the decision problem derived from maximizing the number of jobs accepted (with machines having arbitrary speeds) is strongly NPcomplete. Dosa et al. (1994) consider an online scheduling problem with two related machines where the goal is to minimize makespan allowing rearrangement of jobs.
In a recent paper, Epstein et al. (2016) study online interval scheduling with related machines, where the jobs (or intervals) have a length, and a weight, and they present lower and upper bounds on competitive ratios of algorithms that aim at maximizing total weight of accepted intervals. In particular, for the case of two related machines, where jobs have unit length, as well as unit weight, they give an online algorithm achieving a competitive ratio of \(\frac{4}{3}\), which they show to be bestpossible. Other results in Epstein et al. (2016) include a matching lower and upper bound of k (where k is the number of machines) for the case of arbitrary lengths, and unit weights [correcting a claim in Krumke et al. (2011)].
Notice that, in contrast to the objective functions considered in those papers, we focus on a more modest question, namely the decision problem. Indeed, instead of maximizing total weight, we are only interested in the question whether there exists an online algorithm (with a certain amount of lookahead) that is able to accept all intervals if the instance allows so. The results of Epstein et al. (2016) imply that, without any additional ‘power’ for the online algorithm (such as lookahead), the answer to this question is no. To the best of our knowledge, the setting with lookahead, i.e., the setting where at a decision moment, some future jobs are known, has not been studied in the context of more than one machine in the field of interval scheduling.
However, when considering scheduling problems where jobs do not have fixed starting times, a sizable literature on the impact of lookahead exists. For instance, Schwarz (2008) considers a setting where advance warnings considering the (non)availability of a machine are given. Further, in Li et al. (2009) lookahead is considered for a problem involving a (parallel) batching machine. We also mention Erlebach and Spieksma (2003) and Miyazawa and Erlebach (2004) who consider an online interval scheduling problem where the intervals are revealed in the order of their right endpoints (which can be interpreted as a particular form of lookahead).
The offline version of a special case of our problem (namely, the setting with unitlength jobs) is studied in Passchyn et al. (2016). They provide necessary and sufficient conditions for the feasibility of a given instance. Based on this characterization (which we describe in Sect. 2.2), an O(n) algorithm is given to solve the problem with unitlength jobs. In addition, they describe an \(O(n^2)\) algorithm to solve the socalled bidirectional case with two machines, and also provide an \(O(mn^m)\) dynamic programming algorithm to solve the bidirectional problem with m machines; all these results pertain to the offline problem.
1.2 Motivation
Our problem is relevant in the context of handling ship traffic in inland waterways. In such waterways, locks are very often used to allow ships to overcome changes in the water level; more often than not, locks have multiple chambers that operate independently, and each chamber is able to transfer ships to the other side. Lock scheduling is receiving an increasing amount of attention, especially due to the growing relevance of inland waterway transport as a sustainable, cheap, emissionfriendly, and safe alternative to transport over land. We refer to Hermans (2014), Smith et al. (2011) and Passchyn et al. (2016) who study singlechamber locks, and to Prandtstetter et al. (2015), Disser et al. (2015) and Passchyn et al. (2016), where series of locks are studied.
We claim that operating a single lock with two distinct chambers and identical ships can be modeled as a scheduling problem by seeing ships as jobs and chambers as machines. In that case, we set \(p_j = 1\) for every job (ship) \(j \in J\), and \(T_1\) and \(T_2\) represent the socalled lockage times of the chambers (the lockage time is the time needed by a chamber to let a ship enter, change the water level, and let the ship exit). We are interested in the question whether a schedule exists in which no job (ship) has to wait.
Online algorithms with lookahead are especially relevant in this setting, since the person responsible for operating a lock (the lockmaster) may, on the one hand, know some time in advance that a ship is going to arrive, but, on the other hand, does not know all arrival times that will realize during a day of operation. In particular, we are aware of a situation (along the river Main, Würzburg, Germany) where the lockmaster has access to cameras that describe the situation one lock upstream, as well as one lock downstream. Clearly, such a situation can be modelled by choosing an appropriate value for the lookahead \(\tau \).
1.3 Our results
 (i)
For the case of unitlength jobs, we show that there exists an online algorithm with lookahead \(2T_1\) if and only if the ratio between the two standard processing times is at least 2 (Sect. 3); in addition, we show that there cannot exist an online algorithm with lookahead less than \(2T_1\).
 (ii)
We generalize these results to the case where jobs have arbitrary lengths (Sect. 4).
 (iii)
Then, in Sect. 5, we investigate whether our results extend to a situation where the objective is to minimize total waiting time.
2 Preliminaries
2.1 A graph reformulation
A key tool in our analysis is the following undirected graph that we build from a given instance \(\mathcal {I}\) defined by arrival times \((t_j)_{1 \le j \le n}\), \(T_1\), and \(T_2\) as follows. Let \(G(\mathcal {I}) = (V,E)\) where there is a node in V for each job \(j \in J\), i.e., \(V=J\). Observe that the sequence of the jobs implied by sorting their arrival times in nondecreasing order, and breaking ties arbitrarily, gives an order of the nodes of V. The edgeset E is the disjoint union of two sets \(E_1\) and \(E_2\) as follows. Let \(j_1, j_2 \in V\) with \(j_1 < j_2\): \((j_1,j_2) \in E_1 \Leftrightarrow t_{j_2}  t_{j_1} < p_{j_1} \times T_1\) and \((j_1, j_2) \in E_2 \Leftrightarrow t_{j_2}  t_{j_1} < p_{j_1} \times T_2\). We call an edge in \(E_1\) (\(E_2\)) a 1edge (2edge). Hence, a 1edge implies that the two corresponding jobs cannot both be assigned to machine \(M_1\), while a 2edge means that the two corresponding jobs cannot both be assigned to machine \(M_2\). Moreover, a 1triangle will stand for a triangle of 1edges in \(G(\mathcal {I})\). In terms of graphs, deciding whether an instance \(\mathcal {I}\) is feasible is equivalent to deciding whether the corresponding graph \(G(\mathcal {I}) = (V,E)\) allows a partition of V into two sets \(V_1\) and \(V_2\) such that \(V_1\) is an independent set in \((V, E_1)\) and \(V_2\) is an independent set in \((V, E_2)\).
The previous definitions have several consequences for the structure of the graph. A first one is that \(E_1 \subseteq E_2\). A second one is that the existence of an edge between \(j_1\) and \(j_2\) (with \(j_1 < j_2\)) crucially depends on the length \(p_{j_1}\). Indeed, if there are three nodes \(j_1, j_2, j_3\) such that \(j_1< j_2 < j_3\), the existence of \((j_1,j_3) \in E_1\) (\(E_2\)), implies that \((j_1,j_2) \in E_1\) (\(E_2\)). Notice however, that it does not imply that \((j_2, j_3) \in E_1\) (\(E_2\)).
For the sake of readability of our figures, we will not represent all the edges of the graph but only the maximal edges, i.e., those which are not implied by another represented edge. For example, keep in mind that if two nodes are connected by a 1edge, they are also connected by a 2edge. In the sequel, we will represent 2edges by segments in the form of arcs above the line of the nodes (\(\frown \)) whereas we will represent 1edges either by straight line segments (—), or by segments in the form of arcs below the line of the nodes (\(\smile \)).
2.2 Characterizing the offline case for unitlength jobs
In this subsection, we recall the offline characterization of Passchyn et al. (2016) for the case of unitlength jobs, i.e., for the case where \(p_j=1\) for all \(j \in J\). This assumption imposes additional structure on the graph \(G(\mathcal {I})\): if two nodes \(j_1\) and \(j_2\) are connected by an edge of any kind, then any node whose arrival times lies in \([t_{j_1},t_{j_2}]\) is connected to \(j_1\) as well as \(j_2\) by an edge of the same kind. Now, let us recall the characterization of feasible instances in this setting.
Definition 1
 1.

The nodes in the sequence appear in the order defined on V, with exception of \(j_1\) and \(j_k\), which satisfy \(j_2< j_1 < j_3\) and \(j_{k2}< j_k < j_{k1}\). More formally: \(j_x < j_{x+1}\) for all \(x \in \{2, \ldots , k2\}, j_2< j_1 < j_3\) and \(j_{k2}< j_k < j_{k1}\).
 2.

The pairs of consecutive nodes in the sequence are alternately connected by a 1edge and a 2edge, with the first and last edges in the sequence being both 1edges. More formally: \((j_x, j_{x+1}) \in E_1\) for all odd \(x \in \{1, \ldots , k1\}\), \((j_x, j_{x+1}) \in E_2\) for all even \(x \in \{1, \ldots , k1\}\).
Observation 1
Given is an instance \(\mathcal {I}\) and its graph \(G(\mathcal {I}) = (V, E)\). If there exists a node \(j \in V\) such that \((j, j+2) \in E_1\), i.e., if there exists a 1triangle, then the instance is not feasible.
Observation 2
Given is an instance \(\mathcal {I}\) and its graph \(G(\mathcal {I}) = (V, E)\). If there exists a node \(j \in V\) such that \((j,j+1), (j+1,j+2)\) and \((j+2,j+3)\) are 1edges and \((j,j+2)\) and \((j+1,j+3)\) are 2edges, then the instance is not feasible.
2.3 A lemma to prove the nonexistence of online algorithms with lookahead
We use the following lemma to prove the nonexistence of online algorithms with lookahead for our problem. The phrase “the first job” used below refers to the job with minimum arrival time, i.e, the job arriving at \(t_1\).
Lemma 1

the arrival times, as well as the corresponding lengths of jobs arriving in the interval \([0,\tau ]\) are the same in both instances,

in every feasible schedule for \(\mathcal {I}_1\), the first job is assigned to \(M_1\), whereas in every feasible schedule for \(\mathcal {I}_2\), the first job is assigned to \(M_2\),
Proof
We use contradiction. Suppose that there exists a deterministic online algorithm \(\mathcal {A}\) with lookahead time \(\tau \) for our problem. As the arrival times in the two instances restricted to the interval \([0,\tau ]\) are the same, algorithm \(\mathcal {A}\) cannot distinguish the two instances because its only knowledge of the input is the sequence of arrival times in the interval \([0,\tau ]\). Since \(\mathcal {A}\) is deterministic, it has to assign the first job of both instances to the same machine. But if \(\mathcal {A}\) assigns the first job to \(M_1\), then it does not output a feasible schedule for \(\mathcal {I}_2\) (whereas there is one), and if \(\mathcal {A}\) does not assign the first job to \(M_1\), then it does not output a nowait schedule for \(\mathcal {I}_1\) (whereas there is one). Hence, we have arrived at a contradiction, and conclude that there does not exist an online algorithm with lookahead \(\tau \) for our problem. \(\square \)
3 Online algorithms with lookahead for unitlength jobs
In this section we deal with jobs of unit length, i.e., we assume \(p_j=1\) for all \(j \in J\). We distinguish two situations: one where the speed of machine \(M_1\) is at least as fast as twice the speed of machine \(M_2\) (distinct machines), and one where this is not the case (similar machines). Thus, since \(s_1 < 2s_2\) implies \(T_2 < 2T_1\), we consider the case of distinct machines (where \(T_2 \ge 2T_1\)) in Sect. 3.1, and we consider the case of similar machines (where \(T_2 < 2T_1\)) in Sect. 3.2. The results in these subsections jointly imply the following statement:
Theorem 2
 (i)
If \(T_2 \ge 2T_1\), then there exists an online algorithm with lookahead time \(\tau \) if and only if \(\tau \ge 2T_1\).
 (ii)
If \(T_2 < 2T_1\), then, for any fixed \(\tau \ge 0\), there does not exist an online algorithm with lookahead time \(\tau \).
3.1 Distinct machines: the case where \(T_2 \ge 2T_1\)
Here we show that for the case \(T_2 \ge 2T_1\), there exists an online algorithm solving our problem if and only if the lookahead equals at least \(2T_1\).
 Case 1:
\((0,1) \notin E_1\). The algorithm assigns job 0 to \(M_1\).
This ensures that job 0 is processed while guaranteeing that both machines are available for the next job.
 Case 2:
\((0,1) \in E_1\) and \((1,2) \notin E_1\). The algorithm assigns job 0 to \(M_2\).
Observe that, in any feasible schedule, jobs 0 and 1 must be assigned to different machines. No matter which of these jobs goes where, we know that at time \(t_2\), machine \(M_1\) is available (since \((1,2) \notin E_1\)). Knowing this, it can only be beneficial to have machine \(M_2\) available as soon as possible, i.e., to assign job 0 to \(M_2\).
 Case 3:
\((0,1) \in E_1\) and \((1,2) \in E_1\) (which implies, since \(T_2 \ge 2T_1, (0,2) \in E_2\)). The algorithm assigns job 0 to \(M_1\).
Indeed, there is really no choice: job 0 needs to be assigned to \(M_1\), job 1 to \(M_2\) and job 2 to \(M_1\); otherwise, there is no feasible assignment.
We are now in a position to state and prove that Algorithm 1 is correct, i.e., that Algorithm 1 is indeed an online algorithm for our problem.
Lemma 2
If \(T_2 \ge 2T_1\), then, for any fixed \(\tau \ge 2T_1\), Algorithm 1 is an online algorithm with lookahead time \(\tau \).
Proof
We prove that Algorithm 1 is an online algorithm for our problem. First of all, observe that if the algorithm outputs an assignment of all jobs, it is necessarily a feasible schedule because each job is assigned to a machine that is available with respect to previous assignments. Thus, on infeasible instances, the algorithm returns ‘Infeasible’, which is correct. It remains to show that the algorithm returns a feasible assignment if the instance is feasible. We do so by assuming that the algorithm outputs ‘Infeasible’, and next show that the corresponding instance is indeed infeasible.
 (1)
Algorithm 1 assigned job \(j_3\) to \(M_2\), and
 (2)
job \(j_3\) has a successor \(j_1\) such that \((j_3, j_1) \in E_2\).
We now focus on the assignment of job \(j_4\). Again, suppose that both machines were available at time \(t_{j_4}\). First, observe that Algorithm 1 was not in Case 1 at time \(t_{j_4}\) because \((j_4,j_3) \in E_1\). The algorithm was not in Case 2 either (since job \(j_4\) was assigned to \(M_1\)). Thus, Algorithm 1 was in Case 3, which means that either (i) there is another job, say job \(j_5\), such that \(j_3< j_5 < j_2\) and \((j_3,j_5) \in E_1\), or (ii) \((j_3,j_2) \in E_1\). However, both cases are impossible since in case of (i) the instance is infeasible because of the bad path (see Fig. 4), and in case of (ii), \((j_4,j_3) \in E_1\) and \((j_3,j_2) \in E_1\) imply that \((j_4,j_2) \in E_2\) (because \(2T_1 \le T_2\)) and the instance is infeasible because of the structure in Observation 2 (Fig. 2).
 (1)
Algorithm 1 assigned job \(j_5\) to \(M_2\), and
 (2)
job \(j_5\) has a successor \(j_4\) such that \((j_5, j_4) \in E_2\).
As a result, Algorithm 1 outputs a feasible schedule whenever the instance is feasible, and we conclude that Algorithm 1 is correct. \(\square \)
Finally, we formulate in a lemma that a lookahead time of at least \(2T_1\) is necessary for an online algorithm to exist.
Lemma 3
If \(T_2 \ge 2T_1\), then, for any fixed \(\tau < 2T_1\), there is no online algorithm with lookahead time \(\tau \).
Proof
\(t_1\)  \(t_2\)  \(t_3\)  \(t_4\)  

\(\mathcal {I}_1\)  0  \(\frac{2T_1\epsilon }{2}\)  \(2T_1\epsilon \)  
\(\mathcal {I}_2\)  0  \(\frac{2T_1\epsilon }{2}\)  \(\frac{2T_1\epsilon }{2} + T_2  \epsilon \)  \(\frac{2T_1\epsilon }{2} + T_2  \frac{\epsilon }{2}\) 
Notice that for both instances, the two first arrivals are identical and \(\tau < t_3\). Moreover, there is only one feasible assignment for \(\mathcal {I}_1\), where job 1 is assigned to \(M_1\), whereas every feasible assignment for \(\mathcal {I}_2\) assigns job 1 to \(M_2\). Thus Lemma 1 applies to \(\mathcal {I}_1\) and \(\mathcal {I}_2\), which proves the result. \(\square \)
3.2 Similar machines: the case where \(T_2 < 2T_1\)
We repeat part (ii) of Theorem 2.
Lemma 4
If \(T_2 < 2T_1\), then, for any fixed \(\tau \ge 0\), there does not exist an online algorithm with lookahead time \(\tau \).
Proof
\(t_1\)  \(t_2\)  \(t_3\)  ...  \(t_{N+1}\)  \(t_{N+2}\)  \(t_{N+3}\)  \(t_{N+4}\)  

\(\mathcal {I}_1\)  0  T  2T  ...  NT  \(NT+T_1\)  \(\displaystyle NT+\frac{T_1+T_2}{2}\)  
\(\mathcal {I}_2\)  0  T  2T  ...  NT  \((N+1)T\)  \((N+1)T+T_1\)  \(\displaystyle (N+1)T+\frac{T_1+T_2}{2}\) 
Notice that \(t_N \le \tau \le t_{N+1}\). The corresponding graphs are given in Fig. 9 and 10 respectively.
Consider job \(N+1\) in \(\mathcal {I}_1\). In any feasible schedule for \(\mathcal {I}_1\) job \(N+1\) is assigned to \(M_1\). Indeed, if job \(N+1\) would be assigned to \(M_2\), then neither job \(N+2\) nor job \(N+3\) can be assigned to \(M_2\) (since \((N+1,N+3) \in E_2\)), and they also cannot both be assigned to \(M_1\) either (since \((N+2,N+3) \in E_1\)). Similarly, in any feasible schedule for \(\mathcal {I}_2\) job \(N+2\) is assigned to \(M_1\). Notice that if there is a chain of consecutive 1edges, such as the \(N+1\) earliest jobs of \(\mathcal {I}_1\), or the \(N+2\) earliest jobs of \(\mathcal {I}_2\), the assignment of one job of the chain implies those of all the other jobs, because there must be an alternation of \(M_1\) and \(M_2\). Thus, if N is even (odd), then \(\mathcal {I}_1\) has two feasible schedules that both assign the first job to \(M_1\) (\(M_2\)), whereas \(\mathcal {I}_2\) has two feasible schedules that both assign the first job to \(M_2\) (\(M_1\)). Notice also that the arrival times in the interval \([0,\tau ]\) are the same for \(\mathcal {I}_1\) and \(\mathcal {I}_2\) because \(NT \ge \tau \). Thus, we can apply Lemma 1, and conclude that there does not exist an online algorithm with lookahead time \(\tau \). \(\square \)
Notice that the proof of Lemma 4 does not apply when \(T_2 \ge 2T_1\) because in that case the existence of two consecutive 1edges implies the existence of a 2edge. Indeed, if \(t_{j+1}t_j < T_1\) and \(t_{j+2}t_{j+1} < T_1\), then \(t_{j+2}t_j < 2T_1 \le T_2\). Therefore, if \(T_2 \ge 2T_1\), the graphs drawn above do not correspond to any sequence of arrival times.
4 Online algorithms with lookahead: jobs with arbitrary length
In this section, we consider jobs of arbitrary length. Now, it becomes relevant whether we are given an upperbound, called P, on the length of the longest job in the instance. In case such a bound is given, and if the two machines are distinct, there exists an online algorithm with lookahead (see Sect. 4.1); and otherwise, there does not exist an online algorithm with any amount of lookahead (Sect. 4.2). More formally, we prove in these sections the following.
Theorem 3
 (i)
If \(T_2 > 2T_1\) and \(p_j \le P\) for \(j \in J\), then for any fixed \(\displaystyle \tau \ge \frac{(T_2T_1)^2}{T_2  2T_1}P\), there exists a nowait online algorithm with lookahead time \(\tau \).
 (ii)
If \(T_2 \le 2T_1\) or if job lengths can be arbitrarily large, then for any fixed \(\tau \ge 0\), there does not exist a nowait online algorithm with lookahead time \(\tau \).
4.1 Distinct machines and upperbounded job lengths
In this section, we first prove a lemma bounding the maximum difference in arrival times of consecutive jobs connected by 1edges (Sect. 4.1.1), state the online algorithm (Sect. 4.1.2), and finally prove its correctness (Sect. 4.1.3).
4.1.1 Bounding arrival times of consecutive jobs
Thus, suppose that \(T_2 > 2T_1\) and that all lengths are known to be smaller than P. We prove the following lemma that bounds the maximum difference in arrival times of consecutive jobs that are connected by 1edges.
Lemma 5
 (i)
\((j_x, j_{x+1}) \in E_1\) for each \(x \in \{1, \ldots , m1\}\), and
 (ii)
\((j_x, j_{x+2}) \notin E_2\) for each \(x \in \{1, \ldots , m2\}\),
Proof
4.1.2 The online algorithm
 Case 1:
\((0,1) \notin E_1\). The algorithm assigns job 0 to \(M_1\).
The Case 1 is the same as in Algorithm 1: if the next job 1 arrives after the completion of job 0 in case this job is performed by \(M_1\), i.e. if \((0,1) \notin E_1\), then it is always better to assign job 0 to \(M_1\) so that both machines available for job 1.
 Case 2:
\(\exists j \ge 1, (0,j+1) \in E_1\) and \((j,j+1) \in E_2\). The algorithm assigns job 0 to \(M_2\).
This condition is checked in the function case2. If we are in this case and if job 0 is assigned to \(M_1\), it is clear that the algorithm will fail to assign each job because jobs j and \(j+1\) cannot use \(M_1\) which is used by job 0 and they cannot use both \(M_2\) because they are connected by a 2edge. Thus, job 0 is forced to be assigned to \(M_2\).
 Case 3:
\(\exists j \ge 1, (0,j+1) \in E_2\) and \((j,j+1) \in E_1\). The algorithm assigns job 0 to \(M_1\).
This condition is checked in the function case3. It is the same as the condition of Case 2 after exchanging \(M_1\) and \(M_2\). Hence, if this condition is satisfied, job 0 is forced to be assigned to \(M_1\). It is because of this case that a lookahead time \(PT_2\) is needed to assign job j.
 Case 4:
The job \(j^*\) defined by \(j^* = \max \{j  (0,j) \in E_1\}\) satisfies \(t_{j^*} + p_{j^*} T_2 \le t_0 + p_0 T_2\). The algorithm assigns job 0 to \(M_1\)
This condition is checked in the function case4, where \(j^*\) is computed. Note that the set \(\{j  (0,j) \in E_1\}\) is not empty if we are not in Case 1. In this case, job 0 is assigned to \(M_1\) for the following reason. If job 0 is assigned to \(M_2\), then all jobs arriving in \([t_0, t_0 + p_0 T_2]\) must be assigned to \(M_1\). On the contrary, if job 0 is assigned to \(M_1\), then all jobs between 1 and \(j^*\) must be assigned to \(M_2\) (which is not a problem because we are not in the Case 2). In particular, when job \(j^*\) is assigned to \(M_2\), then all jobs arriving in \([t_{j^*}, t_{j^*} + p_{j^*} T_2]\) must be assigned to \(M_1\). But the assignment of jobs arriving in \([t_{j^*} + p_{j^*} T_2, t_0 + p_0 T_2]\) is not restricted a priori, whereas it is forced to be \(M_1\) if job 0 is assigned to \(M_2\). Said differently, assigning job 0 to \(M_2\) is more restrictive for further assignments than assigning it to \(M_1\). Then \(M_1\) is a better option.
 Case 5:
\(t_{j^*} + p_{j^*} T_2 > t_0 + p_0 T_2\) (negation of Case 4). The algorithm assigns job 0 to \(M_2\).
In this case, job 0 is assigned to \(M_2\) for the following reason. If job 0 is assigned to \(M_1\), then all jobs between 1 and \(j^*\) must be assigned to \(M_2\) and then all jobs arriving in \([t_{j^*}, t_{j^*}+p_{j^*}T_2]\) must be assigned to \(M_1\). However, we have \(t_{j^*}+p_{j^*}T_2 > t_0 + p_0 T_2\), and thus, if job 0 is assigned to \(M_2\), only jobs in \([t_0, t_0 + p_0 T_2]\) are forced to be assigned to \(M_1\) (which is not a problem because we are not in Case 3). Again, assigning job 0 to \(M_1\) is more restrictive for further assignments than assigning it to \(M_2\). Then \(M_2\) is a better option.
4.1.3 Correctness
We rephrase part (i) of Theorem 3 as a lemma.
Lemma 6
If \(T_2 > 2T_1\) and if \(p_j \le P\) for all \(j \in J\), then, for any fixed \(\displaystyle \tau \ge \displaystyle \frac{(T_2T_1)^2}{T_22T_1}P\), Algorithm 2 is an online algorithm with lookahead time \(\tau \).
Proof
 1.
If \(j_2\) has been assigned to \(M_1\) and \(j_3\) to \(M_2\), as in Fig. 11a, \(j_3\) is independent because \(j_1 \ge j_3+2\) and \((j_3,j_1) \in E_2\), and then \((j_3, j_3+2) \in E_2\). Suppose that both machines were available at time \(t_{j_3}\). At that time, the algorithm was not in Case 1 because job \(j_3\) has been assigned to \(M_2\). If \(j_3\) was in Case 2, we have seen that there is no feasible assignment where it is assigned to \(M_1\). But there is no feasible assignment where it is assigned to \(M_2\) either because of \(j_2\) and \(j_1\), then if \(j_3\) was in Case 2, \(\mathcal {I}\) would be infeasible. Therefore, \(j_3\) was in Case 3 because \((j_3,j_2+1) \in E_2\) and \((j_2,j_2+1) \in E_1\), but then, \(j_3\) would have been assigned to \(M_1\). Actually, \(j_3\) was assigned to \(M_2\) because \(M_1\) was not available. Therefore, there exists a previous job \(j_4\) such that \((j_4,j_3) \in E_1\) and \(j_4\) had been assigned to \(M_1\), as shown in Fig. 12.
 (P1)
\((j_3,j_2) \in E_2\) and \((j_4,j_3) \in E_1\),
 (P2)
\(j_2, j_3\) and \(j_4\) were assigned to \(M_1, M_2\) and \(M_1\) respectively,
 (P3)
There is no feasible assignment where \(j_2\) is assigned to \(M_1\),
 (P4)
There is no feasible assignment where \(j_3\) is assigned to \(M_2\),
 (P5)
\(j_3\) is independent,
 (P6)
A call of choice with \(j_3\) as first node would not have returned \(M_2\).
Then we have proved that, if choice had been called with \(j_4\) as first node, it could not have returned \(M_1\), then \(j_4\) was assigned to \(M_1\) because \(M_2\) was not available. Therefore, there exists a previous node \(j_5\) assigned to \(M_2\) such that \((j_5, j_4) \in E_2\).
Now, we prove the existence of another previous node \(j_6\). First, observe that there is no feasible assignment where \(j_5\) is assigned to \(M_2\) because there is no feasible assignment where \(j_4\) is assigned to \(M_1\) and \((j_5,j_4) \in E_2\) (P1). If \(j_5\) was dependent, then \(j_4 = j_5 + 1\) would hold, but we have just proved that \(j_4\) is independent and that if one could have chosen its assignment between \(M_1\) and \(M_2\), choice would have returned \(M_2\) and then \(j_5\) would have been assigned to \(M_1\). Then \(j_5\) is independent. Suppose that both machines were available at time \(t_{j_5}\). Let us show that \(j_5\) was neither in Case 2, nor in Case 5. If \(j_5\) was in Case 2, then we have seen in the description of this case that, on the one hand, there would be no feasible assignment where \(j_5\) is assigned to \(M_1\). On the other hand, if \(j_5\) is assigned to \(M_2\), then \(j_4\) is forced to be assigned to \(M_1\). However, there is no feasible assignment where \(j_4\) is assigned to \(M_1\), thus \(\mathcal {I}\) can not be feasible if \(j_5\) was in Case 2. If \(j_5\) was in Case 5, let us assume towards contradiction that \(j_5^* \ge j_4\). Then \((j_5, j_4) \in E_1\), by definition of \(j_5^*\), and the condition of Case 5 entails that \((j_5, j_3) \in E_2\) because \((j_4,j_3) \in E_1\). But, if \((j_5, j_3) \in E_2\) and \((j_4, j_3) \in E_1\), we were not in Case 5 but in Case 3. Then \(j_5^* < j_4\), and the condition of Case 5 implies \((j_5^*,j_4) \in E_2\) (see Fig. 14) because \((j_5,j_4) \in E_2\). Hence, whatever the assignment of \(j_5\), \(j_4\) is forced to be assigned to \(M_1\), which contradicts the feasibility of \(\mathcal {I}\).
 (P1)
\((j_5,j_4) \in E_2\) and \((j_6,j_5) \in E_1\),
 (P2)
\(j_4, j_5\) and \(j_6\) were assigned to \(M_1, M_2\) and \(M_1\) respectively,
 (P3)
There is no feasible assignment where \(j_4\) is assigned to \(M_1\),
 (P4)
There is no feasible assignment where \(j_5\) is assigned to \(M_2\),
 (P5)
\(j_5\) is independent,
 (P6)
A call of choice with \(j_5\) as first node would not have returned \(M_2\).
 2.
We deal here with the second configuration where \(j_2\) was assigned to \(M_2\) and \(j_3\) to \(M_1\), as in Fig. 11b. Then there is also a 1edge \((j_2, j_3)\) implied by the 1edge \((j_2, j_1)\). \(j_3\) is independent because it is involved in two 1edges. Suppose that both machines were available at time \(t_{j_3}\). \(j_3\) was not in Case 1 because \((j_3, j_2) \in E_1\). Then \(j_3\) was in Case 2 because \((j_3, j_2+1) \in E_1\) and \((j_2, j_2+1) \in E_2\). Thus, if choice had been called with \(j_3\) as first job, \(j_3\) would have been assigned to \(M_2\). Hence, \(j_3\) was assigned to \(M_1\) because \(M_2\) was not available. Therefore, there exists a previous job \(j_4\) assigned to \(M_2\) such that \((j_4, j_3) \in E_2\) (see Fig. 15).
 (P1)
\((j_3,j_2) \in E_1\) and \((j_4,j_3) \in E_2\),
 (P2)
\(j_2, j_3\) and \(j_4\) were assigned to \(M_2, M_1\) and \(M_2\) respectively,
 (P3)
There is no feasible assignment where \(j_2\) is assigned to \(M_2\),
 (P4)
There is no feasible assignment where \(j_3\) is assigned to \(M_1\),
 (P5)
\(j_3\) is independent,
 (P6)
A call of choice with \(j_3\) as first node would not have returned \(M_1\).
Therefore, if choice had been called with \(j_4\) as first node, it could not have returned \(M_2\), then \(j_4\) was assigned to \(M_2\) because \(M_1\) was not available. Then there exists a previous node \(j_5\) such that \((j_5,j_4) \in E_1\) and \(j_5\) had been assigned to \(M_1\).
 (P1)
\((j_5,j_4) \in E_1\) and \((j_6,j_5) \in E_2\),
 (P2)
\(j_4, j_5\) and \(j_6\) were assigned to \(M_2, M_1\) and \(M_2\) respectively,
 (P3)
There is no feasible assignment where \(j_4\) is assigned to \(M_2\),
 (P4)
There is no feasible assignment where \(j_5\) is assigned to \(M_1\),
 (P5)
\(j_5\) is independent,
 (P6)
A call of choice with \(j_5\) as first node would not have returned \(M_1\).
Thus we have proved that if the algorithm returns “Infeasible”, then the instance is infeasible. Then, on feasible instances, a feasible assignment is returned. \(\square \)
Notice that the case where \(P=1\) is not identical to the special case of unitlength jobs.
4.2 Similar machines
Let us now address the case of similar machines and/or jobs whose length is not upperbounded. We first repeat part (ii) of Theorem 3, and formulate it as a lemma.
Lemma 7
If \(T_2 \le 2T_1\) or if job lengths can be arbitrarily large, then for any fixed \(\tau \ge 0\), there does not exist a nowait online algorithm with lookahead time \(\tau \).
Proof
If \(T_2 < 2T_1\), this is a consequence of the first part of Theorem 2 because the unit length setting is a particular case of the arbitrary length setting. The rest of the proof splits into two parts: the case of arbitrarily large job lengths and the special case with \(T_2 = 2T_1\) and bounded job lengths.
Consider now the value of \(t_N\): \(\displaystyle t_N = \sum _{j=0}^{N1} \left( \left( \frac{T_2}{T_1} \right) ^j T_1  \frac{T_1}{2} \right) = \frac{\left( \frac{T_2}{T_1}\right) ^N1}{\frac{T_2}{T_1}1} T_1  N \frac{T_1}{2}\). As this quantity becomes arbitrarily large as N grows, we define N as the smallest integer such that \(t_N \ge \tau \). Thus, for each value of \(\tau > 0\), it is possible to build the instances of Figs. 18 and 19. Since these instances satisfy the assumptions of Lemma 1, it follows that there does not exist an online algorithm with lookahead time \(\tau \) if lengths can be arbitrarily large.
 (a)
\(\forall n \ge 0,\ t_{n+1}  t_n < p_n T_1\),
 (b)
\(\forall n \ge 0,\ t_{n+2}  t_n \ge 2p_n T_1\) (since \(T_2 = 2T_1\)),
 (c)
\(\forall n \ge 0,\ p_n \le P\).

\(t_{n+2} = t_n + 2p_n T_1\) for \(n=0, 1,\ldots , \)

\(p_n = \frac{t_{n+1}t_n}{T_1} + \beta ^{n}\) for \(n=1, 2, \ldots \).
5 Extension: minimizing total waiting time
In this section, we deviate from the problem stated in Sect. 1, and allow that a job starts later than its arrival time. Hence, a job may have to wait before the machine starts processing it, and we are interested in obtaining solutions with minimum total waiting time. From this point of view, Theorem 2 shows that Algorithm 1 is capable of finding a solution with total waiting time 0 if one exists (provided that \(T_2 \ge 2T_1\), and provided that there is a certain amount of lookahead), and it is conceivable that extensions of Algorithm 1 exist that would find solutions with minimum total waiting time. Unfortunately, the following theorem shows that it is not the case. Let us recall that an online algorithm whose goal is to minimize a quantity is said to be kcompetitive if it always outputs a solution whose value is at most k times the optimal value.
Theorem 4
For any fixed \(\tau \ge 0\), there is no online algorithm with lookahead time \(\tau \) which always outputs a schedule minimizing the total waiting time. Furthermore, for any \(k \ge 1\), there is no online algorithm with lookahead time \(\tau \) which is kcompetitive in terms of total waiting time.
Proof
Schedule 1 can be helpful to visualize the instance \(\mathcal {I}_N\) (here with \(N = 3\)) and the arguments of the proofs of the following lemmas. The arrival times are represented by vertical blue lines.
Lemma 8
Let \(\mathcal {A}\) be a nowait online algorithm with lookahead time \(\tau \le NT_2\). Taking \(\mathcal {I}_N\) as input, \(\mathcal {A}\) schedules job 3 at time \(t_3\) on \(M_1\).
Proof
Since \(\mathcal {I}_N\) contains a bad path, there does not exist a nowait schedule for this instance. However, if we remove job \(2N+4\), the instance becomes feasible because it no longer contains a bad path. Therefore, as long as the algorithm \(\mathcal {A}\) (which is a correct algorithm for feasible instances), does not see job \(2N+4\) in its lookahead interval, it “does not know” that the instance is infeasible and is forced to do as if it was feasible. Otherwise, it would fail on some feasible instances. Notice that \(t_{2N+4} > t_3 + NT_2\), because \(t_5  t_3 = T_2\), \(t_7  t_5 = T_2, \ldots , t_{2N+1}  t_{2N1} = T_2\) and \(t_{2N+4}  t_{2N+1} = T_2+\frac{T_1}{2} > T_2\). Then \(\mathcal {A}\) schedules the three earliest jobs as soon as they arrive to avoid any waiting time. Obviously, jobs 1 and 2 are assigned to different machines because they are connected by a 1edge. With respect to job 3, whatever the assignments of jobs 1 and 2, \(M_1\) is available at time \(t_3\) whereas \(M_2\) is not. Thus, job 3 is assigned to \(M_1\) at time \(t_3\) to incur no waiting time. \(\square \)
Lemma 9
Any schedule for the instance \(\mathcal {I}_N\) where job 3 is scheduled at time \(t_3\) on \(M_1\) has a total waiting time greater than or equal to \(\frac{T_1}{4}\).
Proof
Consider a schedule where job 3 is scheduled at time \(t_3\) on \(M_1\). If an algorithm waits in order to assign job 4 to \(M_1\) too, it incurs a waiting time of at least \((t_3 + T_1)  t_4 = \frac{T_1}{4}\), which satisfies the lemma. Thus, suppose that job 4 is assigned to \(M_2\). Then, if an algorithm waits for \(M_2\) to be released to assign job 5 to it, it incurs a waiting time of at least \((t_4 + T_2)  t_5 = \frac{3T_1}{4} > \frac{T_1}{4}\), which satisfies the lemma. Thus, suppose that job 5 is assigned to \(M_1\). By repeating this reasoning for the following jobs, we prove that if not all even jobs between 4 and \(2N+2\) are assigned to \(M_2\) or if not all odd jobs between 5 and \(2N+3\) are assigned to \(M_1\), then the statement of the lemma is true because for every \(i \in \{2, \ldots , N \}\), \((t_{2i+1}+T_1)  t_{2i+2} = \frac{T_1}{4}\), for every \(i \in \{2,\ldots , N1 \}\), \((t_{2i+2}+T_2)t_{2i+3} = \frac{3T_1}{4} > \frac{T_1}{4}\) and \((t_{2N+2}+T_1)t_{2N+3} = \frac{T_1}{2} > \frac{T_1}{4}\). But if the converse is true, then \(2N+2\) is assigned to \(M_2\) and \(2N+3\) is assigned to \(M_1\). Therefore, \(2N+4\) has to wait at least \((t_{2N+2}+T_2)t_{2N+4} = \frac{T_1}{4}\) for \(M_2\), or at least \((t_{2N+3}+T_1)t_{2N+4} = \frac{3T_1}{4} > \frac{T_1}{4}\) for \(M_1\). In all cases, the total waiting time is greater than or equal to \(\frac{T_1}{4}\).
However, a waiting time of \(\frac{T_1}{4}\) or more is not optimal: there is a better schedule which consists in assigning odd jobs to \(M_2\) and even jobs to \(M_1\). Its waiting time is \(\frac{T_1}{4K}\) because the N odd jobs \(3, 5, \ldots , 2N+1\) all have to wait \(\frac{T_1}{4NK}\) before using \(M_2\). Schedule 2 represents such a schedule with \(N = 3\). We can now check the statements of the theorem. On the one hand, if \(\mathcal {A}\) always minimizes the waiting time, then in particular, it is optimal on instances having a nowait schedule. Then, Lemmas 8 and 9 imply that \(\mathcal {A}\) does not return an optimal schedule on \(\mathcal {I}_N\), which is a contradiction. On the other hand, if \(\mathcal {A}\) is only kcompetitive, for some \(k > 1\), it must also be optimal on instances having a nowait schedule, because a kapproximation of a nowait schedule is also a nowait schedule. Then, Lemma 8 applies also to \(\mathcal {A}\), and Lemma 9 implies that \(\mathcal {A}\) returns a schedule whose waiting time is K times worse than the optimal waiting time. By choosing \(K > k\), it contradicts the hypothesis according to which \(\mathcal {A}\) is kcompetitive. \(\square \)
6 Conclusion
We have focussed on the potential that lookahead offers for online algorithms to solve an interval scheduling problem with two related machines. We showed that, in case of unitlength jobs, if the ratio between the speeds of the machines is at least 2, then there exists an online algorithm with lookahead that finds a feasible schedule whenever one exists. If this ratio is less than 2, no online algorithm exists for the resulting instances. This result can be extended to jobs with arbitrary lengths provided an upperbound on the maximum job length is given. We also showed that this result cannot be extended when the goal is to minimize total waiting time. Summarizing: there are situations where an amount of lookahead allows to obtain results that cannot be obtained without lookahead.
Notes
References
 Carlisle MC, Lloyd EL (1995) On the kcoloring of intervals. Discrete Appl Math 59(3):225–235MathSciNetCrossRefzbMATHGoogle Scholar
 Disser Y, Klimm M, Lübbecke E (2015) Scheduling bidirectional traffic on a path. arXiv preprint arXiv:1504.07129
 Dosa G, Wang Y, Han X, Guo H (1994) Online scheduling with rearrangement on two related machines. Theor Comput Sci 130(1):5–16CrossRefzbMATHGoogle Scholar
 Epstein L, Jeż Ł, Sgall J, van Stee R (2016) Online scheduling of jobs with fixed start times on related machines. Algorithmica 74(1):156–176MathSciNetCrossRefzbMATHGoogle Scholar
 Epstein L, Levin A (2010) Improved randomized results for the interval selection problem. Theor Comput Sci 411:3129–3135MathSciNetCrossRefzbMATHGoogle Scholar
 Erlebach T, Spieksma F (2003) Interval selection: applications, algorithms, and lower bounds. J Algorithms 46(1):27–53MathSciNetCrossRefzbMATHGoogle Scholar
 Faigle U, Nawijn WM (1995) Note on scheduling intervals online. Discrete Appl Math 58(1):13–17MathSciNetCrossRefzbMATHGoogle Scholar
 Fung SP, Poon CK, Yung DK (2012) Online scheduling of equallength intervals on parallel machines. Inf Process Lett 112:376–379MathSciNetCrossRefzbMATHGoogle Scholar
 Fung SP, Poon CK, Zheng F (2008) Online interval scheduling: randomized and multiprocessor cases. J Comb Optim 16(3):248–262MathSciNetCrossRefzbMATHGoogle Scholar
 Fung SP, Poon CK, Zheng F (2014) Improved randomized online scheduling of intervals and jobs. Theory Comput Syst 55(1):202–228MathSciNetCrossRefzbMATHGoogle Scholar
 Hermans J (2014) Optimization of inland shipping. J Sched 17(4):305MathSciNetCrossRefzbMATHGoogle Scholar
 Kolen AW, Lenstra JK, Papadimitriou CH, Spieksma FC (2007) Interval scheduling: a survey. Nav Res Logist 54(5):530–543MathSciNetCrossRefzbMATHGoogle Scholar
 Krumke SO, Thielen C, Westphal S (2011) Interval scheduling on related machines. Comput Oper Res 38(12):1836–1844MathSciNetCrossRefzbMATHGoogle Scholar
 Li W, Yuan J, Cao J, Bu H (2009) Online scheduling of unit length jobs on a batching machine to maximize the number of early jobs with lookahead. Theor Comput Sci 410:5182–5187MathSciNetCrossRefzbMATHGoogle Scholar
 Lipton RJ, Tomkins A (1994) Online interval scheduling. SODA 94:302–311MathSciNetzbMATHGoogle Scholar
 Miyazawa H, Erlebach T (2004) An improved randomized online algorithm for a weighted interval selection problem. J Sched 7(4):293–311MathSciNetCrossRefzbMATHGoogle Scholar
 Passchyn W, Briskorn D, Spieksma F (2016) Nowait scheduling for locks. INFORMS J Comput (to appear)Google Scholar
 Passchyn W, Briskorn D, Spieksma FC (2016) Mathematical programming models for lock scheduling with an emission objective. Eur J Oper Res 248(3):802–814MathSciNetCrossRefzbMATHGoogle Scholar
 Passchyn W, Coene S, Briskorn D, Hurink J L, Spieksma F C, Vanden Berghe G (2016) The lockmaster’s problem. Eur J Oper Res 251(2):432–441MathSciNetCrossRefzbMATHGoogle Scholar
 Prandtstetter M, Ritzinger U, Schmidt P, Ruthmair M (2015) A variable neighborhood search approach for the interdependent lock scheduling problem. In: European Conference on Evolutionary Computation in Combinatorial Optimization, pp. 36–47. SpringerGoogle Scholar
 Schwarz U (2008) Online scheduling on semirelated machines. Inf Process Lett 108:38–40MathSciNetCrossRefzbMATHGoogle Scholar
 Sgall J (1998) Online scheduling. In: Fiat A, Woeginger G (eds) Online algorithms: the state of the art. Springer, Berlin, pp 196–231CrossRefGoogle Scholar
 Smith LD, Nauss RM, Mattfeld DC, Li J, Ehmke JF, Reindl M (2011) Scheduling operations at system choke points with sequencedependent delays and processing times. Transp Res Part E Logist Transp Rev 47(5):669–680CrossRefGoogle Scholar
 Woeginger GJ (1994) Online scheduling of jobs with fixed start and end times. Theor Comput Sci 130(1):5–16MathSciNetCrossRefzbMATHGoogle Scholar
 Yu G, Jacobson SH (2018) Online cbenevolent job scheduling on multiple machines. Optim Lett 12(2):251–263MathSciNetCrossRefzbMATHGoogle Scholar
 Zheng F, Cheng Y, Liu M, Xu Y (2013) Online interval scheduling on a single machine with finite lookahead. Comput Oper Res 40(1):180–191MathSciNetCrossRefzbMATHGoogle Scholar
Copyright information
OpenAccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.