Abstract
In this paper, we consider three preemptive Pareto-scheduling problems with two competing agents on a single machine. In each problem, the objective function of agent A is the total completion time, the maximum lateness, or the total late work while the objective function of agent B is the total late work. For each problem, we provide a polynomial-time algorithm to characterize the trade-off curve of all Pareto-optimal points.
    1. Introduction
In recent decades, scheduling with two competing agents and scheduling with late-work criterion have been two hot topics in scheduling research. However, research for the combination of the two topics has not been studied extensively. One reason for this phenomenon stems from the fact that the single-machine scheduling problem for minimizing the total late work is already NP-hard when preemption is not allowed. Given the polynomial solvability of the preemptive scheduling problem for minimizing the total late work, we study the single-machine two-agent preemptive Pareto-scheduling problems with the total late work being one of the criteria.
Problem Formulation: Consider two competing agents A and B. For each agent , let  be the set of jobs of agent X, where  and the jobs in  are called the X-jobs. Each job  has a processing time  and a due date  which are integrally valued. The  independent jobs in  need to be preemptively processed on a single machine. Let  and . All jobs considered in this paper are available at time zero. Our problems allow us to assume that the maximum due date of all jobs is at most P.  
Let  be a feasible schedule which assigns the jobs for processing in pieces in the interval . To enhance the flexibility of analysis, we allow the existence of idle times in a feasible schedule. The completion time of job  in  is denoted as . The late work of  in , denoted , is the amount of processing time of  after its due date  in . If ,  is called early in . If ,  is called partially early in . If ,  is called late in .
The scheduling criteria related to our research are given by  (the total completion time of the A-jobs under schedule ),  (the maximum lateness of the A-jobs in schedule ), and  (the total late work of the X-jobs under schedule ). Then the three Pareto-scheduling problems studied in this paper are given by
      
      
        
      
      
      
      
    
For each of the above three problems, we aim to find all the Pareto-optimal points of the problem and for each point a corresponding Pareto-optimal schedule. The formal definitions of Pareto-optimal point and Pareto-optimal schedule can be found in T’kindt and Billaut []. In this paper, the set of Pareto-optimal points forms a curve. Then we use the term trade-off curve to describe the set of Pareto-optimal points.
Literature Review: There is a huge amount of literature in scheduling with two competing agents and scheduling with late work criterion. Limited to the space of this paper, we only review some most related results.  
Two-agent scheduling was first introduced by Agnetis et al. []. The authors proposed two important models for single-machine scheduling with two competing agents: constrained optimization model and Pareto optimization model. They studied nine problems arising from the different criteria combinations for the two agents and stated time complexity results for most of the resulting cases, where the scheduling criteria include the maximum regular cost function, the total (weighted) completion time and the number of tardy jobs. Early research on two-agent scheduling problems can also be found in Cheng et al. [,], Lee et al. [], Leung et al. [], and Ng et al. []. Agnetis et al. [] applied the concept of price of fairness in resource allocation to two-agent single-machine scheduling problems, in which one agent aims at minimizing the total completion time, while the other agent wants to minimize the maximum tardiness with respect to a common due date. They further discussed the problem in which both agents wish to minimize the total completion time of their own jobs. Zhang et al. [] studied the price of fairness in a two-agent single-machine scheduling problem in which both agents A and B want to minimize their own total completion time, and agent B has exactly two jobs.
There are few results on the two-agent scheduling problems with precedence constraints. Agnetis et al. [] considered the two-agent problem with precedence constraints on single machine, i.e.,  and solved this problem in polynomial time. Mor and Mosheiov [] extended a classical single-machine scheduling problem, where the objective is to minimize maximum cost, given general job-dependent cost functions and general precedence constraints which was solved by the well-known Lawler’s Algorithm. First, they allowed the option of job rejection. Then, they studied the more general setting of two competing agents, where job rejection is allowed either for one agent or for both. They showed that both extensions can be solved in polynomial time. Gao and Yuan [] considered the Pareto-scheduling with two agents A and B for minimizing the total completion time of A-jobs and a maximum cost of B-jobs with precedence constraints. They showed that the problem can be solved in polynomial time. More recent results on two-agent scheduling problems can be found in Agnetis et al. [], Liu et al. [], Oron et al. [], Perez-Gonzalez and Framinan [], and Yuan [,].
Scheduling related to late-work criterion was first studied by Blazewicz and Finke []. Since then, several research groups have focused on this performance measure, obtaining a set of interesting results. Potts and Van Wassenhove [] considered a single-machine scheduling problem where the goal is minimizing the total amount of late work. They showed that the problem is NP-hard and presented a pseudo-polynomial-time algorithm. Potts and Van Wassenhove [] further proposed a branch-bound algorithm for the same problem and presented two fully polynomial-time approximation schemes with running times  and , respectively. Hariri et al. [] considered a single-machine problem of minimizing the total weighted late work. They presented an  algorithm for the preemptive total weighted late work problem. For papers that consider scheduling problem of minimizing other total late-work criteria, the reader may refer to the survey paper of Sterna [].
Up to now, people have done little research about the combination of two-agent scheduling with late-work criterion. Wang et al. [] addressed a two-agent scheduling problem where the objective is to minimize the total late work of the first agent, with the restriction that the maximum lateness of the second agent cannot exceed a given value. For small-scale problem instances, they established two pseudo-polynomial dynamic programming algorithms. For medium- to large-scale problem instances, they presented a branch-and-bound algorithm. Zhang and Wang [] presented a two-agent scheduling problem where the objective is to minimize the total weighted late work of agent A, while keeping the maximum cost of agent B cannot exceed a given bound U. They addressed the complexity of those problems, and presented the optimal polynomial-time algorithms or pseudo-polynomial-time algorithm to solve the scheduling problems, respectively. Zhang and Yuan [] considered the same problem as above and further studied the three versions of the problem.
Our research also uses some results in the single-machine preemptive scheduling with forbidden intervals (or maintenance activities), i.e., , where “” means that there are m forbidden intervals on the single machine and “f” is the objective function to be minimized. Without reviewing this scheduling topic in detail, we only state two known results used in our discussion. Lee [] showed that problem  can be solved by the preemptive SPT rule in  time and problem  can be solved by the preemptive EDD rule in  time.
Our Contributions: In Section 2, we introduce some notations and definitions and present several important lemmas. In Section 3, we show that the trade-off curve of problem  can be determined in  time. In Section 4, we show that the trade-off curve of problem  can be determined in  time. In Section 5, we show that the trade-off curve of problem  can be determined in  time. Finally, some concluding remarks are given in Section 6.
2. Preliminaries
Let  be the job instance to be preemptively scheduled on a single machine. The preemption assumption allows us to schedule each job in pieces. For a piece  of job , we use  to denote the length (processing time) of  and use  to denote the completion time of  in schedule .
In the following, we consider the Pareto-scheduling problem  on instance , where  is a regular objective function of the A-jobs or . We use  to denote the set of all Pareto-optimal points of this problem.
In a schedule  of , each B-job  is partitioned into two parts: the early part  and the late part, where  is processed before time  in  and  is processed after time  in . Moreover,  and  are used to denote the lengths (processing times) of  and , respectively. A part of length 0 is called a trivial part. We allow the existence of trivial parts to enhance flexibility in analysis. Then we have
      
      
        
      
      
      
      
    
For convenience, we renumber the B-jobs such that
      
      
        
      
      
      
      
    
      and keep this numbering throughout this paper. Let  which schedules the B-jobs in the EDD order described in (2). From Potts and Van Wassenhove [], the optimal value of problem  on instance  is given by . Then we have the following lemma.
