Generalizing Horn's conditions for preemptive scheduling on identical parallel machines via network flow techniques

We study the use of flow‐based algorithmic and proof techniques applied to preemptive scheduling of jobs on parallel identical machines. For the classical problem in which the jobs have individual release dates and must be finished by a common deadline, we present and prove unified necessary and sufficient conditions for the existence of a feasible schedule by examining the structure of minimum cuts in a special network. We then study an enhanced model that allows the presence of additional resources, provided that some jobs at any time of their processing require one unit of a particular resource. We extend our argument developed for the classical case to this enhanced model. The generalized necessary and sufficient conditions for the existence of a feasible schedule are presented and proved using the max‐flow/min‐cut reasoning.


INTRODUCTION
Numerous modeling, algorithmic and proof techniques designed in machine scheduling are based on various network flow models and methods.According to Google Scholar, in scheduling literature the network flow based algorithms and reasoning appear in more than fifty thousand publications.One of the earliest examples of handling a scheduling problem by a network flow approach is the classical paper by Horn [10] written 50 years ago.Horn designs two sets of necessary and sufficient conditions for the existence of a feasible schedule for a basic scheduling problem on parallel identical machines.The purpose of this study is to demonstrate that the conditions developed by Horn, despite their differences, can be derived from the same principles that rely on the maximum-flow minimum-cut theorem.Moreover, we show how a similar proof technique can be extended to a more general scheduling model with resource constraints.
The classical machine scheduling models are traditionally formulated in terms of jobs to be processed on machines.In the main model that we consider the jobs have to be processed on identical parallel machines.Preemption is allowed, that is, the processing of any job can be interrupted and resumed later, possibly on a different machine.Problems of preemptive scheduling have numerous practical applications.One of the popular illustrations can be found in computing, when a number of files (jobs) have to be processed by programmers of similar skills (identical parallel machines).At a time, a file is only available to at most one programmer and each programmer can process at most one file.A programmer can interrupt the processing of a file which will be done later by another programmer.
The classical paper by Horn [10] studies the feasibility problem in which the jobs have different release dates and must be completed by a common deadline.Horn presents necessary and sufficient conditions for the existing a feasible preemptive schedule.These conditions can be seen as one of the corner stones of scheduling theory, and they are present in essentially any scheduling book.One of these conditions is formulated as a set of inequalities, while the other is related to the maximum flow in a special network G 0 .The conditions as described in [10] show no apparent link between them.We present a unified condition which combines both previously known conditions, linking them in terms of the cuts in network G 0 .
The proof technique that we develop here appears to be useful for extending Horn's conditions to a more general problem that requires the use of additional resources.Scheduling under Resource Constraints is an established research area within machine scheduling.There are multiple publications in this area which have been reviewed in a number of surveys, from the earliest [2] till the most recent [3].It has been introduced to handle various practical situations that cannot be adequately covered by the classical models; some of such examples are given in Section 5.1.The scheduling problem with resource constraints that we consider in this paper can be illustrated by extending the example given above.Suppose that some of the files for their processing require a special software (an additional resource).Programmers have that software installed on their computers.However, the software provider insists that the software can be run on one computer only at a time.Notice that similar licenses are applied to many software products, for example, to a popular video editor.
The remainder of this article is organized as follows.We start with the feasibility problem with no resource constraints, provided that jobs have different release dates and a common deadline.Section 2 contains some introductory comments, definitions and notation.Section 3 reproduces two forms of the classical Horn's conditions that are necessary and sufficient for the existence of a feasible schedule.The unified conditions are formulated in Section 4. The proof shows the equivalence of four statements, two of which are the classical Horn's conditions and their equivalence is due to their link to the minimum cuts in a special network.
We then turn to the extended model, in which the jobs require additional resources.Section 5.1 provides some preliminary information on resource constrained scheduling.The model with no release dates is considered in Section 5.2, where a polynomial-time algorithm is provided.For the problem with different release dates, the necessary and sufficient conditions for the existence of a feasible schedule, including the unified condition, are formulated and proved in Section 5.3.Conclusions are discussed in Section 6.

