Next Article in Journal
On the Optimal Control of a Malware Propagation Model
Next Article in Special Issue
Two-Agent Pareto-Scheduling of Minimizing Total Weighted Completion Time and Total Weighted Late Work
Previous Article in Journal
Fuzzy Set Models for Economic Resilience Estimation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Two-Agent Preemptive Pareto-Scheduling to Minimize Late Work and Other Criteria

School of Mathematics and Statistics, Zhengzhou University, Zhengzhou 450001, China
*
Author to whom correspondence should be addressed.
Mathematics 2020, 8(9), 1517; https://doi.org/10.3390/math8091517
Submission received: 12 August 2020 / Revised: 27 August 2020 / Accepted: 28 August 2020 / Published: 5 September 2020
(This article belongs to the Special Issue Theoretical and Computational Research in Various Scheduling Models)

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 X { A , B } , let J X = { J 1 X , J 2 X , , J n X X } be the set of jobs of agent X, where J A J B = and the jobs in J X are called the X-jobs. Each job J j X has a processing time p j X > 0 and a due date d j X 0 which are integrally valued. The n = n A + n B independent jobs in J A J B need to be preemptively processed on a single machine. Let P X = j = 1 n X p j X and P = P A + P B . 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 [ 0 , + ) . To enhance the flexibility of analysis, we allow the existence of idle times in a feasible schedule. The completion time of job J j X in σ is denoted as C j X ( σ ) . The late work of J j X in σ , denoted Y j X ( σ ) , is the amount of processing time of J j X after its due date d j X in σ . If Y j X ( σ ) = 0 , J j X is called early in σ . If 0 < Y j X ( σ ) < p j X , J j X is called partially early in σ . If Y j X ( σ ) = p j X , J j X is called late in σ .
The scheduling criteria related to our research are given by C j A = j = 1 n A C j A ( σ ) (the total completion time of the A-jobs under schedule σ ), L max A = max { C j A ( σ ) d j A : 1 j n A } (the maximum lateness of the A-jobs in schedule σ ), and j Y j X = j = 1 n X Y j X ( σ ) (the total late work of the X-jobs under schedule σ ). Then the three Pareto-scheduling problems studied in this paper are given by
1 | pmtn | # ( C j A , Y j B ) , 1 | pmtn | # ( L max A , Y j B ) , 1 | pmtn | # ( Y j A , Y j B ) .
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 [1]. 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. [2]. 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. [3,4], Lee et al. [5], Leung et al. [6], and Ng et al. [7]. Agnetis et al. [8] 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. [9] 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. [2] considered the two-agent problem with precedence constraints on single machine, i.e., 1 | p r e c | f max A : f max B and solved this problem in polynomial time. Mor and Mosheiov [10] 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 [11] 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. [12], Liu et al. [13], Oron et al. [14], Perez-Gonzalez and Framinan [15], and Yuan [16,17].
Scheduling related to late-work criterion was first studied by Blazewicz and Finke [18]. Since then, several research groups have focused on this performance measure, obtaining a set of interesting results. Potts and Van Wassenhove [19] 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 [20] further proposed a branch-bound algorithm for the same problem and presented two fully polynomial-time approximation schemes with running times O ( n 2 ϵ ) and O ( n 3 ϵ ) , respectively. Hariri et al. [21] considered a single-machine problem of minimizing the total weighted late work. They presented an O ( n log n ) 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 [22].
Up to now, people have done little research about the combination of two-agent scheduling with late-work criterion. Wang et al. [23] 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 [24] 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 [25] 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., 1 , h m | pmtn | f , where “ 1 , h m ” 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 [26] showed that problem 1 , h m | pmtn | C j can be solved by the preemptive SPT rule in O ( m + n log n ) time and problem 1 , h m | pmtn | L max can be solved by the preemptive EDD rule in O ( m + n log n ) 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 1 | pmtn | # ( C j A , Y j B ) can be determined in O ( n n A n B ) time. In Section 4, we show that the trade-off curve of problem 1 | pmtn | # ( L max A , Y j B ) can be determined in O ( n n A n B ) time. In Section 5, we show that the trade-off curve of problem 1 | pmtn | # ( Y j A , Y j B ) can be determined in O ( n log n ) time. Finally, some concluding remarks are given in Section 6.

2. Preliminaries

