MPE Mathematical Problems in Engineering 1563-5147 1024-123X Hindawi Publishing Corporation 124083 10.1155/2013/124083 124083 Research Article A Competitive Two-Agent Scheduling Problem on Parallel Machines with Release Dates and Preemption Qi Yawei 1 http://orcid.org/0000-0001-9770-532X Wan Long 2 Yin Yunqiang 1 School of Information Technology Jiangxi Key Laboratory of Data and Knowledge Engineering Jiangxi University of Finance and Economics Nanchang, Jiangxi 330013 China jxufe.edu.cn 2 School of Information Technology Jiangxi University of Finance and Economics Nanchang, Jiangxi 330013 China jxufe.edu.cn 2013 17 11 2013 2013 12 08 2013 06 10 2013 2013 Copyright © 2013 Yawei Qi and Long Wan. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

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:LmaxbQ 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  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  presented a faster algorithm to determine if the problem with identical release dates has a feasible schedule. Furthermore, Sahni and Cho  showed that it also can be determined in strongly polynomial time if the problem on related machines has a feasible schedule. Lawler and Labetoulle  proved that the feasibility problem on unrelated machines can be settled in weakly polynomial time by means of linear programming. Labetoulle et al.  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  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 . For the latter, a similar result can be found in Martel . The multiagent scheduling models were initially introduced by Baker and Smith  and Agnetis et al. . Their research focused on the problems of nonpreemptively scheduling the jobs which belong to two agents on a single machine. Agnetis et al.  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. . Cheng et al.  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. , Ng et al. , and Mor and Mosheiov . Leung et al.  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.  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.  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 .

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:1jnx} 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 , 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:LmaxbQ.

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:LmaxbQ. We draw some conclusions and present some further research.

2. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M63"><mml:mi>P</mml:mi><mml:mn>2</mml:mn><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:mrow><mml:mtext>pmtn</mml:mtext></mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mo mathvariant="bold">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>max</mml:mi><mml:mo /></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="bold"> </mml:mo><mml:mo mathvariant="bold">:</mml:mo><mml:mo mathvariant="bold"> </mml:mo><mml:msubsup><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>max</mml:mi><mml:mo /></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="bold">)</mml:mo></mml:math></inline-formula>

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 d1d2dn. 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 .

Algorithm Sahni. Consider the following steps.

Step 1.

i = 1 , L1=L2=0.

Step 2.