PRELIMINARIES
In this section, we formally define the basic scheduling models under study and briefly review the results on computational complexity.
In the basic problem, the jobs J 1 , J 2 , … , J n have to be processed with preemptions on m identical parallel machines M 1 , … , M m .Denote N = {1, 2, … , n}.The processing time of job J j , j ∈ N, is equal to p(j).For job J j , its release date is given and is denoted by r(j).The completion time of job J j in a feasible schedule is denoted by C(j).We consider the problems, in which it is required to verify whether there exists a preemptive schedule such that all jobs are completed by a given common deadline D.More formally, in a feasible schedule S 0 a job J j is not allowed to be processed outside the time interval [ r(j), D ] .In order to refer to a scheduling problem in a clear and compact way, the three-field classification scheme of the form  |  |  is widely accepted, where  describes the machine environment,  presents the processing conditions and  is the objective function.The main focus of this paper is on scheduling models with identical parallel machines, in which case in the field  we write "P" if the number of machines is variable (part of the input).If the number of machines is fixed and equal to m, then we write "Pm" rather than "P".In the review parts of this paper we may refer to more general models, with uniform (or uniformly related) machines that differ in their speeds and with unrelated machines.For these machine environments, in the field  we write "Q" and "R", respectively.
The classical problem with no resource constraints of finding a feasible nonpreemptive schedule on m parallel identical machines in which all jobs are completed by a common deadline D can be denoted either by P|C(j) ≤ D|− if all jobs are released at time zero or by P|r(j), C(j) ≤ D|− if the jobs have individual release dates r(j).A similar problem with preemption allowed is denoted by P|pmtn, C(j) ≤ D|− and by Pm|r(j), pmtn, C(j) ≤ D|−, respectively.
In each of these problems, it is required to determine whether a required feasible schedule exists and, if it does, to find it.These decision problems are closely related to their optimization counterparts, in which the goal is to find a schedule that minimizes the makespan C * max = max {C(j) | j ∈ N}.In the corresponding three-field notation, the third field  becomes C max , while the string "C(j) ≤ D" is removed from the middle field ; for instance, the problem of finding a makespan-optimal preemptive schedule for the jobs with release dates is denoted by P|r(j), pmtn|C max .It is clear that solving an optimization problem can be reduced to a sequence of the corresponding decision problems.On the other hand, if an optimal makespan C * max is found, then the corresponding decision problem is feasible for all D ≥ C * max and infeasible for any smaller deadline.
We briefly review the results on the computational complexity of the problems with no resource constraints; more details and appropriate references can be found in a focused survey [4].If preemption is not allowed, then already problem P2| |C max , the simplest of the outlined range, is NP-hard.Moreover, problem P| |C max is NP-hard in the strong sense.If preemption is allowed, then problem P|pmtn|C max with no release dates is solvable in O(n) time as proved by McNaughton [18].This algorithm will be part of several algorithms presented in this paper, therefore, we outline it below.
If all jobs arrive at time zero, for any schedule S 0 that is feasible for problem P|pmtn|C max the makespan C max (S 0 ) cannot be smaller than the processing time of an individual job.Additionally, in any feasible schedule there must be a machine with a total load of at least p(N)∕m, which is the average machine load.Thus, For problem P|pmtn|C max , McNaughton's algorithm delivers an optimal schedule with the makespan equal to T 0 .It is convenient to represent the algorithm as the following procedure.Consider an artificial schedule S A in which the jobs are placed on an auxiliary single machine next to each other.Schedule S A is cut into pieces of length T 0 and each such piece is allocated to the next one of the m original machines.In the resulting schedule, let m ′ be such a number of machines, m ′ ≤ m, that the total load of each machine M i , 1 ≤ i ≤ m ′ , is equal to T 0 and is less than In any case, assign a segment of schedule S A in the time interval [(i − 1)T 0 , iT 0 ] to be processed on machine to machine M m ′ +1 and in the case m ′ + 2 ≤ m assign no jobs to any of the machines M i , m ′ + 2 ≤ i ≤ m.The resulting schedule has at most m − 1 preemptions.No preempted job is processed by two or more machines simultaneously, so that the resulting schedule is feasible.The algorithm takes O(n) time.

RELATED WORK
In this section, we formulate the original Horn's conditions for the existence of a feasible schedule for problem P|r(j), pmtn, C(j) ≤ D|−, in which the jobs have individual release dates r(j), j ∈ N. Further in this paper, for a problem with release dates it is assumed that there are h distinct release dates R (1) , R (2) and for completeness we add R (h+1) = D. We also use notation p(Q) = ∑ j∈Q p(j) for the total processing time of the jobs from a nonempty set Q ⊆ N.For completeness, define p ( ∅ ) = 0. Problem P|r(j), pmtn, C(j) ≤ D|− is independently studied in [7] and [10].In fact, Horn [10] formulates his findings for the "dual" problem of the existence of a feasible schedule, provided that all jobs are available at time zero and have individual due dates.Below, we interpret his results in terms of problem P|r(j), pmtn, C(j) ≤ D|−.
Following [10], given an instance of problem P|r(j), pmtn, C(j) ≤ D|−, let g (z) (j) denote the minimum amount of processing of job J j , j ∈ N, which must be completed in the interval [ R (z) , R (h+1) ] , 1 ≤ z ≤ h, in any feasible schedule.Clearly, if job J j arrives no earlier than R (z) , then to be completed by time R (h+1) = D it must be fully processed in the interval [ R (z) , R (h+1) ] .Alternatively, if r(j) < R (z) , then job J j cannot be processed before time R (z) for more than R (z) − r(j) time units.Thus, for any j ∈ N and any z, 1 ≤ z ≤ h, we have that Horn [10] uses the quantities (1) to formulate the conditions presented below in Theorem 1.
Theorem 1.For problem P|r(j), pmtn, C(j) ≤ D|−, a feasible schedule exists if and only if holds for every job J j , j ∈ N, • and the inequality Another approach employed in [10] links problem P|r(j), pmtn, C(j) ≤ D|− to finding the maximum flow in a special network.
Consider a generic network G = (V, A) with the set of vertices V and the set of arcs A, in which the set V includes the source s and the sink t.The capacity of arc (v, v ′ ) is denoted by (v, v ′ ), which can be infinite for some arcs.Recall that a flow f is a function f ∶ A → R that assigns real numbers to arcs.A flow f ∶ A → R is said to be feasible if it satisfies the capacity constraints and the flow balance constraints In the maximum flow problem, it is required to find a feasible flow of the maximum value, where the value of a flow f is the total flow on the arcs that leave the source (or, equivalently, enter the sink): A partition (S, T) of the node set V such that s ∈ S and t ∈ T is called an s-t cut.For an s-t cut (S, V ⧵S), we define the arc set A(S, V ⧵S) by and the capacity (S) ∈ R ∪ {+∞} of the s-t cut by Thus, the capacity (S) of an s-t cut (S, T) is defined as the total capacity of the arcs that go from the nodes of set S to the nodes of set T.
An s-t cut (S, T) is called a minimum s−t cut if its capacity (S) is the minimum among all s-t cuts in G.The maximum-flow minimum-cut theorem, the most well-known statement of network optimization, asserts that the value of the maximum flow is equal to the capacity of a minimum s-t cut.
Following [10], given an instance of problem P|r(j), pmtn, C(j) ≤ D|−, define a network G 0 = (V, A) in which the vertex set V contains • the source s and the sink t; Throughout this paper, we denote the length of an interval and their capacities are as follows: The structure of network G 0 is shown in Figure 1.The following statement comes from [10].