Let J A J B 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 J j X of job J j X , we use p j X to denote the length (processing time) of J j X and use C j X ( σ ) to denote the completion time of J j X in schedule σ .
In the following, we consider the Pareto-scheduling problem 1 | pmtn | # ( f A , Y j B ) on instance J A J B , where f A is a regular objective function of the A-jobs or f A = Y j A . We use Ω ( J A , J B ) to denote the set of all Pareto-optimal points of this problem.
In a schedule σ of J A J B , each B-job J j B is partitioned into two parts: the early part J j B E ( σ ) and the late part J j B Y ( σ ) , where J j B E ( σ ) is processed before time d j B in σ and J j B Y ( σ ) is processed after time d j B in σ . Moreover, p j B E ( σ ) = p j B Y j B ( σ ) and p j B Y ( σ ) = Y j B ( σ ) are used to denote the lengths (processing times) of J j B E ( σ ) and J j B Y ( σ ) , 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
j = 1 n B Y j B ( σ ) = j = 1 n B p j B Y ( σ ) = P B j = 1 n B p j B E ( σ ) .
For convenience, we renumber the B-jobs such that
d 1 B d 2 B d n B B P
and keep this numbering throughout this paper. Let σ 0 B = ( J 1 B , J 2 B , , J n B B ) which schedules the B-jobs in the EDD order described in (2). From Potts and Van Wassenhove [19], the optimal value of problem 1 | pmtn | Y j on instance J B is given by T max ( σ 0 B ) . Then we have the following lemma.
Lemma 1.
For each point ( f * , Y * ) Ω ( J A , J B ) , we have T max ( σ 0 B ) Y * P B .
To make our analysis operational, we now consider an integer Y * [ T max ( σ 0 B ) , P B ] and present a procedure to schedule the B-jobs preemptively with a particular structure. This procedure imitates the algorithm in Hariri et al. [21] for solving problem 1 | pmtn | w j Y j .
Algorithm 1: For scheduling the B-jobs according to the value of Y * .
Input: The B-jobs J B with the EDD order in (2) and an integer Y * [ T max ( σ 0 B ) , P B ] .
Step 1: Determine the minimum index j * { 1 , 2 , , n B } such that p 1 B + p 2 B + + p j * B Y * . Then  p 1 B + p 2 B + + p j * 1 B < Y * . Please note that if Y * = 0 , then we have j * = 1 . We call J j * B the critical B-job corresponding to Y * .
Step 2: Decompose the critical B-job J j * B into two parts J j * B E and J j * B Y such that
p j * B Y = Y * j = 1 j * 1 p j B   and   p j * B E = p j * B p j * B Y = j = 1 j * p j B Y * .
We call J j * B E and J j * B Y the early part and the late part of J j * B , respectively, corresponding to Y * . Set  J B E ( Y * ) = { J j * B E , J j * + 1 B , J j * + 2 B , , J n B B } and J B Y ( Y * ) = { J 1 B , J 2 B , , J j * 1 B , J j * B Y } .
Step 3: Generate a schedule σ B ( Y * ) of the B-jobs J B = J B E ( Y * ) J B Y ( Y * ) in the following way:
(3.1) From time P * : = P + 1 , schedule the jobs (or pieces) in J B Y ( Y * ) consecutively in the order J 1 B , J 2 B , , J j * 1 B , J j * B Y .
(3.2) Schedule the jobs (or pieces) in J B E ( Y * ) by using the algorithm in Hariri et al. [21] for solving problem 1 | p m t n | Y j on instance J B E ( Y * ) :
Beginning from time d n B B , schedule the jobs (or pieces) in J B E ( Y * ) backwards in the order J n B B , J n B 1 B , , J j * + 1 B , J j * B E such that each job (or piece) in J B E ( Y * ) is scheduled as late as possible subject to its due date.
Output: The schedule σ B ( Y * ) of the B-jobs.
It can be observed that Procedure( Y * ) runs in O ( n ) time. An objective function of the A-jobs, denoted f A , is called regular if f A is nondecreasing in the completion times of the A-jobs. Please note that C j A and L max A are regular, but Y j A is not regular since the preemptive assumption. The following lemma is critical in our discussion.
Lemma 2.
Consider problem 1 | p m t n | # ( f A , Y j B ) on instance J A J B , where either f A = Y j A or f A is a regular objective function of the A-jobs. Assume that ( f * , Y * ) Ω ( J A , J B ) and let σ B ( Y * ) be the schedule of J B generated by Procedure( Y * ). Then there exists a Pareto-optimal schedule π corresponding to ( f * , Y * ) in which the B-jobs are scheduled in the same manner as that in σ B ( Y * ) . Such a Pareto-optimal schedule π is called a Y * -standard schedule in the sequel.
Proof. 
Let σ be a Pareto-optimal schedule corresponding to ( f * , Y * ) such that C max ( σ ) is as small as possible. Then no idle exists in σ , and so, C max ( σ ) = P .
The late parts of B-jobs can be scheduled arbitrarily late without affecting the objective values f A and Y j B . Thus, by shifting the late parts of B-jobs in σ , we obtain a new Pareto-optimal schedule σ 1 corresponding to ( f * , Y * ) such that the following property (P1) holds for σ 1 .
(P1) The late parts of B-jobs are scheduled consecutively in the interval [ P * , P * + Y * ] in an arbitrary order without idle time.
We next generate a Pareto-optimal schedule σ 2 corresponding to ( f * , Y * ) such that following property (P2) holds for σ 2 .
(P2) For every nontrivial early part J j B E ( σ 2 ) and every nontrivial late part J k B Y ( σ 2 ) among the B-jobs, we have j k .
If σ 1 has the property (P2), we just set σ 2 = σ 1 . Otherwise, there are a nontrivial early part J j B E ( σ 1 ) and a nontrivial late part J k B Y ( σ 1 ) among the B-jobs, such that j < k . From (2), we have d j B d k B . Let δ = min { p j B E ( σ 1 ) , p k B Y ( σ 1 ) } . By exchanging an amount of length δ between J j B E ( σ 1 ) and J k B Y ( σ 1 ) in σ 1 , 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 σ 2 corresponding to ( f * , Y * ) such that both properties (P1) and (P2) hold for σ 2 .
Let σ 3 be the schedule obtained from σ 2 by rescheduling (if necessary) the early parts of B-jobs in the order J 1 B E ( σ ) J 2 B E ( σ ) J n B B E ( σ ) . Since the EDD property described in (2), the early parts of B-jobs in σ 2 are also early in σ 3 . Then σ 3 is a Pareto-optimal schedule corresponding to ( f * , Y * ) such that properties (P1) and (P2), and additionally, the following property (P3), hold for σ 3 .
(P3) The early parts of B-jobs are scheduled in the order J 1 B E ( σ 3 ) J 2 B E ( σ 3 ) J n B B E ( σ 3 ) .
Please note that j = 1 n B Y j B ( σ 3 ) = j = 1 n B Y j B ( σ B ( Y * ) ) = Y * . Since σ 3 has the three properties (P1)–(P3), from Procedure ( Y * ) for generating σ B ( Y * ) , we know that σ 3 and σ B ( Y * ) have the same early parts and late parts of B-jobs. Then, in both schedules, the early parts of B-jobs are given by J B E ( Y * ) = { J j * B E , J j * + 1 B , J j * + 2 B , , J n B B } and the late parts of B-jobs are given by J B Y ( Y * ) = { J 1 B , J 2 B , , J j * 1 B , J j * B Y } , as defined in Step 2 of Procedure( Y * ).
Now let π be the schedule obtained from σ 3 by the following two actions: (i) from time P * , reschedule the late parts in J B Y ( Y * ) consecutively in the order J 1 B , J 2 B , , J j * 1 B , J j * B Y , 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 σ B ( Y * ) . Then we have j = 1 n B Y j B ( π ) = Y * . From the construction of π , we have f A ( π ) f A ( σ 3 ) = f * . The Pareto-optimality of ( f * , Y * ) further implies that ( f A ( π ) , j = 1 n B Y j B ( π ) ) = ( f * , Y * ) . Consequently, π is a required Pareto-optimal schedule corresponding to ( f * , Y * ) . The lemma follows. □
From Lemmas 1 and 2, the Pareto-scheduling problem 1 | pmtn | # ( f A , Y j B ) on instance J A J B can be solved by the following general approach:
For each value Y * [ T max ( σ 0 B ) , P B ] , run Procedure( Y * ) to obtain the schedule σ B ( Y * ) of the B-jobs. Determine the intervals occupied by the B-jobs in σ B ( Y * ) and regards these intervals as forbidden intervals. The intervals which are not occupied by the B-jobs in σ B ( Y * ) is called the free-time intervals. Then solve problem 1 , h m | pmtn | f A on instance J A to obtain a Y * -standard schedule.
The above approach cannot be implemented in polynomial time since it enumerates all the possible choices of Y * . Therefore, in the next three sections, for f A { C j A , L max A , Y j A } , we will present polynomial-time algorithms, respectively, to characterize the trade-off curves.
To this end, we set Y ( 0 ) = T max ( σ 0 B ) , and run Procedure( Y ( 0 ) ) to obtain the schedule σ B ( Y ( 0 ) ) . Assume that the intervals occupied by the B-jobs are given by h 1 , h 2 , , h m , where h i = [ τ 1 ( i ) , τ 2 ( i ) ] is the i-th interval, i = 1 , 2 , , m , such that
0 τ 1 ( 1 ) < τ 2 ( 1 ) < τ 1 ( 2 ) < τ 2 ( 2 ) < < τ 1 ( m ) < τ 2 ( m ) .
From the implementation of Procedure( Y ( 0 ) ), we have
τ 1 ( m ) = P *   and   τ 2 ( m ) = P * + Y ( 0 ) .
For each Y * [ Y ( 0 ) , P B ] , we define i * to be the maximum index in { 1 , 2 , , m 1 } such that Y * Y ( 0 ) i = 1 i * 1 ( τ 2 ( i ) τ 1 ( i ) ) and let τ * [ τ 1 ( i * ) , τ 2 ( i * ) ) such that Y * Y ( 0 ) = i = 1 i * 1 ( τ 2 ( i ) τ 1 ( i ) ) + ( τ * τ 1 ( i * ) ) . From the implementation of Procedure( Y * ) again, the set of time intervals occupied by the B-jobs in schedule σ B ( Y * ) , denoted by I ( σ B ( Y * ) ) , is given by
I ( σ B ( Y * ) ) = { [ τ * , τ 2 ( i * ) ] , [ τ 1 ( i * + 1 ) , τ 2 ( i * + 1 ) ] , , [ τ 1 ( m 1 ) , τ 2 ( m 1 ) ] , [ P * , P * + Y * ] } .
We will write h i * = [ τ * , τ 2 ( i * ) ] , h i = [ τ 1 ( i ) , τ 2 ( i ) ] for i = i * + 1 , i * + 2 , , m 1 , and h m = [ P * , P * + Y * ] .
The above discussion will help us to construct the trade-off curves easily.

