We consider a competitive two-agent scheduling problem on multiple identical machines with release dates and preemption. In the scheduling model, there are two agents a and b each having their own job sets 𝒥a={J1a,…,Jnaa} and 𝒥b={J1b,…,Jnbb}, respectively. Each job Jj∈𝒥a∪𝒥b has a release date ri and the n=na+nb jobs need to be preemptively scheduled on m identical machines. For m=2, we show that the trade-off curve of all the Pareto optimal points can be characterized in polynomial time. When m is input, we show that P|rj,pmtn|Lmaxa:Lmaxb≤Q can be solved in strongly polynomial time.

1. Introduction and Problem Formulation

In recent years, multiagent scheduling problems are under extensive research. A multiagent scheduling problem means that there are multiple agents which must compete to perform their own tasks on the common processing resource. Each agent wants to optimize his/her own objective function. The objective function considered in this paper is to minimize the maximum lateness of the jobs. First, let us briefly recall the history of the classic scheduling problems of minimizing the maximum lateness of the jobs that is, there is only one agent in such a problem. Horn [1] considered the problem of scheduling the jobs preemptively on identical machines with release dates and deadlines and showed that it can be determined in strongly polynomial time if the problem has a feasible schedule by reducing it to a network flow problem which is well known to be solved in strongly polynomial time. Sahni [2] presented a faster algorithm to determine if the problem with identical release dates has a feasible schedule. Furthermore, Sahni and Cho [3] showed that it also can be determined in strongly polynomial time if the problem on related machines has a feasible schedule. Lawler and Labetoulle [4] proved that the feasibility problem on unrelated machines can be settled in weakly polynomial time by means of linear programming. Labetoulle et al. [5] studied the problems of scheduling the jobs on the parallel machines preemptively to minimize the maximum lateness of the jobs with release dates. They gave a strongly polynomial-time algorithm to solve the problem on identical machines which is based on the same network flow structure introduced by Horn [1] and a weakly polynomial-time algorithm to solve the problem on uniform machines in terms of the polymatroidal network flow model introduced by Lawler and Martel [6]. For the latter, a similar result can be found in Martel [7]. The multiagent scheduling models were initially introduced by Baker and Smith [8] and Agnetis et al. [9]. Their research focused on the problems of nonpreemptively scheduling the jobs which belong to two agents on a single machine. Agnetis et al. [10] investigated the multiagent single machine problem of finding a nonpreemptive schedule in which the cost of each agent does not exceed a given threshold value which is also studied in Cheng et al. [11]. Cheng et al. [12] considered the feasibility model of multiagent scheduling on a single machine for which each agent competes to minimize the total weighted number of his/her own tardy jobs and showed that the problem is strongly NP-hard. For more papers about the multiagent problems of scheduling the jobs nonpreemptively on a single machine, the readers are referred to Yuan et al. [13], Ng et al. [14], and Mor and Mosheiov [15]. Leung et al. [16] which initiated the preemptively multiagent scheduling problems investigated the two-agent scheduling problems of scheduling the jobs preemptively on a single machine or identical machines. Yuan et al. [17] studied a competitive two-agent scheduling problem on a single machine with release dates and preemption for which the objective of each agent is to minimize the maximum lateness and showed that all Pareto optimal points can be found in strongly polynomial time. Wan et al. [18] investigated the same two-agent scheduling model for which one agent’s objective is to minimize the maximum lateness and the other agent’s objective is to minimize the total completion time of his/her jobs. They proved that the problem is NP-hard in the ordinary sense by means of reduction from even-odd partition which is well known to be ordinarily NP-hard [19].

The problems in the paper are stated as follows. There are two agents a and b each having their own job sets 𝒥a={J1a,…,Jnaa} and 𝒥b={J1b,…,Jnbb}, respectively. We make the assumption that 𝒥a∩𝒥b=∅. The jobs in 𝒥a are called a-jobs and the jobs in 𝒥b are called b-jobs. Each job Jj∈𝒥a∪𝒥b has a release date rj, a due date dj, and a processing time pj. And the n=na+nb jobs need to be preemptively scheduled on m identical machines. Two agents have the same objective of minimizing the maximum lateness. We use the following notation throughout this paper.

