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 [
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.,
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
and
, respectively. Hariri et al. [
21] 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 [
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.,
, 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 [
26] 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 [
19], 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. [
21] 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 We call and the early part and the late part of , respectively, corresponding to . Set and . 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. [21] 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.
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.
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. [
21] 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. [
21],
,
, 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.
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. [
21] 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. [
21] 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.