Lemma 1. 
For each point , we have .
To make our analysis operational, we now consider an integer  and present a procedure to schedule the B-jobs preemptively with a particular structure. This procedure imitates the algorithm in Hariri et al. [] for solving problem .
| Algorithm 1: For scheduling the B-jobs according to the value of . | 
| Input: The B-jobs  with the EDD order in (2) and an integer .  Step 1: Determine the minimum index such that . Then . Please note that if , then we have . We call the critical B-job corresponding to . Step 2: Decompose the critical B-job into two parts and such that Step 3: Generate a schedule of the B-jobs in the following way: (3.1) From time , schedule the jobs (or pieces) in consecutively in the order . (3.2) Schedule the jobs (or pieces) in by using the algorithm in Hariri et al. [] for solving problem on instance :  | 
Beginning from time , schedule the jobs (or pieces) in  backwards in the order  such that each job (or piece) in  is scheduled as late as possible subject to its due date.
Output: The schedule  of the B-jobs.
It can be observed that Procedure() runs in  time. An objective function of the A-jobs, denoted , is called regular if  is nondecreasing in the completion times of the A-jobs. Please note that  and  are regular, but  is not regular since the preemptive assumption. The following lemma is critical in our discussion.
Lemma 2. 
Consider problem  on instance , where either  or  is a regular objective function of the A-jobs. Assume that  and let  be the schedule of  generated by Procedure(). Then there exists a Pareto-optimal schedule π corresponding to  in which the B-jobs are scheduled in the same manner as that in . Such a Pareto-optimal schedule π is called a -standard schedule in the sequel.
Proof.  
Let  be a Pareto-optimal schedule corresponding to  such that  is as small as possible. Then no idle exists in , and so, .
The late parts of B-jobs can be scheduled arbitrarily late without affecting the objective values  and . Thus, by shifting the late parts of B-jobs in , we obtain a new Pareto-optimal schedule  corresponding to  such that the following property (P1) holds for .
(P1) The late parts of B-jobs are scheduled consecutively in the interval  in an arbitrary order without idle time.
We next generate a Pareto-optimal schedule  corresponding to  such that following property (P2) holds for .
(P2) For every nontrivial early part  and every nontrivial late part  among the B-jobs, we have .
If  has the property (P2), we just set . Otherwise, there are a nontrivial early part  and a nontrivial late part  among the B-jobs, such that . From (2), we have . Let . By exchanging an amount of length  between  and  in , we obtain a new schedule without changing the objective values but with improving in the direction we need. Repeating this procedure, we eventually obtain a new Pareto-optimal schedule  corresponding to  such that both properties (P1) and (P2) hold for .
Let  be the schedule obtained from  by rescheduling (if necessary) the early parts of B-jobs in the order . Since the EDD property described in (2), the early parts of B-jobs in  are also early in . Then  is a Pareto-optimal schedule corresponding to  such that properties (P1) and (P2), and additionally, the following property (P3), hold for .
(P3) The early parts of B-jobs are scheduled in the order .
Please note that . Since  has the three properties (P1)–(P3), from Procedure () for generating , we know that  and  have the same early parts and late parts of B-jobs. Then, in both schedules, the early parts of B-jobs are given by  and the late parts of B-jobs are given by , as defined in Step 2 of Procedure().
Now let  be the schedule obtained from  by the following two actions: (i) from time , reschedule the late parts in  consecutively in the order , and (ii) without changing the processing order of A-jobs and the processing order of the early parts of B-jobs, reschedule them such that the early parts of B-jobs are scheduled as late as possible subject to their due dates, and then, the A-jobs are scheduled as early as possible.
Clearly, in schedule , the B-jobs are scheduled in the same manner as that in . Then we have . From the construction of , we have . The Pareto-optimality of  further implies that . Consequently,  is a required Pareto-optimal schedule corresponding to . The lemma follows. □
From Lemmas 1 and 2, the Pareto-scheduling problem  on instance  can be solved by the following general approach:
For each value , run Procedure() to obtain the schedule  of the B-jobs. Determine the intervals occupied by the B-jobs in  and regards these intervals as forbidden intervals. The intervals which are not occupied by the B-jobs in  is called the free-time intervals. Then solve problem  on instance  to obtain a -standard schedule.
The above approach cannot be implemented in polynomial time since it enumerates all the possible choices of . Therefore, in the next three sections, for , we will present polynomial-time algorithms, respectively, to characterize the trade-off curves.
To this end, we set , and run Procedure() to obtain the schedule . Assume that the intervals occupied by the B-jobs are given by , where  is the i-th interval, , such that
      
      
        
      
      
      
      
     From the implementation of Procedure(), we have
      
      
        
      
      
      
      
     For each , we define  to be the maximum index in  such that  and let  such that . From the implementation of Procedure() again, the set of time intervals occupied by the B-jobs in schedule , denoted by , is given by
      
      
        
      
      
      
      
     We will write ,  for , and .