pjx is the processing time of job Jjx, x∈{a,b}.

rjx is the release date of job Jjx, x∈{a,b}.

djx is the due date of job Jjx, x∈{a,b}.

Cjx is the completion time of job Jjx, x∈{a,b}.

Ljx=Cjx-djx is the lateness of job Jjx, x∈{a,b}.

Lmaxx=max{Ljx:1≤j≤nx} is the maximum lateness of (the jobs of) agent x, x∈{a,b}.

A schedule σ is called Pareto optimal if there is no schedule ρ such that Lmaxa(ρ)≤Lmaxa(σ), Lmaxb(ρ)≤Lmaxb(σ), and at least one inequality strictly holds, that is, a schedule is Pareto optimal for any schedule; if it is better for one agent, then it must be worse for the other agent. We say (Lmaxa(σ),Lmaxb(σ)) is a Pareto optimal point if schedule σ is a Pareto optimal schedule. The first problem we consider is to find all the Pareto optimal points and a corresponding schedule for each Pareto optimal point when m=2 and all the jobs are released at 0. The second problem we consider is to minimize the maximum lateness of agent A with the maximum lateness of agent B bounded by a given threshold Q when m is input.

By use of the well-known three-field notation [20], the first and second problems can be formulated as follows.

The first problem: P2|pmtn|(Lmaxa:Lmaxb), which is a Pareto optimization problem seeking to minimize Lmaxa and Lmaxb simultaneously.

The second problem: P|rj,pmtn|Lmaxa:Lmaxb≤Q.

The rest of the paper is organized as follows. In Section 2, we show that the tradeoff curve of the Pareto optimal points can be characterized in strongly polynomial time for P2|pmtn|(Lmaxa:Lmaxb). Section 3 gives a polynomial time algorithm to solve Problem P|rj,pmtn|Lmaxa:Lmaxb≤Q. We draw some conclusions and present some further research.

First, let us state a feasibility problem of scheduling n jobs preemptively on two identical machines with the deadlines and give a characterization of feasibility. Let 𝒥={J1,J2,…,Jn} be the set of the jobs and dj and pj are the deadline and processing time of job Jj, respectively; j=1,2,…,n. The problem is denoted by P2|pmtn;dj|— in terms of the three-field notation. Without loss of generality, we assume that the jobs are ordered by d1≤d2≤⋯≤dn. Assume that there are total k different deadlines and d(1),d(2),…,d(k) with d(1)<d(2)<⋯<d(k) are the k different deadlines. Denote by 𝒥(i) the set of the jobs of deadline d(i), i=1,2,…,k. Let r0=0,r1,…,rk=n be the k+1 numbers such that 𝒥(i)={Jri-1+1,Jri-1+2,…,Jri}, i=1,2,…,k. We assume that d0=0 and Jri-1+1 is the largest job of 𝒥(i) for convenience, i=1,2,…,k.

Before we present the characterization of feasibility of P2|pmtn|(Lmaxa:Lmaxb), we first state a well-known result from [2].

Algorithm Sahni. Consider the following steps.

Step 1.

i=1, L1=L2=0.

Step 2.

Find a unscheduled job Jj of 𝒥(i). If pj≥d(i)-L1, then return infeasibility. Otherwise, we schedule job Jj. If pj≤d(i)-L2, then we assign time interval [L2,L2+pj] to Jj on machine 2 and reset L2:=L2+pj; else, we assign time interval [L2,d(i)] on machine 2 and time interval [L1,L1+L2+pj-d(i)] on machine 1 to Jj and reset L2:=d(i), L1:=L1+L2+pj-d(i).

Step 3.

If all the jobs of 𝒥(i) are scheduled, then reset i:=i+1; else, go back to Step 2.

Step 4.

If i=n+1, then stop; else, go back to Step 2.

L1 and L2 denote the current loads of machine 1 and machine 2 in algorithm Sahni, respectively. And algorithm Sahni first schedules the jobs of 𝒥(1), then schedule 𝒥(2) and so on. The following theorem is from [2].