Theorem 2. For problem P|r(j), pmtn, C(j) ≤ D|−, a feasible schedule exists if and only if a maximum flow in network G 0 has the value p(N).
The two types of conditions in Theorems 1 and 2 look very different and they are treated in [10] from different principles.The proof of sufficiency of the conditions in Theorem 1 is a technical inductive argument, while the formal proof of Theorem 2 is not presented in [10].There is no apparent link between the two types of conditions, while they both are aimed at checking feasibility of the same problem.

A NEW UNIFIED NETWORK-FLOW-BASED THEOREM FOR HORN'S FEASIBILITY CONDITIONS
In this section, we prove a statement that establishes the equivalence of both original Horn's conditions.
For our purpose it is convenient to reformulate Theorem 2 in terms of a minimum cut as follows.For S ⊆ V with s ∈ S, t ∉ S, let (S) be the capacity of the s-t cut (S, V ⧵S).

Theorem 3. For problem P|r(j), pmtn, C(j) ≤ D|−, a feasible schedule exists if and only if in network G
holds for every S ⊆ V with s ∈ S, t ∉ S.
We link the inequalities in Theorem 1 with the special cuts in network G 0 .In what follows, we often denote the minimum cut in network G 0 by (S * , V ⧵S * ).
For each z, 1 ≤ z ≤ h, define the index set such that each job J j , j ∈ N (z) + , arrives before time R (z) but cannot be completed by time R (z) , and the index set such that each job J j , j ∈ N (z) − , arrives no earlier than time R (z) .Notice that for each j ∈ N such that p(j) + r(j) < R (z) it follows from (1) that g (z) (j) = 0, so that Define For illustration, consider an instance with n = 4 jobs that have distinct release dates, so that 3) , I (4) } and it is shown in Figure 3.
The statement that presents the unified conditions that link Theorems 1 and 2 is given below.FIGURE 3 Vertex set S (3) .
holds, and for each z, holds; (d) for network G 0 the inequality ( 6) holds for every S ⊆ V with s ∈ S, t ∉ S.
We split the proof of Theorem 4 into several lemmas.

Lemma 1. In Theorem 4, statement (a) implies statement (b).
Proof.In a feasible schedule, any job J j , j ∈ N, must be fully processed in the interval between its arrival time and the deadline D; hence, the condition (2) follows.Additionally, in a feasible schedule the processing capacity must be sufficient to perform the minimum processing of all jobs that must be done after time R (z) , 1 ≤ z ≤ h; hence, the condition (3) holds.▪