3. The First Problem

In this section, we consider problem 1 | pmtn | # ( C j A , Y j B ) on instance J A J B . 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 p 1 A p 2 A p n A A . Then we only consider the schedules in which the A-jobs are scheduled in the order J 1 A J 2 A J n A A .
Given a point ( C * , Y * ) Ω ( J A , J B ) , let σ be the Y * -standard schedule of J A J B . 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 J 1 A J 2 A J n A A from time 0 in the free-time intervals as early as possible. Thus, there are m i * + 1 forbidden intervals and the first forbidden interval in σ is given by h i * = [ τ * , τ 2 ( i * ) ] .
If P A τ * , then all the A-jobs are scheduled before the first forbidden interval h i * in σ . In this case, we have no further action.
In general, suppose that P A > τ * . Then at least one A-job completes after h i * in σ . Let J k ( σ ) A be the first A-job which completes after h i * in σ . Then, there are totally n A k ( σ ) + 1 A-jobs completing after h i * in σ .
For each index j { k ( σ ) , k ( σ ) + 1 , , n A } , we define i [ j ] to be the interval index such that J j A completes after interval h i [ j ] and before interval h i [ j ] + 1 in σ , or equivalently, τ 2 ( i [ j ] ) < C j A ( σ ) τ 1 ( i [ j ] + 1 ) . We further define
e ( σ ) = min { C j A ( σ ) τ 2 ( i [ j ] ) : j = k ( σ ) , k ( σ ) + 1 , , n A } .
An A-job J j A with j { k ( σ ) , k ( σ ) + 1 , , n A } is called a crucial A-job in σ if C j A ( σ ) τ 2 ( i [ j ] ) = e ( σ ) . Please note that if J j A is a crucial A-job in σ , then the interval [ τ 2 ( i [ j ] ) , C j A ( σ ) ] is fully occupied by job J j A in σ , implying that J j A is the first A-job completing after interval h i [ j ] in σ . In this case, we call interval h i [ j ] the nearest forbidden interval corresponding to crucial A-job J j A in σ .
Set δ l ( σ ) = τ 2 ( l ) τ 1 ( l ) ( σ ) , i * l m , to be the length of the forbidden interval h l in σ . In particular, if l = i * , then τ 1 ( l ) ( σ ) = τ * . Let
θ ( σ ) = min { e ( σ ) , δ i * ( σ ) } .
Please note that when the schedule σ is given, the A-job index k ( σ ) can be determined in O ( n A ) time, the interval indices i [ j ] for j { k ( σ ) , k ( σ ) + 1 , , n A } can be determined in O ( n A ) time. After that, the value e ( σ ) defined in (6) can be determined in O ( n A ) 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 Y * -standard schedule σ in advance, the values k ( σ ) and θ ( σ ) can be determined in O ( n A ) time.
For each Y [ Y * , Y * + θ ( σ ) ] , let σ be the Y-standard schedule. Then σ is obtained from σ by shifting the first Y Y * units of h i * to the last forbidden interval and then moving the A-jobs in { J k ( σ ) A , J k ( σ ) + 1 A , , J n A } left to eliminate the idle times accordingly. This means that C j A ( σ ) C j A ( σ ) ( Y Y * ) for j { k ( σ ) , k ( σ ) + 1 , , n A } . Assume that the total completion time of A-jobs in σ is C. According to Lemma 2, ( C , Y ) is a Pareto-optimal point. In the following, we consider the trade-off curve between ( C * , Y * ) and ( C , Y ) . For convenience, point ( C , Y ) is simply called point Y.
We will show that the trade-off curve for Y [ Y * , Y * + θ ( σ ) ) is a line segment. However, the point Y * + θ ( σ ) may have the singularity.
Lemma 4.
For each point ( C , Y ) Ω ( J A , J B ) with Y [ Y * , Y * + θ ( σ ) ) , we have C C * Y Y * = ( n A k ( σ ) + 1 ) .
Proof. 
For each Y [ Y * , Y * + θ ( σ ) ) , we have Y Y * < θ ( σ ) e ( σ ) . 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 n A k ( σ ) + 1 A-jobs in { J k ( σ ) A , J k ( σ ) + 1 A , , J n A A } has decreased Y Y * units in σ . Thus, we have C C * = ( n A k ( σ ) + 1 ) ( Y Y * ) , as required. □
Let J c A ( σ ) 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.,
Δ ( σ ) = { δ i [ j ] ( σ ) : J j A J c A ( σ ) } .
The following lemma is only used to display the singularity of point Y * + θ ( σ ) .
Lemma 5.
For the point ( C , Y ) Ω ( J A , J B ) with Y = Y * + θ ( σ ) , we have the following three statements.
(i) 
If e ( σ ) > δ i * ( σ ) , then C = C * ( n A k ( σ ) + 1 ) θ ( σ ) .
(ii) 
If e ( σ ) δ i * ( σ ) and the first crucial A-job is nearest to h i * in σ, then C = C * Δ ( σ ) ( n A k ( σ ) ) θ ( σ ) .
(iii) 
If e ( σ ) δ i * ( σ ) and no crucial A-job is nearest to h i * in σ, then C = C * Δ ( σ ) ( n A k ( σ ) + 1 ) θ ( σ ) .
Proof. 
When σ changes to σ , each of the n A k ( σ ) + 1 A-jobs in { J k ( σ ) A , J k ( σ ) + 1 A , , J n A A } is moved left θ ( σ ) units, and in the case that e ( σ ) = θ ( σ ) , the crucial A-jobs are also moved left across their corresponding nearest forbidden intervals in σ . Thus, we have
C = C * Δ * ( σ ) ( n A k ( σ ) + 1 ) θ ( σ ) ,
where Δ * ( σ ) = 0 if e ( σ ) > θ ( σ ) and Δ * ( σ ) = { δ i [ j ] ( σ ) : J j A J c A ( σ ) } if e ( σ ) = θ ( σ ) . The key point is that δ i * ( σ ) = δ i * ( σ ) θ ( σ ) and δ l ( σ ) = δ l ( σ ) for l = i * + 1 , i * + 2 , , m .
Under the assumption of (i), we have Δ * ( σ ) = 0 . From (8), we have C = C * ( n A k ( σ ) + 1 ) θ ( σ ) .
Under the assumption of (ii), we have Δ * ( σ ) = Δ ( σ ) θ ( σ ) . From (8), we have C = C * Δ ( σ ) ( n A k ( σ ) ) θ ( σ ) .
Under the assumption of (iii), we have Δ * ( σ ) = Δ ( σ ) . From (8), we have C = C * Δ ( σ ) ( n A k ( σ ) + 1 ) θ ( σ ) . The lemma follows. □
Theorem 1.
Algorithm 2 generates the trade-off curve of 1 | p m t n | # ( C j A , Y j B ) in O ( n n A n B ) time.
Algorithm 2: Trade-off curve of problem 1 | pmtn | # ( C j A , Y j B ) .
Input: Instance J A J B .
Preprocessing: Renumber the A-jobs such that p 1 A p 2 A p n A A and renumber the B-jobs such that d 1 B d 2 B d n B B .
Step 1: Do the following:
(1.1) Generate schedule σ 0 B which schedules the B-jobs in the order J 1 B J 2 B J n B B in the interval [ 0 , P B ] without idle times. Then calculate the value Y ( 0 ) = T max ( σ 0 B ) .
(1.2) Run Procedure( Y ( 0 ) ) to obtain the schedule σ B ( Y ( 0 ) ) of the B-jobs. Determine the intervals occupied by the B-jobs in σ B ( Y ( 0 ) ) , say h 1 , h 2 , , h m , where h i = [ τ 1 ( i ) , τ 2 ( i ) ] is the i-th interval, i = 1 , 2 , , m , as described in (3). Then regard h 1 , h 2 , , h m 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 t 0 : = 1 and set i : = 0 .
Step 2: Do the following:
(2.1) Generate the Y ( i ) -standard schedule σ i of J A J B in which h t i , h t i + 1 , , h m are the forbidden intervals and the A-jobs are preemptively scheduled in the order J 1 A J 2 A J n A A as early as possible. Determine the value C ( i ) = j = 1 n A C j A ( σ i ) .
(2.2) If J n A A (and so, every A-job) is scheduled before the first forbidden interval h t i in σ i , then set K = i and go to Step 4. (In this case, we have obtained the whole trade-off curve.)
 If J n A A completes after h t i in σ i , then go to Step 3. (In this case, we use J k ( σ i ) to denote the first A-job completing after h t i in σ i .)