The above discussion will help us to construct the trade-off curves easily.
3. The First Problem
In this section, we consider problem  on instance . By the job-exchanging argument, we can verify that the A-jobs must be scheduled in the SPT order in every Pareto-optimal schedule. Thus, in this section, we renumber the A-jobs by the SPT order such that . Then we only consider the schedules in which the A-jobs are scheduled in the order .
Given a point , let  be the -standard schedule of . Then the set of forbidden intervals (occupied by the B-jobs) is given by (5) and the A-jobs are preemptively scheduled in the order  from time 0 in the free-time intervals as early as possible. Thus, there are  forbidden intervals and the first forbidden interval in  is given by .
If , then all the A-jobs are scheduled before the first forbidden interval  in . In this case, we have no further action.
In general, suppose that . Then at least one A-job completes after  in . Let  be the first A-job which completes after  in . Then, there are totally  A-jobs completing after  in .
For each index , we define  to be the interval index such that  completes after interval  and before interval  in , or equivalently, . We further define
      
      
        
      
      
      
      
     An A-job  with  is called a crucial A-job in  if . Please note that if  is a crucial A-job in , then the interval  is fully occupied by job  in , implying that  is the first A-job completing after interval  in . In this case, we call interval  the nearest forbidden interval corresponding to crucial A-job  in .