Theorem 1.

If problem P2|pmtn;dj|—is feasible, then algorithm Sahni gives a feasible schedule.

Theorem 2.

Problem P2|pmtn;dj|—is feasible if and only if it satisfies the following conditions:

“only if” part. Problem P2|pmtn;dj|—is feasible and denoted by σ a feasible schedule for P2|pmtn;dj|. For any i and any j with j≤i, only Jri-1+1 out of {J1,J2,…,Jrj-1}∪{Jri-1+1} can be processed in [d(j-1),d(i)] in σ. Note that Jri-1+1 must be completed by d(i) and all the jobs of {J1,J2,…,Jrj-1} must be completed by d(j-1). Then we have 2d(j-1)+(d(i)-d(j-1))≥∑h=1rj-1ph+pri-1+1, which means that (1) holds. Note that all the jobs of all the jobs of {J1,J2,…,Jri} must be completed by d(i). Then we can get that 2d(i)≥∑j=1ripj, which means that (2) holds.

“If” Part. When k=1, which means that all the jobs have the same deadline d. By the conditions, we have pmax=p1≤d and ∑j=1npj/2≤d. According to the result of [21], we know that there exists a feasible schedule of the n jobs meeting with the same deadline. Now assume that the conclusion holds for k=t. We consider the case of k=t+1. Let 𝒥-={J1,J2,…,Jrt}=∪i=1t𝒥(i). By the assumption of k=t, we know that there exists a feasible schedule σ for 𝒥-. Furthermore, by Theorem 1, we can assume that σ is generated by algorithm Sahni. Denote by x and y the loads of machine 1 and machine 2, respectively. By the assumption of k=t+1 and by the algorithm Sahni, we have that x+prt+1≤d(t+1) and x+y+∑j=rt+1rt+1pj≤2d(t+1). Similar to McNaughton’s algorithm of [21], we can schedule the jobs of 𝒥(t+1) starting from σ to meet with the deadlines of the jobs of 𝒥(t+1). Then we can get a feasible schedule for the job set ∪i=1t+1𝒥(i).

Remark 3.

Theorem 2 still holds for d(1)≤d(2)≤⋯≤d(k).

By Theorem 2, we can easily get the following lemma.

Lemma 4.

Problem P2|pmtn|Lmax can be solved in O(n2) time.

In the following, let us consider problem P2|pmtn|(Lmaxa:Lmaxb). Let (x1,y1) and (x2,y2) be two Pareto optimal points of P2|pmtn|(Lmaxa:Lmaxb); then x1>x2 means that y1<y2. So we can assume y=f(x) such that (x,y) is a Pareto optimal point of P2|pmtn|(Lmaxa:Lmaxb), and we know that y=f(x) is a strictly decreasing function on x. In order to calculate the tradeoff curve of P2|pmtn|(Lmaxa:Lmaxb), we must determine the domain D of x and present an efficient calculation of f(x). Let t(x) be the optimal value of P2|pmtn|Lmaxa≤x:Lmaxb then {(x,t(x)):0≤x≤x0} includes all the Pareto optimal points of P2|pmtn|(Lmaxa:Lmaxb); that is, {(x,f(x)):x∈D} is the remaining set after {(x,t(x)):0≤x≤x0} deletes all the non-Pareto optimal points. We call (x,t(x)) a transit point if the due date order of the jobs in 𝒥 with the due date of Jja considered as dja+x-ϵ and the due date of Jib considered as dib+t(x-ϵ) are different from the due date order of the jobs in 𝒥 with the due date of Jja considered as dja+x+ϵ and the due date of Jib considered as dib+t(x+ϵ) for sufficiently small ϵ. By Lemma 4, we first get the optimal value x0 of P2|pmtn|Lmaxa:Lmaxb<+∞ and the optimal value T0 of P2|pmtn|Lmaxa<+∞:Lmaxb in polynomial time. We simply assume that x0=T0=0. If not, we can make x0=T0=0 by changing the due dates of the jobs of 𝒥a and 𝒥b to the appropriate numbers.