Step 3: Do the following:
(3.1) Calculate the values k ( σ i ) and θ ( σ i ) .
(3.2) Define a left closed right open segment L i in the interval [ Y ( i ) , Y ( i ) + θ ( σ i ) ) by the following way:
L i : C C ( i ) Y Y ( i ) = ( n A k ( σ i ) + 1 ) , Y [ Y ( i ) , Y ( i ) + θ ( σ i ) ) .
(3.3) Set Y ( i + 1 ) : = Y ( i ) + θ ( σ i ) and h m : = [ P * , P * + Y ( i + 1 ) ] . Moreover, if θ ( σ i ) = δ t i ( σ i ) , then set t i + 1 : = t i + 1 ; and if θ ( σ i ) < δ t i ( σ i ) , then set t i + 1 : = t i and h t i + 1 : = [ τ 1 ( t i ) + θ ( σ i ) , τ 2 ( t i ) ] (which is obtained from interval h t i by deleting the first θ ( σ i ) units.)
(3.4) Set i : = i + 1 . Go to Step 2.
Step 4: Output the trade-off curve Ω ( J A , J B ) = L 0 L 1 L K 1 { ( C ( K ) , Y ( K ) ) } .
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 O ( n A log n A + n B log n B ) time. Each of Steps (1.1) and (1.2) runs in O ( n B ) time, so Step 1 runs in O ( n B ) 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 m n B , we have K = O ( n A n B ) .
At each iteration, Step 2 runs in O ( n A + m ) = O ( n ) time. From Lemma 3, Step (3.1) runs in O ( n A ) time. Thus, each iteration runs in O ( n ) time.
The above discussion establishes the O ( n n A n B ) -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 1 + m 1 + n B .
Let us consider the job instance I 1 displayed in Table 1. The trade-off curve of problem 1 | pmtn | # ( C j A , Y j B ) on instance I 1 is shown in Figure 1.
Please note that P * = P + 1 = 16 . Let Ω = Ω ( J A , J B ) . The key steps in applying Algorithm 2 to solve the instance I 1 are as follows:
(i)
Generate the schedule σ 0 B = ( J 1 B , J 2 B , J 3 B ) and calculate the Y-value Y ( 0 ) = T max ( σ 0 B ) = 2 . Then generate the schedule σ B ( Y ( 0 ) ) , and the forbidden interval set I B ( Y ( 0 ) ) = { h 1 , h 2 , h 3 } is determined, where h 1 = [ 0 , 4 ] , h 2 = [ 6 , 8 ] , and h 3 = [ 16 , 18 ] . Then, for each y ( Y ( 0 ) , P B ] = ( 2 , 8 ] , σ B ( y ) and I B ( y ) can be easily generated.
(ii)
Generate the Y ( 0 ) -standard schedule σ 0 of J A J B in which h 1 , h 2 , h 3 are the forbidden intervals and the A-jobs are preemptively scheduled in the order J 1 A J 2 A J 3 A J 4 A as early as possible. Determine the value C ( 0 ) = j = 1 n A C j A ( σ 0 ) = 34 . Then σ 0 is a Pareto-optimal schedule corresponding to ( 34 , 2 ) Ω .
(iii)
Calculate the values k ( σ 0 ) = 1 and θ ( σ 0 ) = 1 . Then line segment L 0 , which is the trade-off curve in the interval [ 2 , 3 ) , satisfies C = 4 Y + 42 . Calculate Y ( 1 ) = Y ( 0 ) + θ ( σ 0 ) = 3 and the forbidden interval set I B ( Y ( 1 ) ) = { h 1 , h 2 , h 3 } , where h 1 = [ 1 , 4 ] , h 2 = [ 6 , 8 ] , and h 3 = [ 16 , 19 ] . Generate σ 1 , and calculate C ( 1 ) = j = 1 n A C j A ( σ 1 ) = 27 . Then the intermediate point ( 27 , 3 ) Ω is a jump discontinuity point and σ 1 is a Pareto-optimal schedule corresponding to ( 27 , 3 ) .
(iv)
Calculate the values k ( σ 1 ) = 2 and θ ( σ 1 ) = 1 . Then the line segment L 1 , which is the trade-off curve in the interval [ 3 , 4 ) , satisfies C = 3 Y + 36 . Calculate Y ( 2 ) = Y ( 1 ) + θ ( σ 1 ) = 4 and the forbidden interval set I B ( Y ( 2 ) ) = { h 1 , h 2 , h 3 } , where h 1 = [ 2 , 4 ] , h 2 = [ 6 , 8 ] , and h 3 = [ 16 , 20 ] . Generate σ 2 , and calculate C ( 2 ) = j = 1 n A C j A ( σ 2 ) = 20 . Then the intermediate point ( 20 , 4 ) Ω is a jump discontinuity point and σ 2 is a Pareto-optimal schedule corresponding to ( 20 , 4 ) .
(v)
Calculate the values k ( σ 2 ) = 3 and θ ( σ 2 ) = 2 . Then the line segment L 2 , which is the trade-off curve in the interval [ 4 , 6 ) , satisfies C = 2 Y + 28 . Calculate Y ( 3 ) = Y ( 2 ) + θ ( σ 2 ) = 6 and the forbidden interval set I B ( Y ( 3 ) ) = { h 2 , h 3 } , where h 2 = [ 6 , 8 ] and h 3 = [ 16 , 22 ] . Generate σ 3 , and calculate C ( 3 ) = j = 1 n A C j A ( σ 3 ) = 16 . Then the intermediate point ( 16 , 6 ) Ω is a break point and σ 3 is a Pareto-optimal schedule corresponding to ( 16 , 6 ) .
(vi)
Calculate the values k ( σ 3 ) = 4 and θ ( σ 3 ) = 1 . Then the line segment L 3 , which is the trade-off curve in the interval [ 6 , 7 ) , satisfies C = Y + 22 . Calculate Y ( 4 ) = Y ( 3 ) + θ ( σ 3 ) = 7 and the forbidden interval set I B ( Y ( 4 ) ) = { h 2 , h 3 } , where h 2 = [ 7 , 8 ] and h 3 = [ 16 , 23 ] . Generate σ 4 , and calculate C ( 4 ) = j = 1 n A C j A ( σ 4 ) = 14 . Then the intermediate point ( 14 , 7 ) Ω is a jump discontinuity point and σ 4 is a Pareto-optimal schedule corresponding to ( 14 , 7 ) .
(vii)
Finally, we conclude that Ω = { L 0 L 1 L 2 L 3 { ( 14 , 7 ) } } as displayed in Figure 1.