Set , , to be the length of the forbidden interval  in . In particular, if , then . Let
      
      
        
      
      
      
      
    
Please note that when the schedule  is given, the A-job index  can be determined in  time, the interval indices  for  can be determined in  time. After that, the value  defined in (6) can be determined in  time. Finally, the value  can be determined by its definition in (7) in constant time. Then we have the following lemma.
Lemma 3. 
Given the -standard schedule σ in advance, the values  and  can be determined in  time.
For each , let  be the Y-standard schedule. Then  is obtained from  by shifting the first  units of  to the last forbidden interval and then moving the A-jobs in  left to eliminate the idle times accordingly. This means that  for . Assume that the total completion time of A-jobs in  is C. According to Lemma 2,  is a Pareto-optimal point. In the following, we consider the trade-off curve between  and . For convenience, point  is simply called point Y.
We will show that the trade-off curve for  is a line segment. However, the point  may have the singularity.
Lemma 4. 
For each point  with , we have .
Proof.  
For each , we have . When we change  to , no crucial A-jobs are moved left across their corresponding nearest forbidden intervals in . As a result, compared with , each of the completion times of the A-jobs in  has decreased  units in . Thus, we have , as required. □
Let  be the set of crucial A-jobs in . We use  to denote the total length of all the nearest forbidden intervals corresponding to the  crucial A-jobs in , i.e.,
      
      
        
      
      
      
      
     The following lemma is only used to display the singularity of point .
Lemma 5. 
For the point  with , we have the following three statements.
- (i)
 - If , then .
 - (ii)
 - If and the first crucial A-job is nearest to in σ, then .
 - (iii)
 - If and no crucial A-job is nearest to in σ, then .
 
Proof.  
When  changes to , each of the A-jobs in  is moved left  units, and in the case that , the crucial A-jobs are also moved left across their corresponding nearest forbidden intervals in . Thus, we have
        
      
        
      
      
      
      
    
        where  if  and  if . The key point is that  and  for .
Under the assumption of (i), we have . From (8), we have .
Under the assumption of (ii), we have . From (8), we have .
Under the assumption of (iii), we have . From (8), we have . The lemma follows. □
Theorem 1. 
Algorithm 2 generates the trade-off curve of  in  time.
| Algorithm 2: Trade-off curve of problem . | 
| Input: Instance . | 
| Preprocessing: Renumber the A-jobs such that and renumber the B-jobs such that . | 
| Step 1: Do the following: | 
| (1.1) Generate schedule which schedules the B-jobs in the order in the interval without idle times. Then calculate the value . | 
| (1.2) Run Procedure() to obtain the schedule of the B-jobs. Determine the intervals occupied by the B-jobs in , say , where is the i-th interval, , as described in (3). Then regard as forbidden intervals which will be updated in the implementation of the algorithm. We take the convention that the forbidden intervals are just occupied by the B-jobs. | 
| (1.3) Set and set . | 
| Step 2: Do the following: | 
| (2.1) Generate the -standard schedule of in which are the forbidden intervals and the A-jobs are preemptively scheduled in the order as early as possible. Determine the value . | 
| (2.2) If (and so, every A-job) is scheduled before the first forbidden interval in , then set and go to Step 4. (In this case, we have obtained the whole trade-off curve.) | 
| If completes after in , then go to Step 3. (In this case, we use to denote the first A-job completing after in .) | 
| Step 3: Do the following: | 
| (3.1) Calculate the values and . | 
|  (3.2) Define a left closed right open segment  in the interval  by the following way:  | 
| (3.3) Set and . Moreover, if , then set ; and if , then set and (which is obtained from interval by deleting the first units.) | 
| (3.4) Set . Go to Step 2. | 
| Step 4: Output the trade-off curve . | 
Proof.  
The correctness of Algorithm 2 is guaranteed by Lemmas 2 and 4. We estimate the time complexity of the algorithm in the following.
The preprocessing procedure runs in  time. Each of Steps (1.1) and (1.2) runs in  time, so Step 1 runs in  time.
After Step 1, the algorithm has K iterations. In each iteration, either one forbidden interval is eliminated or at least one A-job is moved left across its corresponding nearest forbidden interval. Since , we have .
At each iteration, Step 2 runs in  time. From Lemma 3, Step (3.1) runs in  time. Thus, each iteration runs in  time.
The above discussion establishes the -time complexity of Algorithm 2. □
It can be observed that the total interruption time (i.e., the number of interruptions) of all the jobs in each schedule generated by Algorithm 2 is upper bounded by .
Let us consider the job instance  displayed in Table 1. The trade-off curve of problem  on instance  is shown in Figure 1.
       
    
    Table 1.
    The job instance .
  
      
    
    Figure 1.
      Trade-off curve.
  