Lemma 2. In Theorem 4, statement (b) implies statement (c).
Proof.In fact, we prove a more general property: For each j ∈ N, condition ( 2) is equivalent to the inequality ( 8) and for each z, 1 ≤ z ≤ h, condition ( 3) is equivalent to the inequality (9).
For a fixed j ∈ N, by the definition of network G 0 , the cut (S j , V ⧵S j ) consists of all arcs that leave the source except the arc (s, j) and also of all arcs (j, I z ) with r(j) ≤ R (z) .Thus, Hence, the inequality ( 8) is equivalent to the condition (2).Fix a z, 1 ≤ z ≤ h.In network G 0 , a node j ∈ N (z) − is not connected to any of the nodes of set {I (z ′ ) | 1 ≤ z ′ < z} and the cut (S (z) , V ⧵S (z) ) contains no arcs to the nodes of set {I (z ′ ) | z ≤ z ′ ≤ h}; thus, the cut (S (z) , V ⧵S (z) ) contains no arcs leaving the nodes of set N (z)  − .On the other hand, the cut (S (z) , V ⧵S (z) ) consists of the arcs (s, j) for each j ∈ N ⧵ , of the arcs that link each node j ∈ N (z) + to the interval nodes of the set } , and of the arcs that link each node of the set {I (z ′ ) | z ≤ z ′ ≤ h} to the sink t.Thus, we have Due to (7), we deduce that is, the inequality ( 9) is equivalent to the condition (3).▪
We prove this by examining the structure of the possible cuts.
, that is, S does not include any interval nodes.We deduce Recall that conditions (8) hold and that they are equivalent to conditions (2), as proved in Lemma 2. Thus, inequality r(j) + p(j) ≤ R (h+1) holds for any j ∈ N, and hence (6) holds.
Case 2. Let (S, V ⧵S) be an s-t cut such that S ∩ N = ∅, that is, S does not include any job nodes.Then so that (6) holds as a strict inequality.Case 3. Let (S, V⧵S) be an s-t cut such that S contains at least one job node and at least one interval node.Suppose I (z) ∈ S. Let k denote the number of jobs J j , j ∈ S ∩ N, with r(j) ≤ R (z) .First, we prove that in this case the equality holds.Moreover, we show that the inequality k ≥ m holds if (S, V ⧵S) is a minimum s-t cut.
Compare the capacities of the cuts (S, V ⧵S) and (S⧵{I (z) }, V ⧵ ( S⧵{I (z) } ) ).We have which, together with In what follows, we consider a minimum s-t cut (S * , V⧵S * ) which satisfies the conditions of Case 3 stated above.Splitting our consideration into two subcases, we show that the total capacity of any minimum s-t cut (S * , V⧵S * ) is equal to  ( S (z) ) , and thus p(N) ≤  ( S (z) ) .Case 3.1.Let I (z) ∈ S * and I (z+1) ∉ S * for some z, 1 ≤ z < h.We show that in this case, that is, if set S * does not contain a pair of consecutively numbered interval nodes, the inequality (S * ∪ {I (z+1) }) ≤ (S * ) holds, that is, I (z+1) can be added to S * without increasing the capacity of the resulting cut.
Assume that (S (z) ⧵S * ) ∩ N ≠ ∅.Then there exists some j that belongs to (S (z) ⧵S * ) ∩ N = and p(j) ≥ R (z) − r(j) hold, and therefore , then in network G 0 there is no arc from node j to the nodes of the set {I (1) , I (2) , … , I (z−1) }, and therefore In either case, we have that (S * ∪ {j}) ≤ (S * ), so that (S * ∪ {j}, V⧵(S * ∪ {j})) is also a minimum s-t cut.Thus, for the minimum cut (S * , V ⧵S * ) we can add all nodes j ∈ S (z) ∩ N to set S * without increasing the capacity of the cut.
Assume now that (S (z) ⧵ S * ) ∩ N = ∅ but there exists some j ∈ (S * ⧵ S (z) ) ∩ N.Then, j ∉ N (z) + ∪ N (z) − so that p(j) + r(j) < R (z) .Therefore, we obtain a contradiction to the minimality of the s-t cut (S * , V⧵S * ).Hence, we have that (S * ⧵S (z) ) ∩ N = ∅, which along with (S (z) ⧵S * ) ∩ N = ∅ implies that S * = S (z) , so that ( S (z) , V ⧵S (z) ) is a minimum s-t cut.Thus, we have proved that for any s-t cut its total capacity is no less than p(N), that is, (6) holds for any set S ⊆ V, as required.▪ Lemma 4. In Theorem 4, statement (d) implies statement (a).
Proof.We know that the capacity of any cut in network G 0 is no less than p(N).It is clear that S * = {s} defines a minimum s-t cut (S * , V⧵S * ) with (S * ) = p(N), that is, there exists a maximum flow f of value p(N).For j ∈ N, let the flow through the arc ( j, I (z) ) such that r(j) ≤ I (z) be equal to p (z) (j).In terms of the original scheduling problem, p (z) (j) is the duration of processing of job J j in the interval [ R (z) , R (z+1) ] .The actual feasible schedule S 0 can be found by solving a sequence of auxiliary problems P (z) , 1 ≤ z ≤ h.Each problem P (z) is in fact problem P|pmtn|C max of processing jobs J j with p (z) (j) > 0 in the interval [ R (z) , R (z+1) ] and can be solved by McNaughton's algorithm outlined in Section 2.
Since the flow through an arc (s, j) is equal to p(j), j ∈ N, it follows that in schedule S 0 each job will be processed in full.For each interval [ R (z) , R (z+1) ] , the value p (z) (j), that is, the duration of processing of each job J j in that interval, does not exceed the length  (z) of the interval.Additionally, the total processing amount assigned to an interval , equal to ∑ j∶ r(j)≥R (z) p (z) (j), does not exceed m (z) , the total processing capacity of the interval.Thus, schedule S 0 is feasible.▪ Notice that in network G 0 there are O(n) vertices, therefore the maximum flow in G 0 can be found in O ( n 3 ) time, for example, by the algorithm in [15].In [10], in order to prove the sufficiency of the conditions (2) and (3) an iterative construction procedure is given that finds a feasible schedule, provided that the conditions hold.The running time of that procedure is not estimated in [10].However, due to the equivalency between both types of conditions presented in [10], we deduce that finding a feasible schedule based on any of these conditions requires O ( n 3 ) time.This, however, does not mean that problem P|r(j), pmtn, C(j) ≤ D|− and even a more general problem Q|r(j), pmtn, C(j) ≤ D|− with uniform machines cannot be solved faster; see, for example, a very efficient algorithms by Sahni [20] and by Labetoulle et al. [16], respectively.Notice also that in [16] for problem Q|r(j), pmtn, C(j) ≤ D|− the generalization of the parameter denoted in our paper by g (z) (j) is introduced, as the minimum amount of processing of a job which must be completed in the interval [ R (z) , R (h+1) ] .However, that paper gives preference to the algorithmic aspects of finding a feasible schedule rather than formulating and proving the necessary and sufficient conditions similar to those in Theorem 1.