4. The Second Problem

In this section, we consider problem 1 | pmtn | # ( L max A , Y j B ) on instance J A J B . 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 d 1 A d 2 A d n A A . Then we only consider the schedules in which the A-jobs are scheduled in the order J 1 A J 2 A J n A A .
For a point ( L * , Y * ) Ω ( J A , J B ) , let σ be a Y * -standard schedule of J A J B . 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 J 1 A J 2 A J n A A from time 0 in the free-time intervals. Thus, there are m i * + 1 forbidden intervals and the first forbidden interval in σ is given by h i * = [ τ * , τ 2 ( i * ) ] .
If P A τ * , then all the A-jobs are scheduled before the first forbidden interval h i * in σ . In this case, we have no further action.
In general, suppose that P A > τ * . Then at least one A-job completing after h i * in σ . Let J k ( σ ) A be the first A-job which completes after h i * in σ . Then, there are totally n A k ( σ ) + 1 A-jobs completing after h i * in σ .
Let L * = L max A ( σ ) be the maximum lateness of A-jobs in σ . An A-job J j A with k ( σ ) j n A is called critical in σ if L j A ( σ ) = L max A ( σ ) . Again, we use J c A ( σ ) to denote the set of all critical A-jobs. Then J c A ( σ ) = { J j A : L j A ( σ ) = L * , k ( σ ) j n A } .
For each critical A-job J j A , we define i [ j ] to be the interval index such that J j A completes after interval h i [ j ] and before interval h i [ j ] + 1 in σ , or equivalently, τ 2 ( i [ j ] ) < C j A ( σ ) τ 1 ( i [ j ] + 1 ) . Define
λ ( σ ) = max { C j A ( σ ) τ 2 ( i [ j ] ) : J j A J c A ( σ ) } .
A critical A-job J j A is called a desired A-job in σ if C j A ( σ ) τ 2 ( i [ j ] ) = λ ( σ ) . In this case, interval h i [ j ] is called the nearest forbidden interval corresponding to desired A-job J j A in σ . We further define
B L ( σ ) = max { L j A ( σ ) : C j A ( σ ) τ * } ,
and
Δ ( σ ) = L * B L ( σ ) .
In the case that no A-job completes before interval h i * , we define B L ( σ ) = and Δ ( σ ) = + . Moreover, we define
ϑ ( σ ) = min { min { λ ( σ ) , δ i * ( σ ) } , Δ ( σ ) } .
Please note that when the schedule σ is given, the values C j A ( σ ) and L j A ( σ ) , j = 1 , 2 , , n A , and L * can be determined in O ( n A ) time. Then the set J c A ( σ ) and the interval indices i [ j ] for J j A J c A ( σ ) can be determined in O ( n A ) time. After that, the value λ ( σ ) , B L ( σ ) and Δ ( σ ) can be determined in O ( n A ) 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 Y * -standard schedule σ in advance, the values Δ ( σ ) and ϑ ( σ ) can be determined in O ( n A ) time.
If Δ ( σ ) = 0 , then B L ( σ ) = L * . In this case, ( L * , Y * ) is the last Pareto-optimal point.
Suppose that Δ ( σ ) > 0 . Then ϑ ( σ ) > 0 . For each Y [ Y * , Y * + ϑ ( σ ) ] , let σ be the Y-standard schedule. Then σ is obtained from σ by shifting Y Y * units of h i * to the last forbidden interval and then moving the A-jobs in { J k ( σ ) A , J k ( σ ) + 1 A , , J n A } left to eliminate the idle times accordingly. This means that L j A ( σ ) L j A ( σ ) ( Y Y * ) for j { k ( σ ) , k ( σ ) + 1 , , n A } . Assume that the maximum lateness of A-jobs in σ is L. According to Lemma 2, ( L , Y ) is a Pareto-optimal point. In the following, we consider the trade-off curve between ( L * , Y * ) and ( L , Y ) . For convenience, point ( L , Y ) is simply called point Y.
We will show that the trade-off curve for Y [ Y * , Y * + ϑ ( σ ) ) is a line segment. Discussion for the singularity of the point Y * + ϑ ( σ ) will be omitted. This does not affect the characterization of the trade-off curve.
Lemma 7.
Suppose that Δ ( σ ) > 0 . For each point ( L , Y ) Ω ( J A , J B ) with Y [ Y * , Y * + ϑ ( σ ) ) , we have L L * Y Y * = 1 .
Proof. 
For each Y [ Y * , Y * + ϑ ( σ ) ) , we have Y Y * < ϑ ( σ ) . 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 Y Y * units and the other A-jobs move forward at least Y Y * units in σ . Thus, the desired A-jobs in σ are also critical A-jobs in σ . Then we have L L * Y Y * = 1 , as required. □
Theorem 2.
Algorithm 3 generates the trade-off curve of 1 | p m t n | # ( L max A , Y j B ) in O ( n n A n B ) time.
Algorithm 3: Trade-off curve of problem 1 | pmtn | # ( L max A , Y j B ) .
Input: Instance J A J B .
Preprocessing: Renumber the A-jobs such that d 1 A d 2 A d n A A and renumber the B-jobs such that d 1 B d 2 B d n B B .
Step 1: Do the following:
(1.1) Generate schedule σ 0 B which schedules the B-jobs in the order J 1 B J 2 B J n B B in the interval [ 0 , P B ] without idle times. Then calculate the value Y ( 0 ) = T max ( σ 0 B ) .
(1.2) Run Procedure( Y ( 0 ) ) to obtain the schedule σ B ( Y ( 0 ) ) of the B-jobs. Determine the intervals occupied by the B-jobs in σ B ( Y ( 0 ) ) , say h 1 , h 2 , , h m , where h i = [ τ 1 ( i ) , τ 2 ( i ) ] is the i-th interval, i = 1 , 2 , , m , as described in (3). Then regard h 1 , h 2 , , h m 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 t 0 : = 1 and set i : = 0 .
Step 2: Do the following:
(2.1) Generate the Y ( i ) -standard schedule σ i of J A J B in which h t i , h t i + 1 , , h m are the forbidden intervals and the A-jobs are preemptively scheduled in the order J 1 A J 2 A J n A A as early as possible. Determine the values L ( i ) = L max A ( σ i ) .
(2.2) Determine the value Δ ( σ i ) . Moreover, if Δ ( σ i ) > 0 , determine the value ϑ ( σ i ) .
(2.3) If Δ ( σ i ) = 0 , then set K = i and go to Step 4. (In this case, we have obtained the whole trade-off curve.)
 If Δ ( σ i ) > 0 , then go to Step 3. (In this case, we have ϑ ( σ i ) > 0 .)