Please note that . Let . The key steps in applying Algorithm 2 to solve the instance  are as follows:
- (i)
 - Generate the schedule and calculate the Y-value . Then generate the schedule , and the forbidden interval set is determined, where , , and . Then, for each , and can be easily generated.
 - (ii)
 - Generate the -standard schedule of in which are the forbidden intervals and the A-jobs are preemptively scheduled in the order as early as possible. Determine the value . Then is a Pareto-optimal schedule corresponding to .
 - (iii)
 - Calculate the values and . Then line segment , which is the trade-off curve in the interval , satisfies . Calculate and the forbidden interval set , where , , and . Generate , and calculate . Then the intermediate point is a jump discontinuity point and is a Pareto-optimal schedule corresponding to .
 - (iv)
 - Calculate the values and . Then the line segment , which is the trade-off curve in the interval , satisfies . Calculate and the forbidden interval set , where , , and . Generate , and calculate . Then the intermediate point is a jump discontinuity point and is a Pareto-optimal schedule corresponding to .
 - (v)
 - Calculate the values and . Then the line segment , which is the trade-off curve in the interval , satisfies . Calculate and the forbidden interval set , where and . Generate , and calculate . Then the intermediate point is a break point and is a Pareto-optimal schedule corresponding to .
 - (vi)
 - Calculate the values and . Then the line segment , which is the trade-off curve in the interval , satisfies . Calculate and the forbidden interval set , where and . Generate , and calculate . Then the intermediate point is a jump discontinuity point and is a Pareto-optimal schedule corresponding to .
 - (vii)
 - Finally, we conclude that as displayed in Figure 1.
 
4. The Second Problem
In this section, we consider problem  on instance . By the job-shifting argument, we can verify that for each Pareto-optimal point, there is a corresponding Pareto-optimal schedule in which the A-jobs are scheduled in the EDD order. Thus, in this section, we renumber the A-jobs by the EDD order such that . Then we only consider the schedules in which the A-jobs are scheduled in the order .
For a point , let  be a -standard schedule of . Then the set of forbidden intervals (occupied by the B-jobs) is given by (5) and the A-jobs are preemptively scheduled in the order  from time 0 in the free-time intervals. Thus, there are  forbidden intervals and the first forbidden interval in  is given by .
If , then all the A-jobs are scheduled before the first forbidden interval  in . In this case, we have no further action.
In general, suppose that . Then at least one A-job completing after  in . Let  be the first A-job which completes after  in . Then, there are totally A-jobs completing after  in .
Let  be the maximum lateness of A-jobs in . An A-job  with  is called critical in  if . Again, we use  to denote the set of all critical A-jobs. Then .
For each critical A-job , we define  to be the interval index such that  completes after interval  and before interval  in , or equivalently, . Define
      
      
        
      
      
      
      
     A critical A-job  is called a desired A-job in  if . In this case, interval  is called the nearest forbidden interval corresponding to desired A-job  in . We further define
      
      
        
      
      
      
      
    
      and
      
      
        
      
      
      
      
     In the case that no A-job completes before interval , we define  and . Moreover, we define
      
      
        
      
      
      
      
    
Please note that when the schedule  is given, the values  and , , and  can be determined in  time. Then the set  and the interval indices  for  can be determined in  time. After that, the value ,  and  can be determined in  time. Finally, the value  can be determined by its definition in (12) in constant time. Then we have the following lemma.
Lemma 6. 
Given the -standard schedule σ in advance, the values  and  can be determined in  time.
If , then . In this case,  is the last Pareto-optimal point.
Suppose that . Then . For each , let  be the Y-standard schedule. Then  is obtained from  by shifting  units of  to the last forbidden interval and then moving the A-jobs in  left to eliminate the idle times accordingly. This means that  for . Assume that the maximum lateness of A-jobs in  is L. According to Lemma 2,  is a Pareto-optimal point. In the following, we consider the trade-off curve between  and . For convenience, point  is simply called point Y.
We will show that the trade-off curve for  is a line segment. Discussion for the singularity of the point  will be omitted. This does not affect the characterization of the trade-off curve.
Lemma 7. 
Suppose that . For each point  with , we have .
Proof.  
For each , we have . When we change  to , no desired A-jobs are moved left across their corresponding nearest forbidden intervals in . As a result, compared with , each desired job must move forward  units and the other A-jobs move forward at least  units in . Thus, the desired A-jobs in  are also critical A-jobs in . Then we have , as required. □
Theorem 2. 
Algorithm 3 generates the trade-off curve of  in  time.
| Algorithm 3: Trade-off curve of problem . | 
| Input: Instance . | 
| Preprocessing: Renumber the A-jobs such that and renumber the B-jobs such that . | 
| Step 1: Do the following: | 
| (1.1) Generate schedule which schedules the B-jobs in the order in the interval without idle times. Then calculate the value . | 
| (1.2) Run Procedure() to obtain the schedule of the B-jobs. Determine the intervals occupied by the B-jobs in , say , where is the i-th interval, , as described in (3). Then regard as forbidden intervals which will be updated in the implementation of the algorithm. We take the convention that the forbidden intervals are just occupied by the B-jobs. | 
| (1.3) Set and set . | 
| Step 2: Do the following: | 
| (2.1) Generate the -standard schedule of in which are the forbidden intervals and the A-jobs are preemptively scheduled in the order as early as possible. Determine the values . | 
| (2.2) Determine the value . Moreover, if , determine the value . | 
| (2.3) If , then set and go to Step 4. (In this case, we have obtained the whole trade-off curve.) | 
| If , then go to Step 3. (In this case, we have .) | 
|  Step 3: Define a left closed right open segment  in the interval  by the following way:  | 
| (3.3) Set and . Moreover, if , then set ; and if , then set and (which is obtained from interval by deleting the first units.) | 
| (3.4) Set . Go to Step 2. | 
| Step 4: Output the trade-off curve . | 
Proof.  
Correctness of Algorithm 3 is guaranteed by Lemmas 2 and 7. The time complexity can be estimated by the similar way of Theorem 1 by putting Lemma 6 in discussion. □
It can be observed that the total interruption time (i.e., the number of interruptions) of all the jobs in each schedule generated by Algorithm 3 is upper bounded by .
Let us consider the job instance  displayed in Table 2. The trade-off curve of problem  on instance  is shown in Figure 2.
       
    
    Table 2.
    The instance .
  
      
    
    Figure 2.
      Trade-off curve.
  
