1.
Introduction
Today, people usually want their needs to be met as quickly as possible, e.g., in make-to-order production systems or in hospitals. In a production system, such as an automobile or semiconductor manufacturing industry, the orders arrive dynamically. It is reasonable to assume that orders that arrive later may have larger processing times (because they need more preparation), i.e., the orders have agreeable release and processing times. A processing sequence of the orders may be naturally formed by the positional requirements from customers. In general, the more advanced in position an order is, the sooner it will be completed. However, a bad arrangement of the orders may lead to events that the producers suffer a high inventory cost (which can be measured by total completion time of the orders) or some important orders delay (which can be measured by maximum cost of the orders). In a hospital, when emergency patients arrive, they always have expectations for the positions by which their requirements are served or processed. Making reasonable arrangements for the operating rooms can reduce operating expenses and improve patients' satisfaction.
In this paper, we study the following scheduling problem. There are n jobs J1,J2,…,Jn to be processed non-preemptively on a machine that can process at most one job at a time. Denote by J the set of the jobs. Each job, Jj∈J, has a positional deadline ˉkj which indicates the largest ordinal number of Jj in any feasible schedule (i.e., if Jj is scheduled at the x-th position in the schedule, then x≤ˉkj.), a positive processing time pj and a non-negative release time rj before which it cannot be processed. We assume that the release and processing times of the jobs are agreeable, denoted by (rj,pj)−agreeable, i.e., rj1≤rj2 implies pj1≤pj2. In addition, job Jj is associated with a cost function fj(t) which denotes the scheduling cost incurred if Jj is completed at time t. The cost function fj(t) is assumed to be regular, i.e., it is non-decreasing in the job completion times.
A schedule specified for each job when it is executed on the machine. For a given schedule σ, let Sj(σ) and Cj(σ) denote the start time and completion time of Jj, respectively. Let fj(Cj(σ)) denote the scheduling cost of Jj. Let fmax(σ)=maxjfj(Cj(σ)) denote the maximum cost of σ. Two important special cases of fmax are the makespan Cmax(σ)=maxj{Cj(σ)} and the maximum lateness Lmax(σ)=maxj{Cj(σ)−dj}, where dj denotes the due date of Jj. Let ∑nj=1Cj(σ) denote the total completion time of the jobs in σ. When there is no confusion, we can omit the argument σ for the above notations.
We care about the two objective functions: total completion time ∑nj=1Cj and maximum cost fmax. The total completion time measures the total work-in-process inventory cost in a manufacturing system, while the maximum cost measures how close the system is to meeting the customer requirements. Thus, the two objectives represent the usually competing concerns of manufacturing efficiency and customer service.
A feasible schedule σ is Pareto optimal for ∑nj=1Cj and fmax, if there is no feasible schedule σ′, such that (∑nj=1Cj(σ′),fmax(σ′))≤(∑nj=1Cj(σ),fmax(σ)) and at least one of the two strict inequalities ∑nj=1Cj(σ′)<∑nj=1Cj(σ) and fmax(σ′)<fmax(σ) holds. A feasible schedule σ is weak Pareto optimal for ∑nj=1Cj and fmax if there is no feasible schedule σ′, such that ∑nj=1Cj(σ′)<∑nj=1Cj(σ) and fmax(σ′)<fmax(σ). The objective vector (∑nj=1Cj(σ),fmax(σ)) of a (weak) Pareto optimal schedule σ is called a (weak) Pareto optimal point [1].
Our goal is to find Pareto optimal schedules that simultaneously optimize ∑nj=1Cj and fmax. Following the notation schemes of [2,3], the problem is denoted as 1|ˉkj,(rj,pj)−agreeable|(∑nj=1Cj,fmax).
Since both problems 1|rj|∑nj=1Cj (minimizing total completion time with release times on a single machine) and 1|rj|Lmax (minimizing maximum lateness with release times on a single machine) are strongly NP-hard [4], it is reasonable to focus our attention on the case where the jobs have agreeable release and processing times. This would also appear to be a relatively mild restriction in applications. Equal release times or equal processing times are its two important special cases. Moreover, since 1|prec|∑nj=1Cj (jobs have precedence constraints) is strongly NP-hard [5], we will not consider precedence constraints in this paper.
We obtain an O(n3)-time algorithm for problem 1|ˉkj,(rj,pj)−agreeable|(∑nj=1Cj,fmax), which generalizes and improves the two O(n4)-time algorithms presented in [6] for problem 1|ˉkj|(∑nj=1Cj,fmax) (all jobs have equal release times), and extends the O(n3)-time algorithm presented in [7] for problem 1|rj,pj=p|(∑nj=1Cj,fmax) (all jobs have equal processing times and no positional deadlines).
The notations used in this paper are described in Table 1. The notations not listed below can be understood naturally.
The paper is organized as follows: In Section 2, we review the literature. In Section 3, an O(n3)-time algorithm for 1|ˉkj|(∑nj=1Cj,fmax) is presented. In Section 4, an O(n3)-time algorithm for 1|ˉkj,(rj,pj)−agreeable|(∑nj=1Cj,fmax) is presented. Finally, some concluding remarks are drawn in Section 5.
2.
Literature review
Pareto scheduling has been studied widely in the literature. The methodology and development in this topic can be found in [1,3,8,9]. Here, we only review the results on the combination of total completion time and maximum cost (or maximum lateness) criteria, or/and scheduling with positional deadlines. Table 2 summarizes the time complexities of the directly related problems.
Wassenhove and Gelders [10] presented an algorithm for 1||(∑nj=1Cj,Lmax) (Pareto scheduling for minimizing total completion time and maximum lateness), which finds each Pareto optimal point in O(nlogn) time. John [11] extended the idea to solve 1||(∑nj=1Cj,fmax) and obtained an algorithm that finds each Pareto optimal point in O(n2) time. Hoogeveen and van de Velde [12] proved that, for 1||(∑nj=1Cj,fmax), there are at most n(n−1)/2+1 Pareto optimal points. Hence, problems 1||(∑nj=1Cj,Lmax) and 1||(∑nj=1Cj,fmax) can be solved in O(n3logn) and O(n4) time, respectively. Steiner and Stephenson [13] studied 1||(∑nj=1wjCj,Lmax) (Pareto scheduling for minimizing total weighted completion time and maximum lateness). For this strongly NP-hard problem (since 1|ˉdj|∑nj=1wjCj is strongly NP-hard [4], where ˉdj denotes the deadline of job Jj by which Jj must be completed), they described several characterizations for the set of Pareto optimal schedules for this problem, and incorporated these results into a branch-and-bound algorithm, which can enumerate all Pareto optimal schedules for the instances with hundreds of Pareto optimal schedules in reasonable time and space. Gao and Yuan [14] gave an O(n3log∑jpj)-time algorithm for 1||(∑nj=1Cj,fmax). He et al. [15] presented an O(n3logn)-time algorithm for 1|pj=p|(∑nj=1wjCj,fmax) (Pareto scheduling jobs with equal processing times to minimize total weighted completion time and maximum cost). Liu and Li [7] obtained O(n3)-time algorithms for problems 1||(∑nj=1Cj,fmax), 1|rj,pj=p|(∑nj=1Cj,fmax) and 1|pj=p|(∑nj=1wjCj,fmax).
There are also many results on scheduling problems with positional deadlines. Zhao et al. [16] presented an O(nlogn)-time algorithm for 1|ˉkj|∑nj=1Cj. Zhao and Yuan [17] presented an O(n2)-time algorithms for 1|ˉkj,prec|fmax (jobs have positional deadlines and precedence constraints) and an O(nlogn)-time algorithm for 1|ˉkj|Lmax. Gao and Yuan [6] presented two O(n4)-time algorithms for 1|ˉkj|(∑nj=1Cj,fmax). Gao and Yuan [18] presented an O(nnAnB2+nA2nBlognA)-time algorithm for 1|ˉkj,precB|(∑nj=1CAj,fBmax) (two-agent scheduling with positional deadlines and B-jobs have precedence constraints), where nA and nB denote the numbers of jobs from agents A and B respectively, and an O(n4)-time algorithm for 1|ˉkj,prec|(fmax,gmax). The latter result also implies an O(nA3nB+nB3nA)-algorithm for 1|ˉkj,prec|(fAmax,gBmax). Chen and Yuan [19] studied the scheduling of proportional-linearly deteriorating jobs with deadlines, positional deadlines, release times, and precedence constraints on a single machine. For various single-criterion problems, they proposed polynomial time algorithms or established the NP-hardness results (when processing times of the jobs have no deterioration). Chen et al. [20] studied single machine scheduling problems with due dates, positional due indices, deadlines and positional deadlines (positional due index means a soft restriction, while positional deadline means a hard restriction). For some single-criterion or bicriteria related scheduling problems, they presented polynomial time algorithms or NP-hardness proofs. They also listed several practical applications related to positional due index or positional deadline constraints. Chen et al. [21] studied the ND (Non-Disjoint)-agent scheduling of linear-deteriorating jobs on a single machine with positional deadlines. They presented an O(n2)-time algorithm for the constrained optimization problem of minimizing total completion time of the jobs from one agent, subject to the maximum cost of the jobs from the other agent does not exceed a threshold value. They also presented an O(n4)-time algorithm for the Pareto scheduling problem to minimize total completion time of the jobs from one agent and the maximum cost of the jobs from the other agent simultaneously. If the maximum cost of the agent is a lateness-like criterion and the jobs have no positional deadline constraints, then the time complexity of the two algorithms can be improved to O(nlogn) and O(n3logn), respectively. Gao et al. [22] studied the two-agent Pareto scheduling on a single machine where each job has a deadline and a positional deadline. Moreover, the jobs from one agent have equal processing times, and the jobs from the other agent are restricted by their precedence constraints. They presented an O(n5)-time algorithm for minimizing a general min-sum objective function of the jobs from one agent and the maximum cost of the jobs from the other agent simultaneously.
There are also many results on Pareto scheduling or/and scheduling with positional deadlines combined with batch scheduling (serial-batch or parallel-batch) or/and multi-agent scheduling. Please refer to [23,24,25,26] for the recent results on batch scheduling and multi-agent scheduling.
3.
Equal release times
In this section, we will present an O(n3)-time algorithm for 1|ˉkj|(∑nj=1Cj,fmax).
Let σ=(σ(1),σ(2),⋯,σ(n)) denote a feasible schedule, in which σ(i) is the index of the job scheduled at the i-th position in σ, i=1,2,…,n. Since ∑nj=1Cj and fmax are both regular, we can focus our attention on the schedules without idle times. Therefore, we have:
Lemma 3.1. Let σ=(σ(1),σ(2),⋯,σ(n)) be a feasible schedule for 1|ˉkj|(∑nj=1Cj,fmax). Then, Sσ(1)=0, Sσ(i)=Sσ(i−1)+pσ(i−1), i=2,…,n.
Recall that the well-known SPT (Shortest Processing Time First) rule solves 1||∑nj=1Cj optimally [27]. To coincide with the following discussion, we apply an adapted version of the SPT rule, called the BRLPT (Backward Restricted Largest Processing Time) rule, to solve 1|ˉkj|∑nj=1Cj optimally in O(n2) time [6]: In each iteration, let U be the set containing unscheduled jobs. A job Jj∈U, which is chosen such that ˉkj≥|U| and pj is as large as possible, is scheduled at the |U|-th position in the schedule, where |U| denotes the cardinality of U(i.e., the number of the elements in U).
Let Ω(J) denote the Pareto set, which consists of all Pareto optimal points together with the corresponding schedules. Below, in the algorithm for 1|ˉkj|(∑nj=1Cj,fmax), we will construct Ω(J) by repeatedly applying the standard ε-constrained approach for multicriteria scheduling [1,3].
Lemma 3.2. ([1,3]) Let y be the optimal value of problem α|f≤ˆx|g (minimizing g subject to the constraint f≤ˆx), and let x be the optimal value of problem α|g≤y|f (minimizing f subject to the constraint g≤y). Then, the standard ε-constraint approach tells us that (x,y) is a Pareto optimal point for problem α||(f,g).
Specifically, we will use the following framework in this section. Suppose that solving the general problem α|f<x|g gives a Pareto optimal schedule (which is true in this section, as shown in Lemma 3.6 below). Then, let (x(1),y(1)) be the first Pareto optimal point obtained by solving α|f≤ˆx|g, where ˆx is an upper bound on f and (x(1),y(1)) is the objective vector of the generated Pareto optimal schedule. Continue to solve α|f<x(i)|g and obtain the next Pareto optimal schedule whose objective vector gives the next Pareto optimal point (x(i+1),y(i+1)) until problem α|f<x(i)|g is infeasible.
Let Π(J) denote the set of all feasible schedules for 1|kj|(∑nj=1Cj,fmax). Let Π(J,y)⊆Π(J) denote the set of the schedules with maximum costs (i.e., fmax-values) less than y, where y is a given threshold value. We have Π(J,+∞)=Π(J).
The algorithm maintains a position index k(h)j dynamically for each job Jj when σ(h) is adjusted, h=0,1,…. Initially, the position indices of all the jobs are equal to their positional deadlines, i.e., k(0)j=ˉkj, j=1,2,…,n. When σ(h) is adjusted, the position index of any job will never increase, i.e., it can only decrease or keep unchanged. The ordinal number of Jj in (adjusted) σ(h) cannot be larger than k(h)j. In fact, the BRLPT-SC (BRLPT-Smallest Cost) rule is used throughout the algorithm: To assign a job to the currently last position i, always select the unscheduled job whose position index is not less than i and processing time is as large as possible, ties broken in favor of the job with the smallest cost. The BRLPT-SC rule is applicable only for the case of equal release times, because the completion time of the currently last position can be pre-computed and, thus, the job with the smallest cost can be determined. In the next section, we have to apply BRLPT (without SC) rule to deal with unequal release times.
NOREALEASE-TCTFMAX:
Step 1. Initially, set h=0, y(h)=+∞. Set k(h)j=ˉkj, j=1,2,…,n. Let σ(h)=(σ(h)(1),σ(h)(2),⋯,σ(h)(n)) be the schedule which is obtained by the BRLPT-SC rule: For i=n,n−1,…,1, assign the i-th position to the job whose position index is not less than i and processing time is as large as possible in J∖{Jσ(h)(n),Jσ(h)(n−1),…,Jσ(h)(i+1)}; Ties are broken in favor of the job with the smallest cost when completed at time Cσ(h)(i)=∑nj=1pj−∑l=nl=i+1pσ(h)(l). Compute the start and completion times of the jobs as well as the objective values by Lemma 3.1. Let Ω(J)={(∑nj=1Cj(σ(h)),fmax(σ(h)),σ(h))}.
Step 2. The (h+1)-th iteration:
Set y(h+1)=fmax(σ(h)). Invoke Procedure PNORELEASE−TCTFMAX(J,y(h+1)) to adjust σ(h) (by decreasing its cost) to construct σ(h+1)∈Π(J,y(h+1)).
Step 3. If σ(h+1)≠∅, then include (∑nj=1Cj(σ(h+1)),fmax(σ(h+1)),σ(h+1)) into Ω(J). Set h=h+1 and go to Step 2. If σ(h+1)=∅, then return Ω(J).
Procedure PNORELEASE−TCTFMAX(J,y(h+1)):
Step 1. For i=n,n−1,…,1, check the inequality fσ(h)(i)(Cσ(h)(i))<y(h+1). If there is a job Jσ(h)(i), such that fσ(h)(i)(Cσ(h)(i))≥y(h+1), if i=1 then simply return σ(h+1)=∅, otherwise remove Jσ(h)(i) from its position in σ(h) and update its position index k(h)σ(h)(i) to be i−1. Then, adjust σ(h) as follows: Let E(i)={l|1≤l≤i−1∧k(h)σ(h)(l)≥i∧fσ(h)(l)(Cσ(h)(i))<y(h+1)} denote the set of candidate jobs at time Cσ(h)(i). If E(i)=∅, then return σ(h+1)=∅. Otherwise, find the job with largest processing time in E(i), say Jσ(h)(e) (ties broken in favor of the job with the smallest cost when completed at time Cσ(h)(i)). Let Jσ(h)(e) be scheduled at the i-th position instead of Jσ(h)(i). Move backward over consecutive positions, starting from i−1 and ending by e, to find suitable positions for jobs Jσ(h)(i),Jσ(h)(i−1),…,Jσ(h)(e+1). Let c denote the current position. Let Jx denote the job in hand, initially Jσ(h)(i). When c>e, if pσ(h)(c)>px, or pσ(h)(c)=px and fσ(h)(c)(Cσ(h)(c))≤fx(Cσ(h)(c)), then Jσ(h)(c) and Jx keep unchanged and we continue with position c−1 and job Jx. Otherwise, let Jx be scheduled at the c-position, and continue with position c−1 and job Jσ(h)(c) (i.e., update the job in hand Jx to be Jσ(h)(c)). When c=e, simply let Jx be scheduled at the c-position.
Step 2. Update the completion times of the jobs by Lemma 3.1. Update the costs accordingly.
Step 3. Repeat Steps 1 and 2 until all inequalities fσ(h)(i)(Cσ(h)(i))<y(h+1) hold for i=n,n−1,…,1 after Step 1. Let σ(h+1) be the final σ(h).
Example:
We give an example illustrating Algorithm NOREALEASE-TCTFMAX. We have five jobs J1,J2,…,J5 defined as follows: rj=0 (j=1,2,…,5); pj=j (j=1,2,…,5); dj=6−j (j=1,2,…,5); ˉk1=2, ˉk2=ˉk3=5, ˉk4=4, ˉk5=5. Algorithm NOREALEASE-TCTFMAX works as follows:
1) σ(0)={J1,J2,J3,J4,J5} with ∑Cj=35 and Lmax=14. We get: Ω(J)={(∑nj=1Cj(σ(0)),fmax(σ(0)),σ(0))}.
2) Run Procedure PNORELEASE−TCTFMAX(J,y(1)) to adjust σ(0)={J1,J2,J3,J4,J5}, where y(1)=14.
The job violating the inequality in σ(0) is J5. The set of the candidate jobs at time C5 is E(5)={J1,J2,J3}. Since J3 has the largest release date among the jobs in E(5), it is scheduled at the fifth position instead of J5. Job J5 becomes the job in hand. We compare J5 and J4. Since p5>p4, J5 is scheduled at the fourth position instead of J4. Job J4 becomes the job in hand. We continue to consider the third position. The third position is not occupied because J3 has been moved from this position to the fifth position. Therefore, J4 is scheduled at the third position. We get the adjusted σ(0)={J1,J2,J4,J5,J3} with ∑Cj=38 and Lmax=12. Hence, σ(1)={J1,J2,J4,J5,J3}. We get: Ω(J)={(∑nj=1Cj(σ(h)),fmax(σ(h)),σ(h))|h=0,1}.
3) Run Procedure PNORELEASE−TCTFMAX(J,y(2)) to adjust σ(1)={J1,J2,J4,J5,J3}, where y(2)=12.
(ⅰ) The job violating the inequality is J3. The set of the candidate jobs at time C3 is E(5)={J1,J2}. Since J2 has the largest release date among the jobs in E(5), it is scheduled at the fifth position instead of J3. Job J3 becomes the job in hand. We compare J3 and J5 for the fourth position. Then, compare J3 and J4 for the third position, and finally decide to schedule J3 at the second position. We get the adjusted σ(1)={J1,J3,J4,J5,J2} with ∑Cj=41 and Lmax=12.
(ⅱ) Now, the job violating the inequality is J5. Let J5 be the job in hand and we continue to adjust σ(1)={J1,J3,J4,J5,J2}. We get the adjusted σ(1)={J1,J3,J5,J4,J2} with ∑Cj=42 and Lmax=11. Hence, σ(2)={J1,J3,J5,J4,J2}. We get: Ω(J)={(∑nj=1Cj(σ(h)),fmax(σ(h)),σ(h))|h=0,1,2}.
4) Run Procedure PNORELEASE−TCTFMAX(J,y(3)) to adjust σ(2)={J1,J3,J5,J4,J2}, where y(3)=11.
The jobs violating the inequalities are J2,J4. We select J2 as the job in hand and adjust σ(2)={J1,J3,J5,J4,J2}. Since E(5)=∅, Procedure PNORELEASE−TCTFMAX(J,y(3)) returns σ(3)=∅.
Finally, Algorithm NOREALEASE-TCTFMAX returns the Pareto set Ω(J)={(∑nj=1Cj(σ(h)),fmax(σ(h)),σ(h))|h=0,1,2}.
Procedure PNORELEASE−TCTFMAX(J,y(h+1)) adjusts σ(h) to construct σ(h+1). During the adjustment of σ(h), a series of tentative schedules (all denoted by σ(h) except for the last one which is denoted by σ(h+1)) are obtained. A tentative schedule is obtained from the current schedule by moving a job violating its inequality to the left and adjusting the positions of some earlier jobs in the schedule, accordingly. If σ(h+1)=∅, then it is not a tentative schedule. If σ(h+1)≠∅, then σ(h+1)∈Π(J,y(h+1)), since there is no job violating its inequality in σ(h+1), implying that fmax(σ(h+1))<y(h+1).
Lemma 3.3. Let σ(h−1)=(σ(h−1)(1),σ(h−1)(2),⋯,σ(h−1)(n)) denote any tentative schedule (the last one is denoted by σ(h)) during the implementation of Procedure PNORELEASE−TCTFMAX(J,y(h)) (h=0,1.…). Let σ=(σ(1),σ(2),⋯,σ(n)) be any feasible schedule in Π(J,y(h)). Then, the following properties hold:
1) Sσ(h−1)(i)≤Sσ(i), i=1,2,…,n;
2) Cσ(h−1)(i)≤Cσ(i), i=1,2,…,n.
Proof. We prove the lemma by induction on h.
Consider PNORELEASE−TCTFMAX(J,y(0)). The initial schedule σ(0) (described in Step 1 of Algorithm NORELEASE-TCTFMAX) is constructed by the BRLPT rule (in fact, BRLPT-SC rule). Let σ be any schedule in Π(J,y(0))=Π(J). We will provide a transformation of σ into σ(0), without increasing the start or completion time of any job.
Compare σ(0) and σ backwardly (right-to-left), looking for a difference between the jobs. Suppose that the first difference occurs at the k-th position, which is occupied by jobs Ji and Jj in σ(0) and σ, respectively. By the BRLPT rule, we know that pi≥pj. Moreover, both Ji and Jj come from J∖{Jσ(0)(n),Jσ(0)(n−1),…,Jσ(0)(k+1)}, implying that Ji is processed earlier than Jj in σ. We can safely interchange Ji and Jj in σ, obeying their positional deadlines, without increasing the start or completion time of any job.
Repetition of this argument shows that σ can be safely transformed into σ(0). Properties (1) and (2) follow naturally, thus proving the base case.
Assume that the lemma holds for PNORELEASE−TCTFMAX(J,y(0)), PNORELEASE−TCTFMAX(J,y(1)),…, PNORELEASE−TCTFMAX(J,y(h)). We now consider PNORELEASE−TCTFMAX(J,y(h+1)).
Since y(h+1)<y(h), we have: Π(J,y(h+1))⊆Π(J,y(h)). Let σ be any schedule in Π(J,y(h+1)). Then, σ is also in Π(J,y(h)). Since the first tentative schedule for PNORELEASE−TCTFMAX(J,y(h+1)) is just the last one for PNORELEASE−TCTFMAX(J,y(h)), this tentative schedule and σ satisfy the two properties of the lemma. Let σ(h) denote the current (not the last) tentative schedule for PNORELEASE−TCTFMAX(J,y(h+1)). By the inductive assumption, σ(h) and σ satisfy the properties of the lemma. But since fmax(σ(h))≥y(h+1), we have to adjust σ(h) as described in Step 1 of PNORELEASE−TCTFMAX(J,y(h+1)). In σ(h), there is a job Jσ(h)(i) such that fσ(h)(i)(Cσ(h)(i))≥y(h+1). We update its position index k(h)σ(h)(i) to be i−1, ensuring that Jσ(h)(i) cannot be scheduled later than the (i−1)-th position. By the inductive assumption, we have: Cσ(h)(i)≤Cσ(i). It follows that fσ(h)(i)(Cσ(i))≥fσ(h)(i)(Cσ(h)(i))≥y(h+1), implying that Jσ(h)(i) cannot be scheduled later than the (i−1)-th position in σ. Generally speaking, a crucial observation is: the position index of any job maintained dynamically in the (h+1)-th iteration in Algorithm NORELEASE-TCTFMAX indicates its rightmost position in any schedule in Π(J,y(h+1)).
Let ˉσ(h) denote the adjusted σ(h). We will provide a transformation of σ into ˉσ(h), without increasing the start or completion time of any job.
Compare ˉσ(h) and σ backwardly, looking for a difference between the jobs. Suppose that the first difference occurs at the k-th position, which is occupied by jobs Ji and Jj in ˉσ(h) and σ, respectively. By the BRLPT rule, we know that pi≥pj (since Jj is scheduled at the k-th position in σ, by the above discussion we know that its position index is not less than k. Hence Jj is also an eligible candidate when we select Ji. It must be true that pi≥pj.) Moreover, Ji is processed earlier than Jj in σ. We can safely interchange Ji and Jj in σ, obeying their position indices, without increasing the start or completion time of any job.
Repetition of this argument shows that σ can be safely transformed into ˉσ(h). Properties (1) and (2) follow naturally, thus completing the proof for PNORELEASE−TCTFMAX(J,y(h+1)).
By the principle of induction, we complete the proof of the lemma.
Lemma 3.4. Let σ(h) denote the last schedule upon the completion of Procedure PNORELEASE−TCTFMAX(J,y(h)) (h=0,1.…). If σ(h)=∅, then Π(J,y(h))=∅; Otherwise, σ(h) has minimum total completion time among all schedules in Π(J,y(h)).
Proof. Suppose that in implementing PNORELEASE−TCTFMAX(J,y(h)), we find a job Jσ(h)(i) violating its inequality. If i=1 or E(i)=∅, then we conclude that Π(J,y(h))=∅, since Jσ(h)(i) cannot be scheduled with its cost less than y(h). Therefore, we simply return σ(h)=∅.
On the other hand, if σ(h)≠∅, then by property (2) of Lemma 3.3, σ(h) has minimum total completion time among all schedules in Π(J,y(h)).
Lemma 3.5. Let σl=(σl(1),σl(2),⋯,σl(n)) and σl+1=(σl+1(1),σl+1(2),⋯,σl+1(n)) denote two adjacent tentative schedules (either in the same iteration or adjacent iterations) during the implementation of Algorithm NORELEASE-TCTFMAX. Then, Cσl(i)≤Cσl+1(i), i=1,2,…,n. That is, the completion times of all the positions never decrease during the entire implementation of the algorithm.
Proof. The proof comes from the BRLPT rule.
Suppose that σl+1 is obtained by adjusting σl in an iteration. Let Jσl(i) be the job violating its inequality in this adjustment. As described in Procedure PNORELEASE−TCTFMAX, we find a job Jσl(e)∈E(i) with largest processing time. Job Jσl(e) is scheduled at the i-th position instead of Jσl(i). By the BRLPT rule, for e+1≤q≤i, we have pσl(q)≥pσl(e). After assigning jobs Jσl(i),Jσl(i−1),…,Jσl(e) to the suitable positions, the completion time of the i-th position keeps unchanged. Only the processing time at the i-th position may decrease. The processing times at all the other positions keep unchanged or increase. Therefore, during the adjustment of σl, none of Cσl(1),Cσl(2),⋯,Cσl(n) can decrease.
The proof of the following lemma is very similar to that in [12] and so we slide it to Appendix.
Lemma 3.6. Let σ(h) denote the last schedule upon the completion of Procedure PNORELEASE−TCTFMAX(J,y(h)) (h=0,1.…). If σ(h)≠∅, then it is a Pareto optimal schedule for 1|ˉkj|(∑nj=1Cj,fmax).
We get the following theorem.
Theorem 3.7. Algorithm NORELEASE-TCTFMAX solves 1|ˉkj|(∑nj=1Cj,fmax) in O(n3) time.
Proof. The correctness of the algorithm follows from Lemmas 3.2 and 3.6.
Step 1 of Algorithm NORELEASE-TCTFMAX can be implemented in O(n2) time. In Step 1 of Procedure PNORELEASE−TCTFMAX(J,y(h+1)), it takes O(n) time to generate a tentative schedule (to find a job violating its inequality, to move it to the left, and to adjust the positions of some earlier jobs in the schedule accordingly). Since each job violating its inequality at a position can only be moved to the left and never comes back to this position (by Lemma 3.5), it goes through at most n−1 positions. Therefore, the total number of tentative schedules is O(n2). Step 2 of Algorithm NORELEASE-TCTFMAX requires O(n3) time for all iterations. Step 3 of Algorithm NORELEASE-TCTFMAX can be implemented in O(n2) time, since the total number of tentative schedules is O(n2). Hence, the overall running time of Algorithm NORELEASE-TCTFMAX is O(n3).
4.
Agreeable release and processing times
In this section, we will present an O(n3)-time algorithm for 1|ˉkj,(rj,pj)−agreeable|(∑nj=1Cj,fmax).
We will re-sue the notations developed in the preceding section, such as σ=(σ(1),σ(2),⋯,σ(n)), Ω(J), Π(J,y), k(h)j, to name a few. We apply BRLPT rule in this section, meaning that Backward Restricted Largest Processing Time and Release Time (ties broken arbitrarily).
Lemma 4.1. Let σ=(σ(1),σ(2),⋯,σ(n)) be a feasible schedule for 1|ˉkj,(rj,pj)−agreeable|(∑nj=1Cj,fmax). Then, Sσ(1)=rσ(1), Sσ(i)=max{rσ(i),Sσ(i−1)+pσ(i−1)}, i=2,…,n.
Specifically, we will use the following framework in this section. Suppose that the general problem α|f<x|g is efficiently solvable (which is true in this section, as shown in Lemma 3.4 with a slight modification). Then, let (x(1),y(1)) be the first weak Pareto optimal point obtained by solving α|f≤ˆx|g, where ˆx is an upper bound on f and (x(1),y(1)) is the objective vector of the generated weak Pareto optimal schedule. Continue to solve α|f<x(i)|g and obtain the next weak Pareto optimal schedule whose objective vector gives the next weak Pareto optimal point (x(i+1),y(i+1)) until problem α|f<x(i)|g is infeasible. Select the Pareto optimal points from among the obtained weak Pareto optimal points.
REALEASE-TCTFMAX:
Step 1. Initially, set Ω(J)=∅, z=0. Set h=0, y(h)=+∞. Set k(h)j=ˉkj, j=1,2,…,n. Let σ(h)=(σ(h)(1),σ(h)(2),⋯,σ(h)(n)) be the schedule that is obtained by the BRLPT rule: For i=n,n−1,…,1, assign the i-th position to the job whose position index is not less than i and processing time (as well as release time) is as large as possible in J∖{Jσ(h)(n),Jσ(h)(n−1),…,Jσ(h)(i+1)}, ties broken arbitrarily. Compute the start and completion times of the jobs, as well as the objective values by Lemma 4.1.
Step 2. The (h+1)-th iteration:
Set y(h+1)=fmax(σ(h)). Invoke Procedure PRELEASE−TCTFMAX(J,y(h+1)) to adjust σ(h) (by decreasing its cost) to construct σ(h+1)∈Π(J,y(h+1)).
Step 3. If σ(h+1)=∅, then set π∗=σ(h). Let Ω(J)=Ω(J)∪{(∑nj=1Cj(π∗),fmax(π∗),π∗)} and return Ω(J). Otherwise, if ∑nj=1Cj(σ(h+1))>∑nj=1Cj(σ(h)), then set z=z+1 and πz=σ(h), let Ω(J)=Ω(J)∪{(∑nj=1Cj(πz),fmax(πz),πz)}.
Step 4. Set h=h+1 and go to Step 2.
Procedure PRELEASE−TCTFMAX(J,y(h+1)):
Step 1. The same as Step 1 of Procedure PNORELEASE−TCTFMAX(J,y(h+1)) except that: Replace "ties broken in favor of the job with the smallest cost when completed at time Cσ(h)(i)" by "ties broken arbitrarily". Replace "When c>e, if pσ(h)(c)>px, or pσ(h)(c)=px and fσ(h)(c)(Cσ(h)(c))≤fx(Cσ(h)(c))" by "When c>e, if pσ(h)(c)≥px".
Step 2. Update the completion times of the jobs by Lemma 4.1. Update the costs accordingly.
Step 3. The same as Step 3 of Procedure PNORELEASE−TCTFMAX(J,y(h+1)).
Lemma 3.2 certainly holds in this section. Lemmas 3.3–3.5 still hold if "NOREALEASE-TCTFMAX" is replaced by "REALEASE-TCTFMAX". The proofs are almost the same as their counterparts in the preceding section, and, thus, are omitted for brevity. Note that we elaborately use the BRLPT (rather than BRLPT-SC) rule in the proofs. Lemma 3.6 relies on BRLPT-SC rule and, thus, does not hold in this section.
Similarly to the preceding section, we can analyze the time complexity of Algorithm REALEASE-TCTFMAX. Step 1 of Algorithm RELEASE-TCTFMAX can be implemented in O(n2) time. In Step 1 of Procedure PRELEASE−TCTFMAX(J,y(h+1)), it takes O(n) time to generate a tentative schedule. Since each job violating its inequality at a position can only be moved to the left, it goes through at most n−1 positions. Therefore, the total number of tentative schedules is O(n2). Step 2 of Algorithm RELEASE-TCTFMAX requires O(n3) time for all iterations. Step 3 of Algorithm RELEASE-TCTFMAX can be implemented in O(n2) time, since the total number of tentative schedules is O(n2). Hence, Algorithm REALEASE-TCTFMAX runs in O(n3) time, too.
Algorithm REALEASE-TCTFMAX works in a different way from Algorithm NOREALEASE-TCTFMAX. As shown in Lemma 3.6, the convenience of Algorithm NOREALEASE-TCTFMAX is that each iteration (one call for Procedure PNORELEASE−TCTFMAX) determines a Pareto optimal schedule. Consequently, there are exactly |Ω(J)|+1 iterations in Algorithm NOREALEASE-TCTFMAX. It finds only Pareto optimal schedules. On the other hand, during the implementation of Algorithm REALEASE-TCTFMAX, several schedules belonging to different iterations may have different fmax-values but the same ∑nj=1Cj-value. Therefore, Algorithm REALEASE-TCTFMAX may perform more iterations than |Ω(J)|+1, but the total number of iterations is still bounded by O(n2). It finds all weak Pareto optimal schedules, and, therefore, will not miss any Pareto optimal schedule.
Based on Lemmas 3.2 and 3.4 with slight modifications, we get the following main result. The proof is omitted, since it is standard and can be found, e.g., [1].
Theorem 4.2. Algorithm RELEASE-TCTFMAX solves 1|ˉkj,(rj,pj)−agreeable|(∑nj=1Cj,fmax) in O(n3) time.
5.
Conclusions
In this paper, we studied the bicriteria problem of scheduling jobs with positional deadlines and agreeable release and processing times on a single machine to minimize total completion time and maximum cost simultaneously. We presented an O(n3)-time Pareto optimal algorithm for this problem, which generalizes and improves the previously known two O(n4)-time algorithms for the case of equal release times and an O(n3)-time algorithm for the case of equal processing times (without positional deadline constraints). For future research, it is interesting to design algorithms with better time complexity for the problem. The extensions to batch scheduling (serial-batch or parallel-batch), multi-agent scheduling, or to the case of arbitrary release and processing times for optimal or approximation algorithms, is encouraged. We can also consider more general min-sum objective functions instead of total completion time, in combination with a min-max or min-sum objective function.
Acknowledgments
We thank the editor and reviewers for their helpful suggestions. This work is supported by Natural Science Foundation of Shandong Province China (No. ZR2020MA030), and Shandong Soft Science Project (No. 2021RKY02040).
Conflict of interest
The authors declare that there are no conflicts of interest.
Appendix
Proof of Lemma 3.6:
Proof. By Lemma 3.4, σ(h) is optimal for 1|ˉkj,fmax<y(h)|∑nj=1Cj. By Lemma 3.2, to prove that σ(h) is Pareto optimal for 1|ˉkj|(∑nj=1Cj,fmax), we only need to show that it is optimal for 1|ˉkj,∑nj=1Cj≤∑nj=1Cj(σ(h))|fmax.
Suppose that π≠σ(h) is optimal for 1|ˉkj,∑nj=1Cj≤∑nj=1Cj(σ(h))|fmax. We have: ∑nj=1Cj(π)≤∑nj=1Cj(σ(h)) and fmax(π)≤fmax(σ(h))<y(h). Therefore, π is a feasible schedule for 1|ˉkj,fmax<y(h)|∑nj=1Cj. We get ∑nj=1Cj(π)≥∑nj=1Cj(σ(h)). It follows that ∑nj=1Cj(π)=∑nj=1Cj(σ(h)).
We compare σ(h) and π backwardly looking for a difference between the jobs. Suppose that the first difference occurs at the k-th position, which is occupied by jobs Ji and Jj in σ(h) and π, respectively. From the proof of Lemma 3.3, we do not worry about the position indices of the jobs, since they do not affect the feasibility of any schedule in Π(J,y(h)). Hence, by the BRLPT-SC rule, we get pi≥pj.
We claim that pi=pj must hold. (Otherwise, we interchange Ji and Jj in π to get π′, which is feasible for 1|ˉkj,fmax<y(h)|∑nj=1Cj and ∑nj=1Cj(π′)<∑nj=1Cj(π)=∑nj=1Cj(σ(h)), contradicting the fact that σ(h) is optimal for 1|ˉkj,fmax<y(h)|∑nj=1Cj.) Moreover, by the BRLPT-SC rule, fi(Ci(σ(h)))≤fj(Cj(π)). Thus, we can safely interchange Ji and Jj in π without affecting the cost of the schedule.
Repetition of this argument shows that π can be safely transformed into σ(h), without affecting the cost of the schedule. Therefore, σ(h) is also optimal for 1|ˉkj,∑nj=1Cj≤∑nj=1Cj(σ(h))|fmax.
Hence, σ(h) is Pareto optimal for 1|ˉkj|(∑nj=1Cj,fmax).