Step 3: Define a left closed right open segment L i in the interval [ Y ( i ) , Y ( i ) + ϑ ( σ i ) ) by the following way:
L i : L L ( i ) Y Y ( i ) = 1 , Y [ Y ( i ) , Y ( i ) + ϑ ( σ i ) ) .
(3.3) Set Y ( i + 1 ) : = Y ( i ) + ϑ ( σ i ) and h m : = [ P * , P * + Y ( i + 1 ) ] . Moreover, if ϑ ( σ i ) = δ t i ( σ i ) , then set t i + 1 : = t i + 1 ; and if ϑ ( σ i ) < δ t i ( σ i ) , then set t i + 1 : = t i and h t i + 1 : = [ τ 1 ( t i ) + ϑ ( σ i ) , τ 2 ( t i ) ] (which is obtained from interval h t i by deleting the first ϑ ( σ i ) units.)
(3.4) Set i : = i + 1 . Go to Step 2.
Step 4: Output the trade-off curve Ω ( J A , J B ) = L 0 L 1 L K 1 { ( L ( K ) , Y ( K ) ) } .
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 1 + m 1 + n B .
Let us consider the job instance I 2 displayed in Table 2. The trade-off curve of problem 1 | pmtn | # ( L max A , Y j B ) on instance I 2 is shown in Figure 2.
Please note that P * = P + 1 = 19 . Let Ω = Ω ( J A , J B ) . The key steps in applying Algorithm 3 to solve the instance I 2 are as follows:
(i)
Generate the schedule σ 0 B = ( J 1 B , J 2 B , J 3 B ) and calculate the Y-value Y ( 0 ) = T max ( σ 0 B ) = 2 . Then generate the schedule σ B ( Y ( 0 ) ) , and the forbidden interval set I B ( Y ( 0 ) ) = { h 1 , h 2 , h 3 , h 4 } is determined, where h 1 = [ 0 , 3 ] , h 2 = [ 5 , 7 ] , h 3 = [ 10 , 12 ] , and h 4 = [ 19 , 21 ] . Then, for each y ( Y ( 0 ) , P B ] = ( 2 , 9 ] , σ B ( y ) and I B ( y ) can be easily generated.
(ii)
Generate the Y ( 0 ) -standard schedule σ 0 of J A J B in which h 1 , h 2 , h 3 , h 4 are the forbidden intervals and the A-jobs are preemptively scheduled in the order J 1 A J 2 A J 3 A as early as possible. Determine the value L ( 0 ) = L max A ( σ 0 ) = 6 . Then σ 0 is a Pareto-optimal schedule corresponding to ( 6 , 2 ) Ω .
(iii)
Calculate the values Δ ( σ 0 ) = 6 > 0 and ϑ ( σ 0 ) = 1 . Then the line segment L 0 , which is the trade-off curve in the interval [ 2 , 3 ) , satisfies L = Y + 8 . Calculate Y ( 1 ) = Y ( 0 ) + ϑ ( σ 0 ) = 3 and the forbidden interval set I B ( Y ( 1 ) ) = { h 1 , h 2 , h 3 , h 4 } , where h 1 = [ 1 , 3 ] , h 2 = [ 5 , 7 ] , h 3 = [ 10 , 12 ] , and h 4 = [ 19 , 22 ] . Generate σ 1 , and calculate L ( 1 ) = L max A ( σ 1 ) = 4 . Then the intermediate point ( 4 , 3 ) Ω is a jump discontinuity point and σ 1 is a Pareto-optimal schedule corresponding to ( 4 , 3 ) .
(iv)
Calculate the values Δ ( σ 1 ) = 4 > 0 and ϑ ( σ 1 ) = 2 . Then the line segment L 1 , which is the trade-off curve in the interval [ 3 , 5 ) , satisfies L = Y + 7 . Calculate Y ( 2 ) = Y ( 1 ) + ϑ ( σ 1 ) = 5 and the forbidden interval set I B ( Y ( 2 ) ) = { h 2 , h 3 , h 4 } , where h 2 = [ 5 , 7 ] , h 3 = [ 10 , 12 ] , and h 4 = [ 19 , 24 ] . Generate σ 2 , and calculate L ( 2 ) = L max A ( σ 2 ) = 2 . Then the intermediate point ( 2 , 5 ) Ω is a continuity point and σ 2 is a Pareto-optimal schedule corresponding to ( 2 , 5 ) .
(v)
Calculate the values Δ ( σ 2 ) = 2 > 0 and ϑ ( σ 2 ) = 1 . Then the line segment L 2 , which is the trade-off curve in the interval [ 5 , 6 ) , satisfies L = Y + 7 . Calculate Y ( 3 ) = Y ( 2 ) + ϑ ( σ 2 ) = 6 and the forbidden interval set I B ( Y ( 2 ) ) = { h 2 , h 3 , h 4 } , where h 2 = [ 6 , 7 ] , h 3 = [ 10 , 12 ] , and h 4 = [ 19 , 25 ] . Generate σ 3 , and calculate L ( 3 ) = L max A ( σ 3 ) = 0 . Then the intermediate point ( 0 , 6 ) Ω is a jump discontinuity point and σ 3 is a Pareto-optimal schedule corresponding to ( 0 , 6 ) .
(vi)
Calculate the value Δ ( σ 3 ) = 0 . Then, we conclude that Ω = { L 0 L 1 L 2 { ( 0 , 6 ) } } as displayed in Figure 2.