Please note that . Let . The key steps in applying Algorithm 3 to solve the instance  are as follows:
- (i)
 - Generate the schedule and calculate the Y-value . Then generate the schedule , and the forbidden interval set is determined, where , , , and . Then, for each , and can be easily generated.
 - (ii)
 - Generate the -standard schedule of in which are the forbidden intervals and the A-jobs are preemptively scheduled in the order as early as possible. Determine the value . Then is a Pareto-optimal schedule corresponding to .
 - (iii)
 - Calculate the values and . Then the line segment , which is the trade-off curve in the interval , satisfies . Calculate and the forbidden interval set , where , , , and . Generate , and calculate . Then the intermediate point is a jump discontinuity point and is a Pareto-optimal schedule corresponding to .
 - (iv)
 - Calculate the values and . Then the line segment , which is the trade-off curve in the interval , satisfies . Calculate and the forbidden interval set , where , , and . Generate , and calculate . Then the intermediate point is a continuity point and is a Pareto-optimal schedule corresponding to .
 - (v)
 - Calculate the values and . Then the line segment , which is the trade-off curve in the interval , satisfies . Calculate and the forbidden interval set , where , , and . Generate , and calculate . Then the intermediate point is a jump discontinuity point and is a Pareto-optimal schedule corresponding to .
 - (vi)
 - Calculate the value . Then, we conclude that as displayed in Figure 2.
 
5. The Third Problem
In this section, we consider problem  on instance . We renumber the A-jobs by the EDD order such that .
For a point , a -standard schedule of  corresponding to  can be obtained in the following way in  time: (i) Run Procedure() to obtain the schedule  of the B-jobs, and (ii) run the algorithm in Hariri et al. [] for solving problem  to schedule the A-jobs in the free-time intervals not occupied by the B-jobs in . Thus, we only need to consider the trade-off curve of problem  on instance . We first establish a nice property for problem  in the following lemma.
Lemma 8. 
Let  be a job instance of problem . Let  be a subset of  such that there is a schedule of instance  such that all the jobs in  are early. Then there is an optimal schedule of problem  on instance  such that all the jobs in  are early.
Proof.  
We first prove the result for problem  without maintenance intervals by induction on . The result holds trivially if .
Inductively, suppose that , , , and there is a feasible schedule of instance  such that all the jobs in  are early. Moreover, the result holds for every proper subset of  (the induction hypothesis).
Since  is a proper subset of , from the induction hypothesis, there is an optimal schedule  of problem  on instance  such that all the  jobs  are early in . Since all the jobs in  are early in some feasible schedule, we have . This implies that all the  jobs  are completed by time  in  and at least  units of time in the interval  are not occupied by the  jobs .
If , i.e.,  is early in , then  is a required optimal schedule.
Suppose in the following that . Then there is a certain index  such that for job , the first i unit pieces  are early in  and the last  unit pieces  are late in . Let  be the time space which consists of the last  units of time in the interval  that are not occupied by the  jobs  and the i unit pieces  of . Let  be the time space which consists of the  units of time that are occupied by the  unit pieces  of . Let  be the schedule of  obtained from  by exchanging the subschedules in  and in . Then  is early in . Moreover, , implying that  is also optimal. Now all the jobs in  are early in . Consequently,  is an optimal schedule of problem  on instance  such that all the jobs in  are early. The result follows by the induction principle. □
We next use Lemma 8 to prove the following useful lemma.
Lemma 9. 
Let  be a job instance of problem . Let π be a schedule of the jobs in . Then there is an optimal schedule σ of problem  on instance  such that  for .
Proof.  
For each , we partition  into two parts  and  such that  is the early work of  in ,  is the late work of  in , and . Let . Let  be the schedule of  which is obtained from  by just regarding the early part of  in  as job  and regarding the late part of  in  as job . Then all the jobs in  are early in . According to Lemma 8, there is an optimal schedule  of problem  on instance  such that all the jobs in  are early. Since the preemptive assumption, the two instances  and  have no essential difference for problem ,  is an optimal schedule of problem  on instance . The result follows by noting that  for . □
Let  be the optimal value of problem  on instance . We have the following lemma.
Lemma 10. 
For each point , we have .
Proof.  
Let  be a Pareto-optimal schedule of problem  on instance  such that  and . From Lemma 9, there is an optimal schedule  of  on instance  such that  and . The optimality of  implies that . From the property of Pareto-optimal point, we can obtain that  and . Thus, we have . The result follows. □
Theorem 3. 
The trade-off curve of problem  on instance  can be determined in  time.
Proof.  
Let  be the optimal value of problem  on instance . Let  be the optimal value of problem  on instance . Recall that  is the optimal value of problem  on instance . From Hariri et al. [], , , and  can be determined in  time,  time, and  time, respectively.
Please note that  is the minimum total late work of A-jobs among all Pareto-optimal points and  is the minimum total late work of B-jobs among all Pareto-optimal points. Thus, from Lemma 10, the trade-off curve is the line segment
        
      
        
      
      
      
      
    
        connecting point  to point . So, the overall complexity to obtain the trade-off curve is given by . □
It can be observed that the total interruption time (i.e., the number of interruptions) of all the jobs in each Pareto-optimal schedule is upper bounded by .
Let us consider the job instance  displayed in Table 3. The trade-off curve of problem  on instance  is shown in Figure 3.
       
    
    Table 3.
    The instance .
  
      
    
    Figure 3.
      Trade-off curve.
  
Please note that . Let . The key steps to solve the instance  are as follows:
- (i)
 - Generate the schedule and calculate the -value . Then generate the schedule , and the forbidden interval set is determined, where , , , and . Then, for each , and can be easily generated.
 - (ii)
 - Generate the -standard schedule of in which are the forbidden intervals and the A-jobs are preemptively scheduled by running the algorithm in Hariri et al. [] for solving problem in the free-time intervals not occupied by the B-jobs in . Determine the value . Then is a Pareto-optimal schedule corresponding to .
 - (iii)
 - By using the same method as (i) and (ii), we schedule A-jobs first. Generate the schedule , where . Generate the schedule of in which the B-jobs are preemptively scheduled by running the algorithm in Hariri et al. [] for solving problem in the free-time intervals not occupied by the A-jobs in . Then is a Pareto-optimal schedule corresponding to . From Lemma 10, is the final Pareto-optimal schedule. Then the trade-off curve is just the line segment in the interval , which satisfies as displayed in Figure 3.
 