EXTENSION OF HORN'S CONDITIONS TO PREEMPTIVE SCHEDULING UNDER RESOURCE CONSTRAINTS
We now turn to an enhanced model of parallel machine scheduling with resource constraints.We start with some preliminary information.

Definitions and preliminaries
Let us extend the model of preemptive scheduling on parallel machines in the following way.There are Q renewable resources and at any time moment exactly one unit of each resource is available.Some jobs at any time of their processing must consume one unit of exactly one of these Q resources.An instance may also contain n 0 jobs which do not require these resources; however, it is convenient to think of any such a job as a job that consumes one unit of a unique additional resource k, Q + 1 ≤ k ≤ Q + n 0 .Such an interpretation allows us to denote q = Q + n 0 as the total number of resources.Therefore, for the set of jobs the index set N can be seen as partitioned into q disjoint sets N 1 , … , N q such that each job of set N k at any time of its processing requires one unit of resource k, 1 ≤ k ≤ q.No two jobs of set N k , 1 ≤ k ≤ q, that is, the jobs that require the same resource, cannot be processed simultaneously.
For the scheduling problems under the resource constraints, the notation that has become standard since its first appearance in [2] places into the middle field  of the  |  |  notation described in Section 2 a string that specifies the rules of resource usage by addressing three parameters.
Widely accepted, that notation, however, does not provide enough details in order to distinguish between various versions of the resource-constrained scheduling problems.Following [24], we adopt the extended scheme that adds to the middle field  a string of the form "res  1  2  3  4 ", where •  1 is the number of available renewable resources; •  2 is an upper bound on the number of resources a job may need; •  3 is an upper bound on the number of units of any resource available at a time; •  4 is an upper bound on the number of units of any resource that can be consumed by a job at a time.
The value of each of these parameters is either a known constant or the symbol "⋅"; in the latter case the value of the parameter is variable (part of the input).In accordance with this updated scheme, for the resource-constrained problems considered in this paper the string "res ⋅ 111" is used.This notation implies that •  1 = "⋅", that is, there are several renewable resources (we use the variable q to denote their number); •  2 = 1, that is, each job needs at most one resource at any time of its processing; •  3 = 1, that is, one unit of each resource is available at a time; •  4 = 1, that is, a job that requires a resource consumes one unit of that resource at any time of its processing.
In the traditional scheme the parameter  2 was missing.Therefore, in most of the previously considered models with resource constraints it was assumed that a job might need any number of resources.
In fact, there is a considerable interest, both from the theoretical and practical prospective, in scheduling models in which a job may only need a fixed number of resources, in particular in those models that are described by the string "res ⋅ 111".
A natural meaningful interpretation of problem P|res ⋅ 111|C max is related to human resource management.The projects (jobs) can be performed by any of the available m teams (machines).However, to be able to perform certain projects a team must additionally include an extra employee with a special skill.For each skill k, 1 ≤ k ≤ q, there is exactly one employee who possesses this skill, that is, such an employee can be seen as a renewable resource k.See [24].
Hebrard et al. [8] motivate their study of problem P|res ⋅ 111|C max by the problem that arises in satellite data download management.Janssen et al. [14] study the problem with the same environment but with the objective of the sum of the completion times and present a motivation scenario of using photolithography equipment in the microelectronic industry.
The problems with resources can be considered as special cases of multiprocessor task scheduling, where jobs have prescribed processing modes, with specific subsets of machines associated with each job; see, for example, [11,12].
A review of resource-constrained scheduling on parallel machines can be found in [5].For the purposes of this paper, we only mention the results on the models with preemption allowed.The most general problem Rm|pmtn, res ⋅ ⋅ ⋅ ⋅|C max with a fixed number m of unrelated machines reduces to a linear programming problem with O(n m ) variables and is therefore polynomially solvable.If the number of machines is variable then problem Q|pmtn, res 1111|C max with uniform machines and a single additional resource is solvable in O(n + m log m) time; see the survey [2] and the references within.The approximability results for problem P|pmtn, res ⋅ ⋅ ⋅ ⋅|C max are presented in [13].
In the remainder of this paper, we present a polynomial-time algorithm for problem P|pmtn, res ⋅ 111, C(j) ≤ D|− and the necessary and sufficient conditions for the existence of a feasible schedule for problem P|r(j), pmtn, res ⋅ 111, C(j) ≤ D|−, similar to those discussed in Section 4.