5. The Third Problem

In this section, we consider problem 1 | pmtn | # ( Y j A , Y j B ) on instance J A J B . We renumber the A-jobs by the EDD order such that d 1 A d 2 A d n A A .
For a point ( Y A , Y B ) Ω ( J A , J B ) , a Y B -standard schedule of J A J B corresponding to ( Y A , Y B ) can be obtained in the following way in O ( n ) time: (i) Run Procedure( Y B ) to obtain the schedule σ B ( Y B ) of the B-jobs, and (ii) run the algorithm in Hariri et al. [21] for solving problem 1 | pmtn | Y j to schedule the A-jobs in the free-time intervals not occupied by the B-jobs in σ B ( Y B ) . Thus, we only need to consider the trade-off curve of problem 1 | pmtn | # ( Y j A , Y j B ) on instance J A J B . We first establish a nice property for problem 1 | pmtn | Y j in the following lemma.
Lemma 8.
Let J = { J 1 , J 2 , , J n } be a job instance of problem 1 | p m t n | Y j . Let U be a subset of J such that there is a schedule of instance J such that all the jobs in U are early. Then there is an optimal schedule of problem 1 | p m t n | Y j on instance J such that all the jobs in U are early.
Proof. 
We first prove the result for problem 1 | pmtn | Y j without maintenance intervals by induction on | U | . The result holds trivially if | U | = 0 .
Inductively, suppose that | U | = k 1 , U = { J j 1 , J j 2 , , J j k } , d j 1 d j 2 d j k , and there is a feasible schedule of instance J such that all the jobs in U are early. Moreover, the result holds for every proper subset of U (the induction hypothesis).
Since U \ { J j k } is a proper subset of U , from the induction hypothesis, there is an optimal schedule π of problem 1 | pmtn | Y j on instance J such that all the k 1 jobs J j 1 , J j 2 , , J j k 1 are early in π . Since all the jobs in U are early in some feasible schedule, we have p j 1 + p j 2 + + p j k max { d j 1 , d j 2 , , d j k } = d j k . This implies that all the k 1 jobs J j 1 , J j 2 , , J j k 1 are completed by time d j k in π and at least p j k units of time in the interval [ 0 , d j k ] are not occupied by the k 1 jobs J j 1 , J j 2 , , J j k 1 .
If C j k ( π ) d j k , i.e., J j k is early in π , then π is a required optimal schedule.
Suppose in the following that C j k ( π ) > d j k . Then there is a certain index i { 0 , 1 , , p j k } such that for job J j k , the first i unit pieces J j k , 1 ( π ) , J j k , 2 ( π ) , , J j k , i ( π ) are early in π and the last p j k i unit pieces J j k , i + 1 ( π ) , , J j k , p j k ( π ) are late in π . Let S be the time space which consists of the last p j k i units of time in the interval [ 0 , d j k ] that are not occupied by the k 1 jobs J j 1 , J j 2 , , J j k 1 and the i unit pieces J j k , 1 ( π ) , J j k , 2 ( π ) , , J j k , i ( π ) of J j k . Let T be the time space which consists of the p j k i units of time that are occupied by the p j k i unit pieces J j k , i + 1 ( π ) , , J j k , p j k ( π ) of J j k . Let σ be the schedule of J obtained from π by exchanging the subschedules in S and in T . Then J j k is early in σ . Moreover, Y j ( σ ) Y j ( π ) | T | + | S | = Y j ( π ) , implying that σ is also optimal. Now all the jobs in U = { J j 1 , J j 2 , , J j k } are early in σ . Consequently, σ is an optimal schedule of problem 1 | pmtn | Y j on instance J such that all the jobs in U are early. The result follows by the induction principle. □
We next use Lemma 8 to prove the following useful lemma.
Lemma 9.
Let J = { J 1 , J 2 , , J n } be a job instance of problem 1 | p m t n | Y j . Let π be a schedule of the jobs in J . Then there is an optimal schedule σ of problem 1 | p m t n | Y j on instance J such that Y j ( σ ) Y j ( π ) for j = 1 , 2 , , n .
Proof. 
For each j { 1 , 2 , , n } , we partition J j into two parts J j and J j such that p j = p j Y j ( π ) is the early work of J j in π , p j = Y j ( π ) is the late work of J j in π , and d j = d j = d j . Let J = { J j , J j : j = 1 , 2 , , n } . Let π be the schedule of J which is obtained from π by just regarding the early part of J j in π as job J j and regarding the late part of J j in π as job J j . Then all the jobs in { J j : j = 1 , 2 , , n } are early in π . According to Lemma 8, there is an optimal schedule σ of problem 1 | pmtn | Y j on instance J such that all the jobs in { J j : j = 1 , 2 , , n } are early. Since the preemptive assumption, the two instances J and J have no essential difference for problem 1 | pmtn | Y j , σ is an optimal schedule of problem 1 | pmtn | Y j on instance J . The result follows by noting that Y j ( σ ) = Y j ( σ ) p j = Y j ( π ) for j = 1 , 2 , , n . □
Let Y A B be the optimal value of problem 1 | pmtn | Y j on instance J A J B . We have the following lemma.
Lemma 10.
For each point ( Y A , Y B ) Ω ( J A , J B ) , we have Y A + Y B = Y A B .
Proof. 
Let σ be a Pareto-optimal schedule of problem 1 | pmtn | # ( Y j A , Y j B ) on instance J A J B such that Y j A ( σ ) = Y A and Y j B ( σ ) = Y B . From Lemma 9, there is an optimal schedule σ of 1 | pmtn | Y j on instance J A J B such that Y j A ( σ ) Y j A ( σ ) and Y j B ( σ ) Y j B ( σ ) . The optimality of σ implies that Y j ( σ ) = Y A B . From the property of Pareto-optimal point, we can obtain that Y j A ( σ ) = Y j A ( σ ) and Y j B ( σ ) = Y j B ( σ ) . Thus, we have Y A + Y B = Y A B . The result follows. □
Theorem 3.
The trade-off curve of problem 1 | p m t n | # ( Y j A , Y j B ) on instance J A J B can be determined in O ( n log n ) time.
Proof. 
Let Y A ( 0 ) be the optimal value of problem 1 | pmtn | Y j A on instance J A . Let Y B ( 0 ) be the optimal value of problem 1 | pmtn | Y j B on instance J B . Recall that Y A B is the optimal value of problem 1 | pmtn | Y j on instance J A J B . From Hariri et al. [21], Y A ( 0 ) , Y B ( 0 ) , and Y A B can be determined in O ( n A log n A ) time, O ( n B log n B ) time, and O ( n log n ) time, respectively.
Please note that Y A ( 0 ) is the minimum total late work of A-jobs among all Pareto-optimal points and Y B ( 0 ) 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
Y A + Y B = Y A B , Y B ( 0 ) Y B Y A B Y A ( 0 ) ,
connecting point ( Y A B Y B ( 0 ) , Y B ( 0 ) ) to point ( Y A ( 0 ) , Y A B Y A ( 0 ) ) . So, the overall complexity to obtain the trade-off curve is given by O ( n log n ) . □
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 max { n A , n B } + 2 .
Let us consider the job instance I 3 displayed in Table 3. The trade-off curve of problem 1 | pmtn | # ( Y j A , Y j B ) on instance I 3 is shown in Figure 3.
Please note that P * = P + 1 = 23 . Let Ω = Ω ( J A , J B ) . The key steps to solve the instance I 3 are as follows:
(i)
Generate the schedule σ 0 B = ( J 1 B , J 2 B , J 3 B ) and calculate the Y B -value Y ( 0 ) = T max ( σ 0 B ) = 1 . Then generate the schedule σ B ( Y ( 0 ) ) , and the forbidden interval set I B ( Y ( 0 ) ) = { h 1 , h 2 , h 3 , h 4 } is determined, where h 1 = [ 0 , 2 ] , h 2 = [ 5 , 8 ] , h 3 = [ 10 , 13 ] , and h 4 = [ 23 , 24 ] . Then, for each y ( Y ( 0 ) , P B ] = ( 1 , 9 ] , σ B ( y ) and I B ( y ) can be easily generated.
(ii)
Generate the Y ( 0 ) -standard schedule σ 0 of J A J B in which h 1 , h 2 , h 3 , h 4 are the forbidden intervals and the A-jobs are preemptively scheduled by running the algorithm in Hariri et al. [21] for solving problem 1 | pmtn | Y j in the free-time intervals not occupied by the B-jobs in σ B ( Y 0 ) . Determine the value Y A ( σ 0 ) = Y j A ( σ 0 ) = 7 . Then σ 0 is a Pareto-optimal schedule corresponding to ( 7 , 1 ) Ω .
(iii)
By using the same method as (i) and (ii), we schedule A-jobs first. Generate the schedule σ A ( Y ( 0 ) ) , where Y ( 0 ) = T max ( σ 0 A ) = 2 . Generate the schedule σ 1 of J A J B in which the B-jobs are preemptively scheduled by running the algorithm in Hariri et al. [21] for solving problem 1 | pmtn | Y j in the free-time intervals not occupied by the A-jobs in σ A ( Y ( 0 ) ) . Then σ 1 is a Pareto-optimal schedule corresponding to ( 2 , 6 ) Ω . From Lemma 10, σ 1 is the final Pareto-optimal schedule. Then the trade-off curve is just the line segment in the interval [ 1 , 6 ] , which satisfies Y A = Y B + 8 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 1 | pmtn | # ( C j A , w j Y j B ) or 1 | pmtn | # ( L max A , w j Y j B ) 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

  1. T’kindt, V.; Billaut, J.C. Multicriteria Scheduling: Theory, Models and Algorithms, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2006. [Google Scholar]
  2. Agnetis, A.; Mirchandani, P.B.; Pacciareli, D.; Pacifici, A. Scheduling problems with two competing agents. Oper. Res. 2004, 52, 229–242. [Google Scholar] [CrossRef]
  3. 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] [Green Version]
  4. 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] [Green Version]
  5. 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]
  6. 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]
  7. 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]
  8. 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]
  9. 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]
  10. 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]
  11. 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]
  12. Agnetis, A.; Billaut, J.; Gawiejnowicz, S.; Pacciarelli, D.; Soukhal, A. Multiagent Scheduling-Models and Algorithms; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
  13. 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]
  14. 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]
  15. 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] [Green Version]
  16. 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]
  17. Yuan, J.J. Complexities of four problems on two-agent scheduling. Optim. Lett. 2018, 12, 763–780. [Google Scholar] [CrossRef]
  18. 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]
  19. Potts, C.N.; Van Wassenhove, L.N. Single machine scheduling to minimize total late work. Oper. Res. 1992, 40, 586–595. [Google Scholar] [CrossRef]
  20. 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]
  21. 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]
  22. Sterna, M. A survey of scheduling problems with late work criteria. Omega 2011, 39, 120–129. [Google Scholar] [CrossRef]
  23. 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]
  24. 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]
  25. 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]
  26. Lee, C.Y. Machine scheduling with an availability constraints. J. Glob. Optim. 1996, 9, 395–416. [Google Scholar] [CrossRef]