6. Conclusions
This paper considers three preemptive Pareto-scheduling problems with two competing agents on a single machine. Two agents compete to perform their respective jobs on a common single machine and each agent has his own criterion to optimize. In each problem, the goal of agent A is to minimize the total completion time, the maximum lateness, or the total late work while agent B wants to minimize the total late work. For each problem, we provide a polynomial-time algorithm to characterize the trade-off curve of all Pareto-optimal points.
Late-work criterion can be met in all cases where the penalty imposed on a solution depends on the number of tardy units of jobs performed in a system. For example, in production planning where the manufacturer is concerned with minimizing any order delays which cause financial loss, in control systems where the accuracy of control procedures depends on the amount of information provided as their input, in agriculture where performance measures based on due dates, and so on. In the case where two criteria need to be minimized, the trade-off curve results an ideal solution. Once the trade-off curve is characterized, decision makers can make decisions as needed.
For the future research, the trade-off curve of the problem  or  is worthy of study. Since the existence of precedence constraints on scheduling problems reflects real-life problems, it is also worthy to study the two-agent problems with precedence constraints. Another interesting future research direction is to investigate fairness issues when the total late work is one of the criteria in two-agent scheduling problems.
Author Contributions
Conceptualization, methodology, and writing—original manuscript: R.H.; project management, supervision, and writing—review: J.Y. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by the National Natural Science Foundation of China under grant numbers 11671368 and 11771406.
Acknowledgments
The authors would like to thank the Associate Editor and two anonymous referees for their constructive comments and helpful suggestions.
Conflicts of Interest
The authors declare no conflict of interest.
References
- T’kindt, V.; Billaut, J.C. Multicriteria Scheduling: Theory, Models and Algorithms, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2006. [Google Scholar]
 - Agnetis, A.; Mirchandani, P.B.; Pacciareli, D.; Pacifici, A. Scheduling problems with two competing agents. Oper. Res. 2004, 52, 229–242. [Google Scholar] [CrossRef]
 - 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. Theor. Comput. Sci. 2006, 362, 273–281. [Google Scholar] [CrossRef]
 - Cheng, T.C.E.; Ng, C.T.; Yuan, J.J. Multi-agent scheduling on a single machine with max-form criteria. Eur. J. Oper. Res. 2008, 188, 603–609. [Google Scholar] [CrossRef]
 - Lee, W.C.; Wang, W.J.; Shiau, Y.R.; Wu, C.C. A single-machine scheduling problem with two-agent and deteriorating jobs. Appl. Math. Model. 2010, 34, 3098–3107. [Google Scholar] [CrossRef]
 - Leung, J.Y.T.; Pinedo, M.; Wan, G.H. Competitive two-agent scheduling and its applications. Oper. Res. 2010, 58, 458–469. [Google Scholar] [CrossRef]
 - 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. J. Comb. Optim. 2006, 12, 387–394. [Google Scholar] [CrossRef]
 - Agnetis, A.; Chen, B.; Nicosia, G.; Pacifici, A. Price of fairness in two-agent single-machine scheduling problems. Eur. J. Oper. Res. 2019, 276, 79–87. [Google Scholar] [CrossRef]
 - Zhang, Y.B.; Zhang, Z.; Liu, Z.H. The price of fairness for a two-agent scheduling game mini-mizing total completion time. J. Comb. Optim. 2020. [Google Scholar] [CrossRef]
 - Mor, B.; Mosheiov, G. Minimizing maximum cost on a single machine with two competing agents and job rejection. J. Oper. Res. Soc. 2016, 67, 1524–1531. [Google Scholar] [CrossRef]
 - Gao, Y.; Yuan, J.J. Bi-criteria Pareto-scheduling on a single machine with due indices and precedence constraints. Discret. Optim. 2017, 25, 105–119. [Google Scholar] [CrossRef]
 - Agnetis, A.; Billaut, J.; Gawiejnowicz, S.; Pacciarelli, D.; Soukhal, A. Multiagent Scheduling-Models and Algorithms; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
 - Liu, P.; Gu, M.; Li, G.G. Two-agent scheduling on a single machine with release dates. Comput. Oper. Res. 2019, 111, 35–42. [Google Scholar] [CrossRef]
 - Oron, D.; Shabtay, D.; Steiner, G. Single machine scheduling with two competing agents and equal jobs processing times. Eur. J. Oper. Res. 2015, 244, 86–99. [Google Scholar] [CrossRef]
 - Perez-Gonzalez, P.; Framinan, J. A common framework and taxonomy for multicriteria scheduling problem with interfering and competing jobs: Multi-agent scheduling problems. Eur. J. Oper. Res. 2014, 235, 1–16. [Google Scholar] [CrossRef]
 - Yuan, J.J. Complexities of some problems on multi-agent scheduling on a single machine. J. Oper. Res. Soc. China 2016, 4, 379–384. [Google Scholar] [CrossRef]
 - Yuan, J.J. Complexities of four problems on two-agent scheduling. Optim. Lett. 2018, 12, 763–780. [Google Scholar] [CrossRef]
 - Blazewicz, J.; Finke, G. Minimizing mean weighted execution time loss on identical and uniform processors. Inform. Process. Lett. 1987, 24, 259–263. [Google Scholar] [CrossRef]
 - Potts, C.N.; Van Wassenhove, L.N. Single machine scheduling to minimize total late work. Oper. Res. 1992, 40, 586–595. [Google Scholar] [CrossRef]
 - Potts, C.N.; Van Wassenhove, L.N. Approximation algorithms for scheduling a single machine to minimize total late work. Oper. Res. Lett. 1991, 11, 261–266. [Google Scholar] [CrossRef]
 - Hariri, A.M.A.; Potts, C.N.; Van Wassenhove, L.N. Single machine scheduling to minimize total weighted late work. ORSA J. Comput. 1995, 7, 232. [Google Scholar] [CrossRef]
 - Sterna, M. A survey of scheduling problems with late work criteria. Omega 2011, 39, 120–129. [Google Scholar] [CrossRef]
 - Wang, D.J.; Kang, C.C.; Shiau, Y.R.; Wu, C.C. A two-agent single-machine scheduling problem with late work criteria. Soft Comput. 2017, 21, 2015–2033. [Google Scholar] [CrossRef]
 - Zhang, X.G.; Wang, Y. Two-agent scheduling problems on a single-machine to minimize the total weighted late work. J. Comb. Optim. 2017, 33, 945–955. [Google Scholar]
 - Zhang, Y.; Yuan, J.J. A note on a two-agent scheduling problem related to the total weighted late work. J. Comb. Optim. 2019, 37, 989–999. [Google Scholar] [CrossRef]
 - Lee, C.Y. Machine scheduling with an availability constraints. J. Glob. Optim. 1996, 9, 395–416. [Google Scholar] [CrossRef]
 
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).