Zero release dates
In this subsection, we show that problem P|pmtn, res ⋅ 111, C(j) ≤ D|− and its optimization counterpart, problem P|pmtn, res ⋅ 111|C max , can be solved by a simple adaptation of McNaughton's algorithm for the classical problem P|pmtn|C max with no resource constraints, presented in Section 2.
Similarly to problem P|pmtn|C max , the makespan of any schedule S that is feasible for problem P|pmtn, res ⋅ 111|C max cannot be smaller than the average machine load p(N)∕m.Additionally, for any k, 1 ≤ k ≤ q, no two jobs that require the same resource k can be processed in parallel, that is, In our consideration, we often rely on the so-called group technology approach.Given an instance of a problem with the "res ⋅ 111" constraints, associate each set N k , the index set of jobs that require resource k, with a composite job V k , 1 ≤ k ≤ q.The processing times of these composite jobs are defined by Replace the original instance I of problem P|pmtn, res ⋅ 111|C max by instance I G that consists of the composite jobs V k , 1 ≤ k ≤ q, described above.Solve problem P|pmtn|C max for instance I G by McNaughton's algorithm.Let S * G be the resulting schedule of the composite jobs.We can convert schedule S * G into a schedule of the original jobs J 1 , … , J n that is optimal for problem P|pmtn, res ⋅ 111|C max by replacing a composite job V k (or its segment if it is processed with preemption) by the block of jobs of set It follows from ( 12) that such a schedule is optimal for problem P|pmtn, res ⋅ 111|C max since its makespan is the same as . Thus, the following statement holds.

Nonzero release dates
In this subsection, we consider problem P|r(j), pmtn, res ⋅ 111, C(j) ≤ D|−.We formulate the necessary and sufficient conditions for the existence of a feasible schedule.We start with the conditions that are similar to those in Theorem 1 developed in [10] for problem P|r(j), pmtn, C(j) ≤ D|− with no resource constraints.We also link problem P|r(j), pmtn, res ⋅ 111, C(j) ≤ D|− with finding the maximum flow in a special network.Then we formulate and prove the unified necessary and sufficient feasibility conditions, thereby extending Theorem 4 to the problem with resource constraints.Throughout this subsection, given a set Y and a logical condition , denote by Y[] the subset of the elements of Y that satisfy .For example, denotes the index set of jobs J j , j ∈ N k , that require resource k and arrive no later than time R (z) , 1 ≤ k ≤ q, 1 ≤ z ≤ h.We also use notation for the index set of jobs J j , j ∈ N k , that require resource k and arrive at time We start with formulating an extension of Horn's conditions, that is, the necessary and sufficient conditions for the existence of a feasible schedule for problem P|r(j), pmtn, res ⋅ 111, C(j) ≤ D|−.
Let g (z) (N k ) denote the minimum amount of processing of the jobs of set In any schedule that is feasible for problem P | r(j), pmtn, res ⋅ 111, C(j) ≤ D | −, the total processing time of the jobs of set N k after time R (z) , 1 } .
Proof.For each k, 1 ≤ k ≤ q, and each z, ] is a subset of jobs of set { J j | j ∈ N k } that arrive no earlier than R (z) .All these jobs must be fully processed in the interval [ R (z) , R (h+1) ] with no overlap, so that We also need to take into account those jobs of set N k that for some z ′ , 1 ≤ z ′ < z, arrive at or after R (z ′ ) but are not fully completed before R (z) and therefore must be processed in the interval [R (z) , R (h+1) ].Since these jobs can be processed in the interval time units, it follows that the total processing time of the jobs of set Based on the determined values of g (z) (N k ), we can formulate the following statement, which is an extension of Theorem 1.
holds for each z, 1 ≤ z ≤ h, and the inequality q holds for each z, 1 ≤ z ≤ h.
We refer to the conditions in Theorem 6 as extended Horn's conditions.They are part of the unified conditions formulated and proved in Theorem 8.As in Section 3, define  (z) = R (z+1) − R (z) , z = 1, 2, … , h.Create the network G Res = (V, A) with a set of vertices V and the set of arcs A. The set V includes • the source s and the sink t; • q resource nodes N k , each associated with the set of jobs that require resource k, k , each associated with the set of jobs that require resource k, 1 ≤ k ≤ q, and have release date and the arc capacities are as follows: The structure of network G Res is shown in Figure 4.The following statement is an extension of Theorem 2.  Notice that under the conditions of Theorem 7 an analogue of Theorem 3 holds, which guarantees that a maximum flow in G Res is equal to p(N) if and only if the inequality (6) holds for any s-t cut (S, V ⧵S).
Instead of proving Theorems 6 and 7 directly, we formulate and prove a statement similar to Theorem 4 that presents the unified conditions.
For each z, 1 ≤ z ≤ h, and each k, 1 ≤ k ≤ q, define a vertex set S (z) k by For each z, 1 ≤ z ≤ h, and each vector (z 1 , … , z q ) with z 1 , … , z q ∈ {1, 2, … , z}, we define a vertex set for a small value of z are illustrated in Figures 5 and 6, respectively.The statement that presents the unified conditions that link Theorems 6 and 7 is given below.(a) a feasible schedule exists; (b) for each k, 1 ≤ k ≤ q, and each z, 1 ≤ z ≤ h, the inequalities ( 13) and ( 14) hold; (c) for each k, 1 ≤ k ≤ q, and each z, holds, and for each z, 1 ≤ z ≤ h, and each vector