Figure 1. Trade-off curve.
Figure 1. Trade-off curve.
Mathematics 08 01517 g001
Figure 2. Trade-off curve.
Figure 2. Trade-off curve.
Mathematics 08 01517 g002
Figure 3. Trade-off curve.
Figure 3. Trade-off curve.
Mathematics 08 01517 g003
Table 1. The job instance I 1 .
Table 1. The job instance I 1 .
J i X J 1 A J 2 A J 3 A J 4 A J 1 B J 2 B J 3 B
p i X 13 242
d i X 0000 348
Table 2. The instance I 2 .
Table 2. The instance I 2 .
J i X J 1 A J 2 A J 3 A J 1 B J 2 B J 3 B
p i X 423522
d i X 47113712
Table 3. The instance I 3 .
Table 3. The instance I 3 .
J i X J 1 A J 2 A J 3 A J 4 A J 5 A J 1 B J 2 B J 3 B
p i X 42322333
d i X 34711142813

Share and Cite

MDPI and ACS Style

He, R.; Yuan, J. Two-Agent Preemptive Pareto-Scheduling to Minimize Late Work and Other Criteria. Mathematics 2020, 8, 1517. https://doi.org/10.3390/math8091517

AMA Style

He R, Yuan J. Two-Agent Preemptive Pareto-Scheduling to Minimize Late Work and Other Criteria. Mathematics. 2020; 8(9):1517. https://doi.org/10.3390/math8091517

Chicago/Turabian Style

He, Ruyan, and Jinjiang Yuan. 2020. "Two-Agent Preemptive Pareto-Scheduling to Minimize Late Work and Other Criteria" Mathematics 8, no. 9: 1517. https://doi.org/10.3390/math8091517

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop