Bicriteria fabrication scheduling of two-component jobs on a single machine

This paper studies the bicriteria problem of non-preemptively scheduling n jobs, each of which is associated with a due date and comprises a standard and a specific component, on a single fabrication machine to minimize makespan and maximum lateness simultaneously. The specific components are processed individually and the standard components are grouped into batches for processing. A setup time is required before each batch of standard components is processed. A standard component is available (i.e., ready for delivery to the next production stage) only when the batch it belongs to is totally completed, whereas a specific component is available on completion of its processing. The completion time of a job is defined as the moment when both its two components have been processed and are available. An O(n2logn)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(n^2\log n)$$\end{document}-time algorithm with linear memory requirements is presented which can generate all Pareto optimal points and find a corresponding Pareto optimal schedule for each Pareto optimal point.


Introduction
In this paper, we study a scheduling problem related to the two-component jobs.Let J = {J 1 , J 2 , … , J n } be a set of n jobs, to be non-preemptively processed on a single machine.Each job J j has two components: a standard component O (1)  j and a specific component O (2)  j .The two components of J j have processing times p (1) j and p (2) j , respec-58 Page 2 of 13 tively.On the machine, the specific components are processed individually, and the standard components are processed in batches with a setup time s incurred for each batch.(Since setups for specific components depend on the particular jobs, the processing times of the specific components are assumed to include the relevant setup times.) We assume batch availability of the standard components (Santos and Magazine 1985) in this paper.That is, a standard component is available (i.e., ready for delivery to the next production stage) only when the batch it belongs to is completed.On the other hand, a specific component is available when its processing is completed.A job is completed when both its standard and specific components have been processed and are available.
The problem of scheduling two-component jobs is introduced in Baker (1988) and has a variety of applications (Baker 1988;Yang 2004).Consider a production environment where a fabrication machine manufactures two-component products (jobs).Usually there is an assembly machine which subsequently assembles the manufactured components into end products.Since the components are all processed on the fabrication machine, this machine is a bottleneck facility in the production process.Therefore, as in most studies, we assume that the assembly stage is not a bottleneck and can be ignored.
In the area of production management, timeliness of product delivery is usually crucial to meeting market demands and customer satisfaction.As a result, due date constraints are introduced and extensively studied (Brucker 2007).In this paper, each job J j is associated with a due date d j , representing the interest of a decision-maker, e.g., the completion time expected by the consumer or the producer.Given a schedule, let C j and L j = C j − d j denote the completion time and lateness of J j in this schedule.Let C max = max j {C j } and L max = max j {L j } denote the makespan and maximum lateness of the schedule.
The problem studied in this paper is to simultaneously minimize makespan C max and maximum lateness L max by enumerating all Pareto optimal points and finding a corre- sponding Pareto optimal schedule for each Pareto optimal point.Following (Brucker 2007;Hoogeveen 2005;T'Kindt and Billaut 2006), it can be denoted by 1|(p (1) j , p (2) j ), batch|(C max , L max ) , where " (p (1) j , p (2) j ) " means "two-component jobs", and "batch" means "batch availability".
A feasible schedule is Pareto optimal with respect to C max and L max if there is no feasible schedule ′ such that C max ( � ) ≤ C max ( ) and L max ( � ) ≤ L max ( ) , where at least one of the inequalities is strict.When is Pareto optimal, the objective vector (C max ( ), L max ( )) is called a Pareto optimal point (Hoogeveen 2005).
The paper is organized as follows.In Sect.2, we provide a literature review.In Sect.3, an O(n 3 )-time algorithm for 1|(p (1) j , p (2) j ), batch|(C max , L max ) is presented.In Sect.4, the time complexity of the obtained algorithm is improved to O(n 2 log n) .Finally, some concluding remarks are drawn in Sect. 5.

Literature review
Multicriteria scheduling has been extensively studied in the last decades.The fundamental notations, principles and methodologies can be found in Hoogeveen (2005), T' Kindt and Billaut (2006), Herzel et al. (2021).Scheduling with batching and/or with setups has also been widely studied in the literature.We refer the reader to the surveys (Potts and Kovalyov 2000;Allahverdi et al. 2008).We next only mention the results on fabrication scheduling of two-component jobs.Baker (1988) initiated problem 1�(p (1) j , p (2) j ), batch� ∑ C j (minimizing total com- pletion time of the jobs).Under the agreeability assumption (i.e., the jobs can be ordered such that the standard and specific components both appear in nondecreasing order of their processing times), he designed an O(n 2 )-time dynamic programming algorithm.Coffman et al. (1990) further improved the complexity to O(n log n) .Aneja and Singh (1990) later extended Baker's work to a more gen- eral case, where each job has a specific component and M standard components (each requiring a separate setup).Gerodimos et al. (2000) presented an O(n 2 )time dynamic programming algorithm for 1|(p (1) j , p (2) j ), batch|L max .They also proved that 1�(p (1) j , p (2) j ), batch� ∑ U j (minimizing total number of late jobs) is NP- hard and gave a pseudo-polynomial time dynamic programming algorithm for it, where U j = 1 if C j > d j and U j = 0 otherwise.Moreover, for 1�(p (1) j = p, p (2) j ), batch� ∑ U j (all standard components have equal processing times), they obtained an O(n 4 log n)-time dynamic programming algorithm.Wagelmans and Gerodimos (2000) gave an improved algorithm for 1|(p (1) j , p (2) j ), batch|L max which runs in O(n log n) time.Vickson et al. (1993) studied problem 1�(p (1) j , p (2) j ), item� ∑ C j ( item availability of the standard components: a standard component is available immediately after the completion of its processing).Under the assumption that all standard components have equal processing times, they presented an O(n 3 )-time algorithm.Rana and Singh (1994) presented a scheme for 1�(p (1) j , p (2) j ), item�Lex( ∑ C j , C max , HC) which can obtain all optimal scheduling alternatives efficiently with minimization of total completion time, makespan, and total holding cost (HC denotes the total holding cost of all jobs) being primary, secondary and tertiary criteria respectively.Lin (2002) presented an O(n 5 )-time dynamic programming algorithm for 1|(p (1) j , p (2) j ), item|T max , where T max = max j {max{C j − d j , 0}} denotes the maximum tardiness of all jobs.He also showed NP-hardness proof and designed a pseudopolynomial time dynamic programming algorithm for 1�(p (1) 1|(p (1) j , p (2) j ), item|L max and 1�(p (1) j , p (2) j ), item� ∑ U j .They gave an O(n log n)-time algorithm for 1�(p (1) j , p (2) j ), item� ∑ C j under the agreeability assumption, and an O(n 2 )-time algorithm for 1|(p (1) j , p (2) j ), item|L max .They also proved that 1�(p (1) j , p (2) j ), item� ∑ U j is NP-hard and gave a pseudo-polynomial time dynamic programming algorithm for it.Moreover, for 1�(p (1) j = p, p (2) j ), item� ∑ U j , they 58 Page 4 of 13 obtained an O(n 5 log n log P)-time dynamic programming algorithm, where P is the sum of processing times of all specific components.Wagelmans and Gerodimos (2000) gave an improved algorithm for 1|(p (1) j , p (2) j ), item|L max which runs in O(n log n) time.

The algorithm
In this section we will present an O(n 3 )-time algorithm for 1|(p (1) j , p (2) j ), batch|(C max , L max ).From now on, we assume that all jobs have been reindexed according to EDD (earliest due date) rule such that Since C max and L max are regular functions (i.e., non-decreasing functions of the job completion times), following (Gerodimos et al. 2000), we get: , there exists a corresponding Pareto optimal schedule in which the standard component of each job appears in the batch immediately preceding the specific component.
Proof Consider a Pareto optimal schedule.If there is a job J j such that its specific component O (2)  j precedes the standard component O (1) j , then we move O (2) j to be the first specific component after the batch containing O (1) j .Clearly, the two objective function values C max and L max keep unchanged.Therefore, the modified schedule is also Pareto optimal.Repetition of this argument shows that for each Pareto optimal point, there is a corresponding Pareto optimal schedule in which the standard component of each job precedes its specific component.
Consider such a Pareto optimal schedule.If there are other batches of standard components processed between the batch containing O (1) j and O (2) j , then we move O (1) j into the last batch of standard components preceding O (2) j .Clearly, the modified schedule is also Pareto optimal.Repetition of this argument shows that for each Pareto optimal point, there is a corresponding Pareto optimal schedule in which the standard component of each job appears in the batch immediately preceding the specific component. ◻ , there exists a corresponding Pareto optimal schedule in which the jobs are sequenced in EDD order.
Proof Consider a Pareto optimal schedule described in Lemma 1.If there are two consecutive jobs J j and J k such that d j < d k but the components of J k precedes those of J j in the schedule, then we move the components of J k immediately after the relevant components of J j (the standard components of J j and J k are thus in the same batch).Only J k is completed later as a result of the move.Since d j < d k , the maximum lateness of J j and J k is no-worse in the modified schedule.Clearly, the modified schedule is also Pareto optimal.Repetition of this argument shows that for each Pareto optimal point, there is a corresponding Pareto optimal schedule in which the jobs are sequenced in EDD order.◻ The above two lemmas reveal the structure of Pareto optimal schedules we are searching for.By the two lemmas, a feasible schedule can be simply represented as a sequence of job-blocks F 1 , F 2 , … , F n , where job-block The last job J j i+1 −1 of F i is called the decision job of this job-block.Clearly, a schedule is specified by the decision jobs of its job-blocks.Further, the subschedule for the jobs in F i can be represented as i i , where i is a batch consist- ing of the standard components of the jobs in F i , and i is a specific-block consist- ing of the specific components of the jobs in In the schedule, the standard components in each batch and the specific components in each specific-block are processed in EDD order respectively.Let j denote the processing times of the batch and the specific-block of F i , respectively.Let p(F i ) = p( i ) + p( i ) denote the pro- cessing time of F i .Moreover, the processing time of any empty job-block is zero.
Let s( i ) denote the setup time of batch i , which is s if i is nonempty, and 0 otherwise.Let S(F i ) and C(F i ) denote the start time and completion time of F i , respectively.We have: Since both criteria C max and L max are regular, we can consider only the sched- ules without idle times.Therefore, we have: In Algorithm EDD-MoveLeft, to search for the Pareto optimal schedules for constructing Pareto set Ω(J) , we will apply the following well-known generic approach for multicriteria scheduling (Hoogeveen 2005).
Lemma 4 (Hoogeveen 2005) Let y be the optimal value of problem |f ≤ x|g , and let x be the optimal value of problem |g ≤ y|f .Then (x, y) is a Pareto optimal point for problem ||(f , g).
Let Π(J) denote the set of all feasible schedules for J .We concentrate our attention to the schedules in Π(J) which have the properties described in Lemmas 1, 2 and 3. Let Π(J, y) denote the set of the schedules in Π(J) with L max less than y.We have Π(J, +∞) = Π(J).
58 Page 6 of 13 In the forthcoming algorithm, the cyclic queue data structure will be used.Please refer to (Cormen et al. 2009) for cyclic queue and its elementary operations DEQUEUE and ENQUEUE.

Remark 1 About
Step 1: In schedule (h) , for i = 1, 2, … , n , the standard components of the jobs in F (h)  i are first processed as a batch in EDD order, and the specific components of the jobs in F (h)  i are then processed individually in EDD order (by Lemma 1).
Remark 2 About Step 2.1: When the rightmost, i.e., the last, empty job-block becomes non-empty, the lateness values of all jobs need to be updated.Otherwise, only the lateness values of the jobs in F (h)  i and F (h) i−1 need to be updated.
Step 1 of Algorithm EDD-MoveLeft can be implemented in O(n log n) time.
Step 2 can be done in O(n) time for each inequality violation adjustment.Steps 3 and 4 can be done in O(1) time in each iteration.
In each inequality violation adjustment, there is at least one job which has to be moved to the left.Actually, it is worth stressing that in Algorithm EDD-MoveLeft we never move a job to the right.Later, we will prove that any job can only be moved to the left; no job can be moved to the right (Lemma 6).Hence, the total number of inequality violation adjustments is O(n 2 ) .The running time of Algorithm EDD-MoveLeft is O(n 3 ).
Given a schedule = (F 1 , F 2 , … , F n ) , for any job J j ∈ J let O(j, ) = i denote the ordinal number of job J j if J j ∈ F i in .We have: , where the last l job-blocks F n−l+1 , F n−l+2 , … , F n are non- empty.Then the following properties hold: (1) l h ≤ l; (2) S(
Assume that there is a job Then we can find a truly moved job J k ∈ F (h) i+1 in (modified) (h) which violates its inequality L (h)  k < y (h+1) .We know that J j and J k are in the same job-block by the inductive assumption, the fifth Property), we have: . Hence, it must be true that J k ∉ ⋃ n a=i+1 F a in , i.e., O(k, ) ≤ i .We get: O(j, ) ≤ i = O(j, (h+1) ) .By the principle of induction, we have proved the fourth property of the lemma.
In fact, we have shown that for Hence the first four properties of the lemma are proved easily.

Page 8 of 13
Let us continue to prove the fifth property of the lemma.Assume that there is a job J j such that O(j, (h+1) ) = O(j, ) = i .Clearly, the decision job of F (h+1) i has an index h+1 i no more than the index i of the decision job of F i .The number h+1 i of nonempty jobblocks in {F (h+1) q , we get: C j ( (h+1) ) ≤ C j ( ) .By the principle of induction, we complete the proof of the fifth property of the lemma.◻ Algorithm EDD-MoveLeft generates nonempty job-blocks every now and then.Consider the nonempty job-blocks in (h) = (F (h)  1 , i−1 cannot be included in F (h)  i (and all the subsequent job-blocks n ) in any feasible schedule in Π J, y (h) , because this job is moved from the i-th job- block into F (h)  i−1 truly due to the inequality violation in one of the preceding iterations.When this job is moved from the i-th job-block into the left adjacent jobblock, the earlier jobs in the i-th job-block also need to be moved together with it; Otherwise one of these jobs has to be completed no earlier than the former completion time of the decision job, incurring an inequality violation since its due date is no more than that of the decision job.This means that Algorithm EDD-MoveLeft does not affect the feasibility of any schedule in Π J, y (h) .Each such job needs a separate job-block in any feasible schedule in Π J, y (h) .Algorithm EDD-MoveLeft actually assigns each such job to a separate job-block and these job-blocks are all nonempty job-blocks in (h) .By this observation, we know that after a new nonempty job-block is generated, it will never become empty, nor will its due date (which is defined to be the largest due date of the jobs in it, i.e., the due date of its decision job) decrease, since otherwise an inequality violation will occur in its left adjacent job-block.Hence, in Step 2.1 of Algorithm EDD-Move-Left, if J k violates the inequality and it has the largest due date in F (h)  i , which implies Π J, y (h+1) = ∅ , then we simply set (h+1) = ∅.
) ) be the sched- ule obtained at iteration h ( h + 1 ) of Algorithm EDD-MoveLeft, where the last l h ( l h+1 ) job-blocks are nonempty.Since y (h+1) < y (h) , (h+1) ∈ Π J, y (h) .By Lemma 5, for i = 1, 2, … , n , the decision job of F (h)  i has an index h i no more than the index h+1 i of the decision job of By this analysis, we can prove the following lemma.

Lemma 6 In Algorithm EDD-MoveLeft, any job cannot be moved to the right.
Proof We prove the lemma by contradiction.
In initial schedule (0) , all jobs are in the rightmost job-block F (0) n = J .Certainly, none of them can be moved to the right.

Suppose that at iteration
i .Since y (h � ) < y (h) , (h � ) ∈ Π J, y (h) .From the above analysis, similarly to the proof of the fifth prop- erty of Lemma 5, we get: i , a contradiction.◻ By Lemma 5, we get: Lemma 7 Let (h) be the schedule obtained at iteration h is a schedule which has minimum makespan among all schedules in Π J, y (h) .
Proof Suppose that in Step 2.1 of Algorithm EDD-MoveLeft, we find a job By Lemma 2, all the jobs with due dates no more than d k in F (h−1) i need to be moved into F (h−1) i−1 .If i = 1 , then job J k can- not be scheduled with its lateness less than y (h) in any schedule in Π J, y (h) , imply- ing that Π J, y (h) = ∅ .If J k has the largest due date in F (h−1) i , then we also know that Π J, y (h) = ∅ .The reason has been explained above (after the proof of Lemma 5).Thus, in these two cases, we simply set (h) = ∅ and return.
On the other hand, if (h) ≠ ∅ , then by property (3) of Lemma 5, (h) has minimum C max among all schedules in Π J, y (h) .◻ Combining Lemmas 4 and 7, we get: Theorem 8 Algorithm EDD-MoveLeft solves 1|(p (1) j , p (2) j ), batch|(C max , L max ) in O(n 3 ) time.It returns Pareto set Ω(J) which consists of all Pareto optimal points together with the corresponding Pareto optimal schedules.The last generated schedule * has minimum makespan among all optimal schedules for single criterion L max .
4 An O(n 2 log n)-time implementation In this section we will illustrate how to improve the time complexity of the obtained algorithm to O(n 2 log n) .The basic idea is to use AVL trees and max-heaps to store the lateness values of the jobs so that it takes only O(log n) time to find a job violat- ing its inequality.Please refer to Cormen et al. (2009) for AVL trees and max-heaps as well as their elementary operations.
During the implementation of Algorithm EDD-MoveLeft, we will maintain an array, Aglobal, to store the completion times of all the jobs in the current schedule.The j-th position of Aglobal stores the completion time of job J j (i.e., the comple- tion time of its specific component), j = 1, 2, … , n .Each job-block has an indicator 58 Page 10 of 13 which shows the position of its decision job in Aglobal.By these indicators, we immediately know the content of each job-block.
For each job-block, there is an AVL tree which stores the lateness values of its jobs.Let the lateness of the job-block be defined as the largest lateness value of its jobs.We use a max-heap, Hglobal, to store the lateness values of all nonempty jobblocks in the current schedule.Hence, we can extract the L max value of the schedule (stored in the root of Hglobal) in O(log n) time, ensuring to find a job violating its inequality in O(log n) time.
Suppose that we are adjusting Step 2.1 of Algorithm EDD-MoveLeft, and we find job J k ∈ F (h)  i violating its inequality.We illustrate how to maintain the array, the AVL trees and the max-heap efficiently.Let F (h)  i,1 denote the set of the jobs to be moved from F (h)  i to F (h) i−1 (i.e., F (h) i,1 is the set of all the jobs with due dates no more than d k in F (h)  i ).Accordingly, let (h) i,1 and (h) i,1 denote the standard and specific components of the jobs in F (h)  i,1 , respectively.Let p( (h) i,1 ) = ∑ p (1) j .Consider the following two different cases.Case 1. F (h)  i−1 ≠ ∅.After the jobs in F (h)  i,1 are moved into F (h) i−1 , the completion times of the jobs in F (h)  i−1 (before its update), and thus their lateness values, will increase by p( (h) i,1 ) .The completion times and lateness values of the jobs in F (h)  i,1 will also change.All the other jobs keep their completion times and lateness values unchanged.
It is easy to update the lateness values of the jobs in F (h) i−1 .We just add a new field called increment, denoted by inc(F (h)  i−1 ) , in the AVL tree T(F (h) i−1 ) which stores the lateness values of the jobs in F (h)  i−1 .The initial value of the increment is zero.At this moment, we set inc(F (h)  i−1 ) = inc(F (h) i−1 ) + p( (h) i,1 ) .With the help of inc(F (h)  i−1 ) , we can lazily update the lateness values of the jobs in F (h) i−1 which are stored in T(F (h)  i−1 ) ; we do not change these values at all.When a value is extracted from T(F (h)  i−1 ) in O(log n) time, we can get the true lateness by simply adding the amount inc(F (h)  i−1 ) to the extracted value.It is also easy to update the lateness values of the jobs in F (h)  i,1 , since we know the completion time of F , which is equal to the completion time of the decision job of F (h)  i−1 stored in Aglobal.At this moment, we update We remove from T(F (h)  i ) the old lateness values of the jobs in F (h) i,1 , and insert their new lateness values minus inc(F . Update Hglobal accordingly.Only the lateness values of F (h) i and F (h)  i−1 in Hglobal need to be updated.The new lateness value of F (h)  i ( F (h) i−1 , resp.) is equal to the maximum value stored in T(F (h) i ) ( T(F (h) i−1 ) , resp.) plus the corresponding increment.
Since moving a job to the left once can be accomplished in O(log n) time and there are O(n 2 ) movements, it takes O(n 2 log n) time to deal with this case.
Case 2. F (h) i−1 = ∅.After the jobs in F (h)  i,1 are moved into F (h) i−1 , the completion times of all the jobs will change, since there is a necessary setup time s in F (h)  i−1 .Thus, we recalculate the completion times of all the jobs and store them in Aglobal.We build an AVL tree for storing the lateness values of the jobs in F (h)  i−1 in O(n log n) time.Update inc(F (h)  q ) to be its old value plus s, q = i, i + 1, … , n .Update Hglobal accordingly.The lateness values of all nonempty job-blocks need to be updated.Since this case occurs at most n − 1 times, it takes O(n 2 log n) time to deal with it.
The array Aglobal and max-heap Hglobal have sizes of n.The AVL trees have n nodes in total.Hence, we get: Theorem 9 A careful implementation of Algorithm EDD-MoveLeft leads to an O(n 2 log n)-time algorithm for 1|(p (1) j , p (2) j ), batch|(C max , L max ) with O(n) memory requirements.

Conclusions
In this paper we studied the bicriteria problem of scheduling jobs with due dates and two components on a single fabrication machine to minimize makespan and maximum lateness simultaneously, under the assumption of batch availability of the standard components.We presented an O(n 2 log n)-time algorithm with linear memory requirements which can generate all Pareto optimal points and find a corresponding Pareto optimal schedule for each Pareto optimal point.Note that there are several recent papers on Pareto optimization batch scheduling which dealt with makespan and maximum cost (Geng et al. 2018;He et al. 2020He et al. , 2022;;Gao 2022;Gao et al. 2022).These research papers discussed the problems (such as serial batch or parallel batch) which are different from that studied in this paper.Since maximum lateness is a special case of maximum cost, for future research, a vexing problem is to consider Pareto optimization scheduling of two-component jobs for maximum cost instead of makespan, in combination with maximum cost or a general min-sum objective function.

Declarations
Conflict of interest The authors certify that they have no affiliations with or involvement in any organization or entity with any financial interest or non-financial interest in the subject matter or materials discussed in this manuscript.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long 58 Page 12 of 13 as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made.The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material.If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.To view a copy of this licence, visit http://creativecommons.org/ licenses/by/4.0/.