holds; (d) for network G Res the inequality (6) holds for every S ⊆ V with s ∈ S, t ∉ S.
As in Section 4, we split the proof into several lemmas.

Lemma 6. In Theorem 8, statement (a) implies statement (b).
Proof.By Lemma 5, in feasible schedule the total processing time of the jobs of set N k after time R (z) , 1 ≤ k ≤ q, 1 ≤ z ≤ h, is at least g (z) (N k ).This amount must be fully processed in the interval [ R (z) , R (h+1) ] ; hence, the condition (13) holds.Additionally, in a feasible schedule the processing capacity must be sufficient to perform the minimum processing of all jobs that must be done after time R (z) , 1 ≤ z ≤ h; this implies the condition (14).▪ Lemma 7. In Theorem 4, statement (b) implies statement (c).
Proof.As in Section 4, we actually prove a more general property: For each k, 1 ≤ k ≤ q, and each z, 1 ≤ z ≤ h, condition ( 13) is equivalent to the inequality ( 15) and for each z, 1 ≤ z ≤ h, condition ( 14) is equivalent to the inequality ( 16) for each vector Let us fix a resource k ∈ {1, 2, … , q}.The inequalities ( 13) can be rewritten as Changing the variables, we deduce the equivalent inequalities The s-t cut To prove (15) compute so that ( 17) is equivalent to the desired inequality (15).Now we fix a z ∈ {1, 2, … , h}.The inequality ( 14) can be explicitly written as Select a vector includes all arcs ) for z k ≤ z ′ < z; recall that the nodes . Additionally, the cut also includes all arcs which implies the equivalence of ( 19) and (16).▪ Lemma 8.In Theorem 4, statement (c) implies statement (d).
Proof.We prove the lemma by showing that if the conditions ( 15) and ( 16) (or, equivalently, the conditions ( 13) and ( 14), respectively) hold, then the capacity of a minimum s-t cut in network G Res is equal to p(N).
Consider the s-t cut (S ′ , V⧵S ′ ) with S ′ = {s}.The capacity (S ′ ) of (S ′ , V⧵S ′ ) is equal to p(N).Hence, it suffices to show that the inequality p(N) ≤ (S * ) (20) holds for a minimum s-t cut (S * , V ⧵S * ).To prove that we show that there exists a minimum s-t cut with some nice structure.First, observe that if for a minimum s-t cut (S * , V ⧵S * ) we have that N (z) k ∈ S * for some k, 1 ≤ k ≤ q, and z, 1 ≤ z ≤ h − 1, then N (z+1) k ∈ S * .Indeed, if N (z+1) k ∉ S * then (S * , V ⧵S * ) is not a minimum cut, since the arc set A(S * , V ⧵S * ) would contain the arc (N (z)  k , N k ) of infinite capacity, implying that (S * ) = +∞.Thus, in a possible minimum s-t cut (S * , V⧵S * ) set S * for each k, 1 ≤ k ≤ q, either does not contain the vertices of set {N (1)  k , N (2)  k , … , N (h) k } or for some z k contains all vertices of set {N k } and none of the vertices of set {N (1)  k , … , N for some z 1 , z 2 , … , z q ∈ {1, 2, … , h, h + 1}, where z k = h + 1 means that S * ∩ {N (1)  k , N (2)  k , … , N (h) k } = ∅.In the rest of the proof, we assume that (S * , V ⧵S * ) is a minimum s-t cut that possesses this structure.Let (S, V ⧵ S) be an s-t cut of a finite total capacity, (S) < +∞.We show that if for some k, 1 ≤ k ≤ q, vertex N k does not belong to S, then it can be added to S without increasing the capacity of the resulting cut, that is, (S ∪ {N k }) ≤ (S).
To see this, suppose that we add node N k to S.Then, the arc set A(S ∪ {N k }, V ⧵(S ∪ {N k })) is obtained from the arc set A(S, V ⧵S) by deleting the arc (s, N k ) of capacity p(N k ) followed by adding some of the arcs as required.Thus, for the minimum cut (S * , V⧵S * ) we can add all nodes N k to set S * without increasing the capacity of the cut, so that Due to (21) and (22) we deduce that the vertex set S * contains the nodes and possibly some vertices in {I (1) , … , I (h) }.We consider the following two possible cases and show that (20) holds in each case.Case 1.For the minimum cut (S * , V ⧵ S * ) set S * does not contain any of the interval nodes, that is, S * ∩ {I (1) , … , I (h) } = ∅.
In this case, we have See Figure 7 for an illustration of a cut of such a structure.Similarly to the proof of Lemma 7, we obtain ) .
For each k, 1 ≤ k ≤ q, such that z k = h + 1, we have that while for each each k, 1 ≤ k ≤ q, such that z k ≤ h, we have that where in the latter expression the equality is by ( 18) and the inequality is by (15).Hence, the inequality (20) follows.Case 2. For the minimum cut (S * , V⧵S * ) set S * contains some of the interval nodes, that is, S * ∩{I (1) , … I (h) } ≠ ∅.For illustration, see Figure 8.
For each z, 1 ≤ z ≤ h, compute the number of the resource-interval nodes contained in S * .Due to (21), we have a contradiction to the minimality of the s-t cut (S * , V ⧵S * ).Hence, for each z, 1 ≤ z ≤ h, if I (z) ∈ S * then  z ≥ m holds.This observation, together with the assumption S * ∩ {I (1) , … , I (h) } ≠ ∅, implies that z ′ ≤ h, that is, there exists some z with  z ≥ m.
Proof.We know that the capacity of any cut in network G Res is no less than p(N).It is clear that S * = {s} defines a minimum s-t cut with (S * ) = p(N), that is, there exists a maximum flow f of value p(N).For k, 1 ≤ k ≤ q, let the flow through the arc ) be equal to p (z) k .In terms of the composite job V k , p (z) k is the duration of processing of that job in the interval [ R (z) , R (z+1) ] .The actual feasible schedule S 0 can be found by solving a sequence of auxiliary problems P (z) , 1 ≤ z ≤ h.Each problem P (z) is in fact problem P|pmtn, C(j) ≤ D|− of processing composite jobs V k with p (z)  k > 0 in the interval [ R (z) , R (z+1) ] and can be solved by McNaughton's algorithm outlined in Section 2. For each interval [ R (z) , R (z+1) ] the composite job V k (or its segments) is replaced by the original jobs (or their segments) J j , j ∈ N k , with r(j) ≥ R (z) .
Similarly to the proof of Lemma 4, it can be verified that in schedule S 0 each original job will be processed in full.Additionally, for each interval [ R (z) , R (z+1) ] the total duration of the jobs that require the same resource does not exceed its length  (z) , and total processing amount assigned to the interval does not exceed its total processing capacity m (z) .Thus, schedule S 0 is feasible.▪ To estimate the running time needed for finding a feasible schedule based on Theorem 8, notice that there are 2 + q + qh + h nodes in G Res = (V, A).There are q arcs leaving the source, at most three distinctive arcs coming to and leaving each node N (z)  k , 1 ≤ k ≤ q, 1 ≤ z ≤ h, and h arcs coming to the sink, that is, at most q + 3qh + h arcs all together.Thus, |A| = O(|V|) and using the algorithm in [19] the maximum flow in G Res can be found in O = O ( q 2 n 2 log(qn)

CONCLUSIONS
The necessary and sufficient conditions for the existence of a feasible solution for problem P|r(j), pmtn, C(j) ≤ D|− have been known and widely used for 50 years.One of these conditions is in the form of a system of inequalities, while the other is related to finding the maximum flow in a special network.In this paper, we have strengthened the understanding of the connection between these two conditions by establishing their link to the minimum cuts in such a network.The elaborated proof technique is essentially based on the underlying network model and on the maximum-flow minimum-cut theorem.
To illustrate further applications of the proof technique, we study the enhanced version of the problem, in which jobs require additional resources, namely problem P|r(j), pmtn, res ⋅ 111, C(j) ≤ D|−.For that problem we develop the network model, formulate the feasibility conditions, and present a formal proof of their correctness.The conditions can be used not only for verifying feasibility, but also for optimization versions of the problem, for example, for minimizing the makespan if a common deadline D is treated as a parameter, or for minimizing the total compression cost if job processing times are controllable in the sense of [23].
Another generalization of the problem under study, problem Q|r(j), pmtn, C(j) ≤ D|− with parallel machines having different speeds, can be a subject of future research.While the correctness of the associated network is proved in [6] and feasibility can be verified via solving a network flow problem, it seems interesting to derive conditions in an analytical form, with a polynomial number of inequalities.Notice that the makespan minimization problem Q|r(j), pmtn|C max is studied in [16].Although the necessary and sufficient optimality conditions for problem Q|r(j), pmtn, C(j) ≤ D|− are not derived in [16], the algorithm for the makespan minimization and its justification are essentially based on an analogue of the parameter denoted in our paper by g (z) (j).
Overall, network models play an important role in scheduling research, and there is a potential for future application of our methodology.Possible problems to be addressed are, for example, parallel machine problems with job splitting [22], parallel machine problems with additional restrictions on machines' availability ( [1] and subsequent papers), machines' availability and eligibility [17], open-shop scheduling with preemption [21], and just-in-time scheduling [9], to name a few.

Theorem 4 .
For problem P|r(j), pmtn, C(j) ≤ D|−, the following statements are equivalent: (a) a feasible schedule exists; (b) the inequality (2) holds for every job J j , j ∈ N , and the inequality (3) holds for every interval

Theorem 5 .
Problem P|pmtn, res ⋅ 111|C max is solvable in O(n) time.It immediately follows that problem P|pmtn, res ⋅ 111, C(j) ≤ D|− has a feasible solution if and only if D ≥ C max (

Theorem 6 .
For problem P | r(j), pmtn, res ⋅ 111, C(j) ≤ D | −, a feasible schedule exists if and only if for

Theorem 7 .
For problem P | r(j), pmtn, res ⋅ 111, C(j) ≤ D | −, a feasible schedule exists if and only if a maximum flow in network G Res has the value p(N).