Obviously, x≥0. Let x0 be the optimal value of P2|pmtn|Lmaxa:Lmaxb≤0; then [x0,x0] is the domain of x. We present a strongly polynomial time algorithm to achieve the optimal value of P2|pmtn|Lmaxa:Lmaxb≤0. Without loss of generality, for x∈{a,b}, we assume that the jobs of agent x are ordered by d1x≤d2x≤⋯≤dnxx. Assume that there are total kx different due dates and d(1)x,d(2)x,…,d(kx)x with d(1)x<d(2)x<⋯<d(kx)x are the kx different due dates. Denote by 𝒥x(i) the set of the jobs of due date d(i)x, i=1,2,…,kx. Let r0=0,r1,…,rkx=nx be the kx+1 numbers such that 𝒥x(i)={Jri-1+1x,Jri-1+2x,…,Jrix}, i=1,2,…,kx. We assume that d0=0 and Jri-1+1x are the largest jobs of 𝒥x(i) for convenience, i=1,2,…,kx. For any t≥0, we define h(t) as the smallest number of {d(1)b,d(2)b,…,d(kb)b}∪{+∞} strictly larger than t. We determine a series of δ1, δ2,…,δv0 iteratively, where v0 will be determined later. First, we determine δ1=min1≤i≤na{h(d(1)a)-d(1)a}. Then we determine δ2=min1≤i≤na{h(d(1)a+δ1)-d(1)a-δ1}. For general j, we determine δj=min1≤i≤na{h(d(1)a+∑k=1j-1δk)-d(1)a-∑k=1j-1δk}. Go on the process until the v0-th iteration such that d(1)a+∑k=1v0-1δk≥dkbb. Then we have v0≤kakb≤nanb. Assume that δ0=0 and δv0+1=+∞. We use a bisection search to determine t0 such that P2|pmtn|Lmaxa≤∑i=1t0-1δi:Lmaxb≤0 is infeasible and P2|pmtn|Lmaxa≤∑i=1t0δi:Lmaxb≤0 is feasible. And it can be completed in O(logv0) implementations of algorithm Sahni. Therefore, we have ∑i=1t0-1δi<x0≤∑i=1t0δi. By the definition of δt0, let di-a=dia+x and d(j-)a=d(j)a+x, i=1,2,…,na and j=1,2,…,ka. We know that {d(1-)a,d(2-)a,…,d(ka-)a}∪{d(1)b,d(2)b,…,d(nb)b} remains the same increasing order for any ∑i=1t0δi<x<∑i=1t0-1δi. For ∑i=1t0-1δi<x<∑i=1t0δi, we apply Theorem 2 to the job set 𝒥a∪𝒥b with the deadline dia+x of Jia and the deadline djb of Jjb, i=1,2,…,na and j=1,2,…,nb. Let 𝒥=𝒥a∪𝒥b={J1,J2,…,Jn} and d(1),d(2),…,d(k) with d(1)<d(2)<⋯<d(k) are the distinct deadlines of the jobs of 𝒥, where k=ka+kb and n=na+nb. Then d(j) is some d(r)a+x or some d(t)b for any j with 1≤j≤k. And pi is fixed as some pra or some ptb for any x with ∑i=1t0-1δi<x<∑i=1t0δi. So by Theorem 2, we can get the exact value of x0 by solving at most (k(k+1)/2)+k linear equalities. We demonstrate the idea as two steps.

Step 1.

We get the optimal value T0 of P2|pmtn|Lmaxa≤0:Lmaxb, reset the due date djb:=djb+T0, j=1,2,…,nb, and keep the due dates d1a,d2a,…,dnaa unchanged. Let π be the order of the jobs in 𝒥 according to the due dates from small to large. Set δ1=min1≤i≤na{h(d1a)-d1a}. Let x and let y=u(x) be the numbers such that 𝒥 has the due date order π when the due date of Jja is regarded as dja+x and the due date of Jib is regarded as djb-y. Consider dja+x as the deadline of Jja and djb-y as the deadline of Jib, applying the Theorem 2, subject to x+y≤δ1, we can find the exact representation of u(x), where u(x) is a curve of O(k2) broken lines and the slopes of the broken lines are increasing and x1 such that (x1,t(x1)) is the transit point in polynomial time.