Find a unscheduled job Jj of 𝒥(i). If pjd(i)-L1, then return infeasibility. Otherwise, we schedule job Jj. If pjd(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.

L 1 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 .

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:

d(j-1)+d(i)t=1rj-1pt+pri-1+1, i=1,2,,k, j=1,2,,i;

2d(i)j=1ripj, i=1,2,,k.

Proof.

“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 ji, 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=p1d and j=1npj/2d. According to the result of , 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+1d(t+1) and x+y+j=rt+1rt+1pj2d(t+1). Similar to McNaughton’s algorithm of , 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|Lmaxax:Lmaxb then {(x,t(x)):0xx0} includes all the Pareto optimal points of P2|pmtn|(Lmaxa:Lmaxb); that is, {(x,f(x)):xD} is the remaining set after {(x,t(x)):0xx0} 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, x0. Let x0 be the optimal value of P2|pmtn|Lmaxa:Lmaxb0; then [x0,x0] is the domain of x. We present a strongly polynomial time algorithm to achieve the optimal value of P2|pmtn|Lmaxa:Lmaxb0. Without loss of generality, for x{a,b}, we assume that the jobs of agent x are ordered by d1xd2xdnxx. 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 t0, 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=min1ina{h(d(1)a)-d(1)a}. Then we determine δ2=min1ina{h(d(1)a+δ1)-d(1)a-δ1}. For general j, we determine δj=min1ina{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δkdkbb. Then we have v0kakbnanb. Assume that δ0=0 and δv0+1=+. We use a bisection search to determine t0 such that P2|pmtn|Lmaxai=1t0-1δi:Lmaxb0 is infeasible and P2|pmtn|Lmaxai=1t0δi:Lmaxb0 is feasible. And it can be completed in O(logv0) implementations of algorithm Sahni. Therefore, we have i=1t0-1δi<x0i=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 1jk. 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|Lmaxa0: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=min1ina{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.

3. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M322"><mml:mi>P</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:mrow><mml:mtext>pmtn</mml:mtext></mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>max</mml:mi><mml:mo /></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="bold"> </mml:mo><mml:mo mathvariant="bold">:</mml:mo><mml:mo mathvariant="bold"> </mml:mo><mml:msubsup><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>max</mml:mi><mml:mo /></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="bold">≤</mml:mo><mml:mi>Q</mml:mi></mml:math></inline-formula>

We now consider problem P|rj,pmtn|Lmaxa:LmaxbQ. 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 Lmaxay. 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|Lmaxay:Lmaxb0, Horn  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 e1e2e2n 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 . 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 μ0namax{n,m}. We assert that μ01, 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 μ01. 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 μi1 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 μi1 for all i and μ0namax{n,m}. It follows that there can be at most μ0namax{n,m} iterations.

Conflict of Interests

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

Horn W. A. Some simple scheduling algorithms Naval Research Logistics Quarterly 1974 21 177 185 MR0343895 Sahni S. Preemptive scheduling with due dates Operations Research 1979 27 5 925 934 10.1287/opre.27.5.925 MR547918 Sahni S. Cho Y. Scheduling independent tasks with due times on a uniform processor system Journal of the Association for Computing Machinery 1980 27 3 550 563 10.1145/322203.322214 MR581984 Lawler E. L. Labetoulle J. On preemptive scheduling of unrelated parallel processors by linear programming Journal of the Association for Computing Machinery 1978 25 4 612 619 10.1145/322092.322101 MR508706 Labetoulle J. Lawler E. L. Lenstra J. K. Rinnooy Kan A. H. G. Preemptive scheduling of uniform machines subject to release dates Progress in Combinatorial Optimization 1984 Toronto, Canada Academic Press 245 261 MR771880 Lawler E. L. Martel C. U. Computing maximal “polymatroidal” network flows Mathematics of Operations Research 1982 7 3 334 347 10.1287/moor.7.3.334 MR667926 Martel C. Preemptive scheduling with release times, deadlines and due times Journal of the Association for Computing Machinery 1982 29 3 812 829 10.1145/322326.322337 MR666779 Baker K. R. Smith J. C. A multiple-criterion model for machine scheduling Journal of Scheduling 2003 6 1 7 16 10.1023/A:1022231419049 MR1999987 Agnetis A. Mirchandani P. B. Pacciarelli D. Pacifici A. Scheduling problems with two competing agents Operations Research 2004 52 2 229 242 10.1287/opre.1030.0092 MR2066398 Agnetis A. Pacciarelli D. Pacifici A. Multi-agent single machine scheduling Annals of Operations Research 2007 150 3 15 10.1007/s10479-006-0164-y MR2304126 Cheng T. C. E. Ng C. T. Yuan J. J. Multi-agent scheduling on a single machine with max-form criteria European Journal of Operational Research 2008 188 2 603 609 10.1016/j.ejor.2007.04.040 MR2386750 Cheng T. C. E. Ng C. T. Yuan J. J. Multi-agent scheduling on a single machine to minimize total weighted number of tardy jobs Theoretical Computer Science 2006 362 1–3 273 281 10.1016/j.tcs.2006.07.011 MR2259636 Yuan J. J. Shang W. P. Feng Q. A note on the scheduling with two families of jobs Journal of Scheduling 2005 8 6 537 542 10.1007/s10951-005-4997-z MR2179410 Ng C. T. Cheng T. C. E. Yuan J. J. A note on the complexity of the problem of two-agent scheduling on a single machine Journal of Combinatorial Optimization 2006 12 4 387 394 10.1007/s10878-006-9001-0 MR2265910 Mor B. Mosheiov G. Scheduling problems with two competing agents to minimize minmax and minsum earliness measures European Journal of Operational Research 2010 206 3 540 546 10.1016/j.ejor.2010.03.003 MR2639399 Leung J. Y.-T. Pinedo M. Wan G. Competitive two-agent scheduling and its applications Operations Research 2010 58 2 458 469 10.1287/opre.1090.0744 MR2674809 Yuan J. J. Ng C. T. Cheng T. C. E. A note on two-agent scheduling on a single machine with release dates and preemption Unpublished Manuscript, 2011 Wan L. Yuan J. J. Gen Z. C. A note on the preemptive scheduling to minimize total completion time with release time and deadline constraints In Submission, 2012 Garey M. R. Johnson D. S. Computers and Intractability: A Guide to the Theory of NP-Completeness 1979 San Francisco, Calif, USA W. H. Freeman A Series of Books in the Mathematical Sciences MR519066 Graham R. L. Lawler E. L. Lenstra J. K. Rinnooy Kan A. H. G. Optimization and approximation in deterministic sequencing and scheduling: a survey Annals of Discrete Mathematics 1979 5 287 326 MR558574 McNaughton R. Scheduling with deadlines and loss functions Management Science 1959 6 1 12 MR0110585 Karzanov A. V. Determining the maximal flow in a network by the method of preflows Soviet Mathematics Doklady 1974 15 434 437 Tarjan R. E. A simple version of Karzanov's blocking flow algorithm Operations Research Letters 1984 2 6 265 268 10.1016/0167-6377(84)90076-2 MR739677