Step 2.

We reset djb:=djb+t(x1) and dia:=dia+x1, repeat the process of Step 1 to find the next transit point (x2,t(x2)), go on the process until we find all the transit points and note that the number of the transit points is bounded by nanb.

In the following, we provide an instance to help the understanding of this algorithm.

Instance. There are two different deadlines d(1)=3 and d(2)=6 and six jobs partitioned into two subsets: 𝒥(1)={J1,J2,J3} and 𝒥(2)={J4,J5,J6}, p1=1, p2=1, p3=3, p4=2, p5=2, and p6=6.

In the instance, we can calculate all the transit points by the algorithm. There are four transit points: (x0,y0)=(0,2), (x1,y1)=(1/2,3/2), (x2,y2)=(3/2,3/2), and (x3,y3)=(3/2,0). So the tradeoff curve is demonstrated as Figure 1.

The solid line and the solid point show all the Pareto optimal points and the dotted line and hollow point are the dominated points.

We now consider problem P|rj,pmtn|Lmaxa:Lmaxb≤Q. Without loss of generality, we can assume Q=0. Otherwise, we can shift the due date of Jib to some appropriate number, i=1,2,…,nb. Similarly, we first deal with the relaxed version of this problem which is to test a trial value of Lmaxa for feasibility. That is, for a given value y, one has to determine whether or not there exists a schedule for which Lmaxa≤y. This condition is equivalent to the requirement that no job Jia is completed after an induced deadline dia+y and no job Jjb is completed after djb. For the feasibility problem P|rj,pmtn|Lmaxa≤y:Lmaxb≤0, Horn [1] proposed a network flow algorithm to solve it.

Horn’ approach is as follows. Suppose y is a trial value for Lmaxa. Let {e1,e2,…,e2n} with e1≤e2≤⋯≤e2n be the ordered collection of release dates rja, rib and deadlines dib, induced deadlines dia+y. We arbitrarily break the ties. Further, Define the time interval Ek=[ek,ek+1] for k=1,2,…,2n-1.

We construct the flow network as follows. There are n=na+nb job vertices J1,J2,…,Jn (Jj is some Jsa or some Jrb) interval vertices E1,E2,…,E2n-1, a source vertex S, and a sink vertex T. There ia an arc (Jj,Ek) of capacity ek+1-ek if and only if the release date of Jj is no more that ek and ek+1 are no more than the (induced) deadlines of Jj. In addition, there is an arc (S,Jj) of capacity pj which is the processing time of Jj for j=1,2,…,n and an arc (Ek,T) of capacity m(ek+1-ek) for k=1,2,…,2n-1. Now, a maximum value flow is found in O(n3) time [22, 23]. It should be evident that the trial value y is feasible if and only if the maximum flow value is P=∑j=1npj, where pj is the processing time of Jj. If the maximum flow value is indeed P, a feasible schedule is easily constructed: for each interval Ek, the corresponding schedule part can be achieved by applying the McNaughton’s algorithm [21]. Notice that there are certain critical trial values of Lmaxa. There are at most na(n+nb) values y such that dja+y=dib or dja+y=rka or dja+y=rhb. The vertex-arc structure of the network remains unchanged for all trial values between two successive critical values.

We propose to find the optimum value of Lmaxa in two phases. In the first phase, the largest infeasible critical value y0 is determined. A bisection search for y0 requires the testing of log(na(n+nb)) trial values or O(na·n2logn) time overall.

In the second phase, a maximum value flow and a minimum capacity cut are found in the network with capacities induced by the value y0. Next, a value y1>y0 is determined in such a way that the capacity of this cut is increased to exactly P. The procedure is then repeated in the network induced by y1. This process yields a sequence of increasing trial values yi. It terminates when the minimum cut capacity is exactly P, that is, at an iteration z where yz is the first feasible trial value and therefore the optimum value of Lmaxa. We will show that z=O(namax{n,m}).

Suppose a minimum cut with capacity P0<P is found in the network for y0. Consider how the capacity of this cut is changed when y0 is increased by some positive amount δ. The capacity ek+1-ek of an arc (Jj,Ek)

stays the same if both of ek and ek+1 are induced deadlines or not induced deadlines,

increases by δ if ek is not induced deadline and ek+1 is induced deadline, and

decreases by δ if ek is induced deadline and ek+1 is not induced deadline.

A similar situation holds for the capacities of the arcs (Ek,T), except that they change by mδ or -mδ rather than by δ or -δ. All arcs whose capacities are increased are incident with a vertex Ek of type (b) of which there are at most n. If (Ek,T) is in the cut, then no (Jj,Ek) can be forward arc in the cut, so that the cut capacity increases in all arcs incident with Ek is at most mδ. It follows that eh capacity of the cut is increased by μ0δ, where μ0 is an integer multiplier with μ0≤namax{n,m}. We assert that μ0≥1, and let y0 be the next critical value after y0. Note that The vertex-arc structure of the network remains unchanged for y0 and y0. Since y0 is a feasible critical value, by the max-flow min-cut theorem, we have that P0+μ0(y0-y0)≥P, which means that μ0≥1. Accordingly, we set δ=(P-P0)/μ0, y1=y0+δ and repeat.

Each cut in the network can be characterized by a pair (μ,P′), where μ is its multiplier and P′ its capacity. When yl is increased to yl+1, the multipliers of cuts do not change, although their capacities indeed do. Suppose that the minimum cut found at iteration i has multiplier μi≥1 and capacity Pi and consider the replacement of yi by yi+1. Each cut with multiplier μ≥μi will have its capacity increased to at lease P. Hence, μi+1<μi. Note that μi≥1 for all i and μ0≤namax{n,m}. It follows that there can be at most μ0≤namax{n,m} iterations.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

HornW. A.Some simple scheduling algorithmsSahniS.Preemptive scheduling with due datesSahniS.ChoY.Scheduling independent tasks with due times on a uniform processor systemLawlerE. L.LabetoulleJ.On preemptive scheduling of unrelated parallel processors by linear programmingLabetoulleJ.LawlerE. L.LenstraJ. K.Rinnooy KanA. H. G.Preemptive scheduling of uniform machines subject to release datesLawlerE. L.MartelC. U.Computing maximal “polymatroidal” network flowsMartelC.Preemptive scheduling with release times, deadlines and due timesBakerK. R.SmithJ. C.A multiple-criterion model for machine schedulingAgnetisA.MirchandaniP. B.PacciarelliD.PacificiA.Scheduling problems with two competing agentsAgnetisA.PacciarelliD.PacificiA.Multi-agent single machine schedulingChengT. C. E.NgC. T.YuanJ. J.Multi-agent scheduling on a single machine with max-form criteriaChengT. C. E.NgC. T.YuanJ. J.Multi-agent scheduling on a single machine to minimize total weighted number of tardy jobsYuanJ. J.ShangW. P.FengQ.A note on the scheduling with two families of jobsNgC. T.ChengT. C. E.YuanJ. J.A note on the complexity of the problem of two-agent scheduling on a single machineMorB.MosheiovG.Scheduling problems with two competing agents to minimize minmax and minsum earliness measuresLeungJ. Y.-T.PinedoM.WanG.Competitive two-agent scheduling and its applicationsYuanJ. J.NgC. T.ChengT. C. E.A note on two-agent scheduling on a single machine with release dates and preemptionUnpublished Manuscript, 2011WanL.YuanJ. J.GenZ. C.A note on the preemptive scheduling to minimize total completion time with release time and deadline constraintsIn Submission, 2012GareyM. R.JohnsonD. S.GrahamR. L.LawlerE. L.LenstraJ. K.Rinnooy KanA. H. G.Optimization and approximation in deterministic sequencing and scheduling: a surveyMcNaughtonR.Scheduling with deadlines and loss functionsKarzanovA. V.Determining the maximal flow in a network by the method of preflowsTarjanR. E.A simple version of Karzanov's blocking flow algorithm