Home Mathematics Scheduling equal-length jobs with arbitrary sizes on uniform parallel batch machines
Article Open Access

Scheduling equal-length jobs with arbitrary sizes on uniform parallel batch machines

  • Xiao Xin , Muhammad Ijaz Khan and Shuguang Li EMAIL logo
Published/Copyright: February 28, 2023

Abstract

We consider the problem of scheduling jobs with equal lengths and arbitrary sizes on uniform parallel batch machines with different capacities. Each machine can only process the jobs whose sizes are not larger than its capacity. Several jobs can be processed as a batch simultaneously on a machine, as long as their total size does not exceed the machine’s capacity. The objective is to minimize makespan. Under a divisibility constraint, we obtain two efficient exact algorithms. For the general problem, we obtain an efficient 2-approximation algorithm. Previous work has shown that the problem cannot be approximated to within an approximation ratio better than 2, unless P = NP, even when all machines have identical speeds and capacities.

MSC 2010: 90B35; 68Q25

1 Introduction

In today’s competitive environment, batch processing is a very common procedure in many manufacturing fields such as metalworking, and wafer fabrication for the avoidance of setups and/or facilitation of material handling [1,2]. A batch is defined as a group of jobs that have to be processed jointly and a batch scheduling problem consists of grouping jobs on each machine into batches that are scheduled either in serial (called serial batch) or in parallel (called parallel batch). For the serial batch, the processing time of a batch equals to the sum of the processing times of its jobs, while for the parallel batch, the processing time of a batch equals to the largest processing time of its jobs. In this article, we consider the parallel batch scheduling model.

There are numerous applications of parallel batch mentioned in the literature, such as aircraft manufacturing, automobile gear manufacturing and healthcare. However, the bulk of the literature on parallel batch scheduling deals with the semiconductor industry [24], which has already become one of the largest industries in the world. Nowadays microprocessors, memory chips and other semiconductor-related devices appear in electronics as a part of real daily life ranging from personal computers to cellular phones. Semiconductor manufactures need to utilize their resources effectively to confront the huge demand and severe competition in the marketplace. Consequently, efficient scheduling is of great concern to overall performance.

Real-world production systems usually require batch processing machines arranged in parallel in order to prevent the system from being blocked by the unavailability (e.g., breakdown) of a single machine. To make a scheduling problem closer to the real-world situation, the constraints of non-identical job sizes should be considered. Moreover, batch processing machines often have different capacities and may run at different speeds.

1.1 Problem formulation

In this article, we consider the following problem of scheduling n independent jobs on m uniform parallel batch machines. Let J = { 1 , 2 , , n } denote the set of all jobs and = { M 1 , M 2 , , M m } the set of all machines. Job j J ( j = 1 , 2 , , n ) has a length p j 0 and a size s j > 0 . All jobs are available from time zero onwards. Machine M i ( i = 1 , 2 , , m ) has a speed v i and a capacity K i . The processing time of job j is p j / v i if j is processed on machine M i . The machines are indexed such that K 1 K 2 K m . For any job j , s j K m holds. However, it is possible that s j > K i for some i and j . Machine M i can process several jobs as a batch simultaneously as long as the total size of these jobs does not exceed K i . The length p ( B g ) of batch B g is determined by the longest length of all the jobs in B g . The processing time of batch B g is p ( B g ) / v i if B g is processed on machine M i . The goal is to find a schedule to minimize the makespan which is defined as C max = max j C j , where C j denotes the completion time of job j in the schedule. Using the notation proposed in [5,6], this problem can be denoted as Q s j , p -batch , K i C max . We focus on the special case where all jobs have equal lengths, i.e., Q s j , p j = p , p -batch , K i C max . The special case of Q s j , p j = p , p -batch , K i C max where all machines have identical speeds is denoted as P s j , p j = p , p -batch , K i C max .

Note that 1 s j , p j = p , p -batch , B C max (the special case of Q s j , p j = p , p -batch , K i C max where m = 1 ) is just the standard bin-packing problem [7]. It is strongly NP-hard and cannot be approximated to within an approximation ratio better than 3/2, unless P = NP [8]. On the other hand, Dosa et al. [9] proved that P s j , p j = p , p -batch , B C max cannot be approximated to within an approximation ratio better than 2, unless P = NP. Hence, Q s j , p j = p , p -batch , K i C max cannot be approximated to within an approximation ratio better than 2, unless P = NP.

1.2 Literature review

In recent years, a body of research has started to address the parallel batch scheduling problems. For a detailed review of the existing results, please refer to [14].

This article is motivated by [10,11]. Wang and Leung [10] studied P s j , p j = p , p -batch , K i C max , and presented a 2-approximation algorithm. They also obtained an algorithm with asymptotic approximation ratio 3/2. Ozturk et al. [11] presented a 2-approximation algorithm for P r j , s j , p j = p , p -batch , B C max (jobs have unequal release times and machines have identical capacities B ). Inspired from a special case of the bin-packing problem [12], they also presented an efficient exact algorithm for a special case of P r j , s j , p j = p , p -batch , B C max where job sizes form a strongly divisible sequence (to be defined in Section 3), denoted as P r j , s j ( s t r o n g l y d i v i s i b l e ) , p j = p , p -batch , B C max .

Although the problem of scheduling parallel batch machines has been studied extensively in the last few decades, relatively little research has been done on the problem of scheduling uniform parallel batch machines with non-identical capacities [2,3]. Also, some research considered non-identical job sizes [13,14]. Li et al. [13] proposed several heuristics for the problem of scheduling uniform parallel batch machines with non-identical job sizes, unequal release times, identical capacities and makespan minimization. Zhou [14] proposed an effective discrete differential evolution (DDE) algorithm for the problem of scheduling uniform parallel batch machines with non-identical job sizes, unequal release times, non-identical capacities and makespan minimization. Both Li et al. [13] and Zhou et al. [14] assumed that largest job size fits in the machine with the smallest capacity, i.e., s j K 1 for all jobs j . Li et al. [15] proposed several heuristics for the problem of scheduling unrelated (the processing time of job j is p j i if j is processed on machine M i ) parallel batch machines with non-identical job sizes, equal release times, identical capacities and makespan minimization. Arroyo and Leung [16] proposed several heuristics for the problem of scheduling unrelated parallel batch machines with non-identical job sizes, unequal release times, identical capacities and makespan minimization.

Several papers are concerned with the problem of scheduling parallel batch machines (all machines have identical speeds) with non-identical job sizes, non-identical capacities and makespan minimization [10,1722]. Among them, [17,18] assumed that any job can fit in any machine, which is different from the problem we study in this article; while in [10,1922] there is no such restriction.

Many recent research results contain complexity, mathematical models, as well as heuristic/meta-heuristic algorithms and are also related to different production areas. Some of them but not all, please see [2328]. Note that in [28], Li discussed the problem of scheduling equal-length jobs with processing set restrictions on uniform parallel batch machines, where all jobs have the same size. However, in this article, we focus on the case of arbitrary job sizes.

1.3 Contribution and organization

For the case of equal release times, we can extend the results obtained in [10,11] to uniform parallel batch machines, allowing non-identical capacities. To the best of our knowledge, Q s j , p j = p , p -batch , K i C max has not been studied to date. Only its special cases P s j , p j = p , p -batch , K i C max and P s j , p j = p , p -batch , B C max have been studied in [10,11].

The organization of the article is as follows. Section 2 provides preliminaries and notations. In Section 3, we consider the special case of Q s j , p j = p , p -batch , K i C max where job sizes form a divisible sequence (to be defined in Section 3), denoted as Q s j ( d i v i s i b l e ) , p j = p , p -batch , K i C max . We present two efficient exact algorithms for this case. In Section 4, we present an efficient 2-approximation algorithm for Q s j , p j = p , p -batch , K i C max . In Section 5, we conclude this article and discuss future research directions.

2 Preliminaries and notations

Before we proceed, we introduce some useful notations. Let K 0 = 0 . Let J i = { j J K i 1 < s j K i } , i = 1 , 2 , , m . It is possible that J i = for some i . We have J = i = 1 m J i . Call { M i , M i + 1 , , M m } the processing set of job j J i . Call M i , M i + 1 , , M m the eligible machines of job j J i . Job j J i is called eligible for each machine in { M i , M i + 1 , , M m } .

Throughout this article, let OPT denote the makespan of an optimal schedule for the problem under consideration. Clearly, there is an optimal schedule in which the batches assigned to the same machine are processed successively, without any idle time between them. There are at most n batches on each machine, and the k th batch on M i starts at time ( k 1 ) p / v i , k = 1 , 2 , , i = 1 , 2 , , m . Thus, as in [29], we consider at most m n possible values for OPT . These values can be sorted in ascending order in O ( m n log m ) time by merging m -ordered lists of length O ( n ) using a divide-and-conquer approach (see [30], Section 2.7).

3 Scheduling with divisible job sizes

In this section, we consider a special case where the job sizes form a divisible sequence, i.e., for any two jobs j 1 and j 2 in J such that s j 1 s j 2 , s j 2 exactly divides s j 1 . We also say that J has divisible job sizes. For a given batch capacity B , the pair ( J , B ) is called weakly divisible if J has divisible job sizes and strongly divisible if in addition the largest job size exactly divides B [12].

Divisible job sizes are of interest because they arise naturally in certain applications and because some NP-hard problems produce substantially better solutions for such sets of jobs, see, e.g., [11,12,3134].

Ozturk et al. [11] presented an exact algorithm running in O ( n 2 log n ) time for P r j , s j (strongly divisible), p j = p , p -batch , B C max (job sizes and the common machine capacity are strongly divisible). For the case of equal release times, we can generalize the result to uniform parallel batch machines with non-identical capacities and require only the weakly divisible job sizes. The problem can be denoted as Q s j ( d i v i s i b l e ) , p j = p , p -batch , K i C max .

Lemma 1

[12] If J has divisible job sizes, then any set of jobs from J that individually do not exceed s j and that in total sum to at least s j must contain a subset that sums exactly to s j , where s j denotes the size of job j .

At the beginning, we do the following preprocessing in O ( n log n ) time: Sort all the jobs in J i ( i = 1 , 2 , , m ) in non-increasing order of their sizes, and let J i denote the ordered list.

We use a binary search to determine OPT in O ( log ( m n ) ) iterations. In each iteration, we select a target makespan T and attempt to construct a schedule with makespan at most T by the following Assignment A procedure, or determine that it is impossible to do so. The procedure handles the machines in increasing order of their indices. (Recall that the machines are indexed in the non-decreasing order of their capacities.) Suppose that the procedure is handling machine M i . In the procedure, U i represents the ordered list of unassigned eligible jobs for M i . The jobs in U i are sorted in non-increasing order of their sizes. From among the jobs in U i which can be accommodated in a batch (ties broken in favor of the earliest batch) on M i , the procedure selects and assigns the job which has the largest size into this batch. Repeat this process until any job in U i cannot be filled into any batch on M i . Then the procedure proceeds to handle machine M i + 1 .

Assignment A( T ):

  1. Let U 0 = , i = 1 .

  2. While i m , do:

    1. Let U i = J i U i 1 , where denotes the concatenation of the ordered lists J i and U i 1 . Imagine there are min { n , T v i / p } empty batches of length p and capacity K i processed successively on machine M i , with the first one started at time zero. (Do not construct these batches explicitly.)

    2. If U i , then we assign the first job in U i into a batch on M i such that the total size of the jobs in this batch does not exceed K i (ties broken in favor of the batch which is started earliest). Delete this job from U i . Repeat this process until U i = or each of the min { n , T v i / p } batches on M i has an unused capacity less than the size of the first job in U i . In the latter case, we do a binary search in U i to find the largest job which can be filled into a non-empty batch on M i without exceeding K i . Assign this job to such a batch that is started earliest and delete the job from U i . We repeat the process until any job in U i cannot be filled into any batch on M i without exceeding K i (i.e., each of the min { n , T v i / p } batches on M i has an unused capacity less than any size of the jobs in U i ).

    3. Let i = i + 1 .

Lemma 2

If OPT T , Assignment A will generate a feasible schedule in O ( m + n log n ) time for Q s j (divisible), p j = p , p - batch , K i C max whose makespan is at most T.

Proof

We need to prove that if OPT T , then U m = when Assignment A terminates. Thus, a feasible schedule will be generated.

Let Σ be an optimal schedule. Let Σ be the schedule generated by Assignment A. Let k i denote the number of batches processed on machine M i in Σ . Let k i denote the number of actually generated (i.e., non-empty) batches processed on machine M i in Σ .

Label the batches on M 1 in Σ in increasing order of their start times as B 1 , B 2 , , B k 1 . Label the batches on M 2 in Σ in increasing order of their start times as B k 1 + 1 , B k 1 + 2 , , B k 1 + k 2 . Repeat this label process for the batches on the other machines. Finally, label the batches on M m in Σ in increasing order of their start times as B k 1 + k 2 + + k m 1 + 1 , , B k 1 + k 2 + + k m 1 + k m . Accordingly, label the batches in Σ on the corresponding positions as B 1 , B 2 , , B k 1 + k 2 + + k m 1 + k m . Since OPT T , some batches among B 1 , B 2 , , B k 1 + k 2 + + k m 1 + k m may be empty.

We will modify Σ in such a way that batches B 1 , B 2 , , B k 1 + k 2 + + k m 1 + k m become B 1 , B 2 , , B k 1 + k 2 + + k m 1 + k m one by one. In the end, Σ is modified into Σ . It follows that U m = when Assignment A terminates.

For simplicity of notation, assume for the moment that batch B 1 consists of jobs 1 , 2 , n such that s 1 s 2 s n . Consider batch B 1 . Suppose that B 1 contains jobs 1 , 2 , h , but does not contain job h + 1 , where h + 1 n . Let B denote the batch containing job h + 1 in Σ ( B may be processed on a machine other than M 1 ). Let A denote the set of jobs in B 1 but not in B 1 . By Step 2(ii) of Assignment A, each job in A has size at most s h + 1 . Now, by Lemma 1, either the total size of the jobs in A is less than s h + 1 or some subset of those jobs sums exactly to s h + 1 . In either case, we can exchange the corresponding jobs in B 1 and job h + 1 in B , such that job h + 1 appears in (modified) B 1 . Repeat the process until batch B 1 appears in (modified) Σ .

Repeat the aforementioned process to modify batches B 2 , B 3 , , B k 1 + k 2 + + k m 1 + k m in order until Σ becomes Σ . Hence, Assignment A will generate a feasible schedule whose makespan is at most T .

It remains to offer an implementation of Assignment A, which gives the required time complexity. Clearly, the overall running time of the procedure is dominated by Step 2(ii). Note that we handle an empty batch on M i only when the first job in U i (which has the largest size among the jobs in U i ) cannot be accommodated in any non-empty batches on M i . If an empty batch is handled, at least one job will be filled in it. It follows that i = 1 m k i n .

Each iteration of Step 2(ii) can be executed by a naive quadratic time implementation. Also, there are easy implementations such that each iteration of Step 2(ii) can be executed in sub-quadratic time, leading to an overall running time O ( m n log n ) of Assignment A. However, Step 2(ii) behaves very much like the First Fit algorithm for the bin-packing problem [7,35], in that it assigns the jobs depending predominantly on the order of the batches in the original left to right sequence. We can adapt a binary tree data structure used for the First Fit algorithm [35] to execute (all iterations of) Step 2(ii) in sub-quadratic time, thus leading to an overall running time O ( m + n log n ) of Assignment A.

Precisely, in the i -iteration of Step 2(ii), we will construct a binary tree of depth O ( log k i ) with k i leaves corresponding to the actually generated batches B k 1 + k 2 + + k i 1 + 1 , , B k 1 + k 2 + + k i 1 + k i on M i , in sequence from left to right. The k i leaves are labeled with the unused capacities of the corresponding actually generated batches on M i . Each internal node is labeled with the larger of the labels of its (at most) two sons, and hence the largest unused capacity over all the actually generated batches corresponding to the leaves which descend from that node.

The tree is constructed incrementally, which is different from [35]. Let leaves denote the number of its current leaves. Initially, l e a v e s = 1 and the tree consists of only one leaf whose label is K i . It grows in two phases, but the second phase may possibly not exist. Moreover, the tree grows new leaves only in the first phase. In the second phase, the labels of the nodes may decrease, but no new leaf will appear.

In the first phase, we scan U i and every job encountered must be assigned to M i . The first phase ends when U i = , or l e a v e s = min { n , T v i / p } but the first job in U i cannot be filled into a non-empty batch on M i without exceeding K i . Only in the latter case, the second phase begins. In the second phase, we stop scanning U i . Instead, we do a binary search in U i to find the largest job which can be filled into a non-empty batch on M i without exceeding K i (ties broken in favor of the first such job in U i ). Assign this job to such a batch that is started earliest and delete it from U i . We repeat the process until any job in U i cannot be filled into a non-empty batch on M i without exceeding K i , and the second phase ends.

Below, let us illustrate the implementation details.

In the first phase, we scan U i from the first job to the last job. For each job encountered, we check the label of the tree root. There are two different cases to consider:

Case 1. The label of the root is not less than the size of the job.

In this case, the job can be filled into a batch on M i which corresponds to a leaf of the tree, without exceeding K i . To assign the job, we traverse the tree, from the root to a leaf, by always taking the leftmost node whose label is not less than the size of the job. Fill the job into the batch corresponding to the destination leaf.

The path from the tree root to the destination leaf is an updating path. Update the labels of the nodes on the updating path as follows. First, let the label of the destination leaf be equal to its value minus the size of the job. Then, proceed back up the updating path and relabel the label of each internal node with the larger of the labels of its (at most) two sons. Keep l e a v e s unchanged. Delete this job from U i .

Case 2. The label of the root is less than the size of the job.

In this case, the job cannot be filled into a non-empty batch on M i without exceeding K i . There are two different cases to consider:

Subcase 2.1. l e a v e s < min { n , T v i / p } .

We fill this job into an empty batch which starts earliest on M i . Delete this job from U i . If the tree has no node of degree one, then insert a new node as the tree root whose left son is the old root. Insert a new leaf u in the tree as the right son of the lowest node w of degree one. Leaf u corresponds to the batch accommodating the job and its label is K i minus the size of the job. If u is not on the same depth as all the other leaves, then insert several new nodes w 1 , w 2 , , w b on the edge w , u such that leaf u is on the same depth as all the other leaves. Node w 1 is the right son of w , while node w a + 1 is the left son of w a , a = 1 , 2 , , b 1 , and leaf u becomes the left son of w b . The path from the tree root to u is an updating path. Update the labels of the nodes back up the updating path such that each internal node is labeled with the larger of the labels of its (at most) two sons. Let l e a v e s = l e a v e s + 1 .

Subcase 2.2. l e a v e s = min { n , T v i / p } .

It indicates that the first phase ends, and we have to enter the second phase.

Constructing the binary tree used in the i -iteration can be done in O ( k i log k i ) time, since the tree has only k i leaves and its depth is O ( log k i ) . Using the tree, in the first phase, we can assign a job in Q i into a batch on M i (Case 1 and Subcase 2.1) in O ( log k i ) time. Since i = 1 m k i n , constructing the binary trees in all m iterations can be accomplished in O ( m + n log n ) time. Assigning jobs into batches in the first phase in all m iterations can also be accomplished in O ( m + n log n ) time. (Each machine has to be checked once, though some machines may process no batches at all.)

In the second phase, using a binary search in U i instead of scanning it, we find the largest job in U i whose size is not larger than the label of the root (ties broken in favor of the first such job in U i ). Assign this job into a non-empty batch on M i without exceeding K i via the constructed binary tree (as described in Case 1), and delete it from U i . We update the labels of the tree accordingly. Repeat this process until any job in U i has a size larger than the label of the root, indicating that no job can be filled into a non-empty batch on M i without exceeding K i . The second phase ends.

Assigning each job to a batch in the second phase can be done in O ( log n ) time. Assigning jobs into batches in the second phase in all m iterations can be accomplished in O ( n log n ) time.

Hence, the time complexity of Assignment A is O ( m + n log n ) .□

Example 1

Here is an example to illustrate how the binary tree grows. Fix a particular machine M i . In U i , there are six jobs of size 8, six jobs of size 4, two jobs of size 2 and two jobs of size 1, sorted in non-increasing order of their sizes. The job sizes form a divisible sequence. Let K i = 13 and min { n , T v i / p } = 3 . Each of the first three jobs in U i will be filled into an empty batch. For ease of explanation, during the illustration we will not delete the assigned jobs from U i . The state of the binary tree after the first three jobs of size 8 are assigned is shown in Figure 1. The assigned jobs (represented by their sizes) are provided at the leaves of the tree, and the labels of all the nodes are also provided.

Figure 1 
               Tree directory for the Implementation of Step 2(ii), after assigning the first three jobs of size 8.
Figure 1

Tree directory for the Implementation of Step 2(ii), after assigning the first three jobs of size 8.

The next three jobs of size 8 cannot fit in any non-empty batch and have to be left over (to be assigned in the next iterations). Among them, the first one tells us that the second phase begins. Then, the first three jobs of size 4 can be assigned, and we assign each of them to a different non-empty batch. The state of the binary tree after the first three jobs of size 4 are assigned is shown in Figure 2.

Figure 2 
               Tree directory for the Implementation of Step 2(ii), after assigning the first three jobs of size 4.
Figure 2

Tree directory for the Implementation of Step 2(ii), after assigning the first three jobs of size 4.

Now, the unused capacity of each existing batch is 1. Neither the next three jobs of size 4 nor the two jobs of size 2 can be filled in. These jobs have to be left over. Only the two jobs of size 1 can be assigned, and we assign them in the first two batches. The state of the binary tree after the two jobs of size 1 are assigned is shown in Figure 3. In final U i , there are three jobs of size 8, three jobs of size 4 and two jobs of size 2, sorted in non-increasing order of their sizes.

Figure 3 
               Tree directory for the Implementation of Step 2(ii), after assigning the two jobs of size 1.
Figure 3

Tree directory for the Implementation of Step 2(ii), after assigning the two jobs of size 1.

We can use the following Assignment A1 procedure instead of Assignment A. It runs in O ( m + n log n ) time, too. The analysis of its correctness and running time is similar to that of Lemma 2 and thus omitted.

The procedure handles the machines in decreasing order of their indices. In the procedure, U represents the ordered list of all unassigned jobs which are sorted in non-increasing order of their sizes. Initially, U = J , where J = J m J m 1 J 1 . (Recall that J i denotes the ordered list of the jobs in J i which are sorted in non-increasing order of their sizes, i = 1 , 2 , , m .) Suppose that the procedure is handling machine M i . In contrast with Assignment A, Assignment A1 knows the exact number of batches processed on M i beforehand. Consequently, this procedure is slightly simpler than Assignment A, since we can determine the binary tree structure statically. From among the jobs in U which can be accommodated in a batch (ties broken in favor of the earliest batch) on M i , the procedure selects and assigns the job which has the largest size into this batch. Repeat this process until any job in U cannot be filled into any batch on M i . Then the procedure proceeds to handle machine M i 1 .

Assignment A1 ( T ):

  1. Let U = J . Let k m + 1 = 0 . Let k i = min n l = i + 1 m + 1 k l , T v i / p , i = m , m 1 , , 1 .

  2. For i = m , m 1 , , 1 (this ordering is used crucially), if U do:

    1. Assign k i empty batches of length p and capacity K i to machine M i . Process these empty batches on M i successively, with the first one started at time zero.

    2. Construct a binary tree of depth O ( log k i ) with exactly k i leaves corresponding to the empty batches processed on M i , in sequence from left to right. The k i leaves are labeled with K i . Each internal node is also labeled with K i . Use this binary tree to assign the jobs in U to the batches processed on M i and delete the assigned jobs from U , and update the labels of the tree accordingly, until U = or we find a job which cannot be filled into any batch on M i without exceeding K i . In the latter case, if the job belongs to J i , then the procedure fails and terminates.

    3. If U , then we do a binary search to find the largest job in U which can be filled into a batch on M i without exceeding K i (ties broken in favor of the first such job in U ), assign this job to M i via the binary tree and delete the job from U . Update the labels of the tree accordingly. Repeat this process until any job in U cannot be filled into a batch on M i without exceeding K i .

We obtain the following theorem.

Theorem 1

There is an exact algorithm (the binary search together with Assignment A or Assignment A1) for Q s j (divisible), p j = p , p -batch , K i C max that runs in O ( m n log m + n log n log ( m n ) ) time.

Proof

The correctness of the algorithm follows from the aforementioned analysis. Procedure Assignment A (or Assignment A1) runs in O ( m + n log n ) time for any given value of T . Since there are O ( log ( m n ) ) iterations to determine OPT , the whole algorithm runs in O ( m n log m + n log n log ( m n ) ) time. (The first term comes from the sorting procedure performed once at the beginning.)□

4 An algorithm for the general case

We now turn to the general case of Q s j , p = p , p -batch , K i C max , eliminating the assumption of divisible job sizes. We will provide a 2-approximation algorithm for it. As illustrated in Section 1, 2 is the best possible ratio for this problem, unless P = NP [9].

Again, we restrict our attention on an optimal schedule where the k th batch on M i starts exactly at time ( k 1 ) p / v i , k = 1 , 2 , , i = 1 , 2 , , m . We consider at most m n possible values for OPT . These values can be sorted in ascending order in O ( m n log m ) time.

We can obtain all J i in O ( n + m ) time: Distribute the jobs with the same processing set into the same subset. It is worth pointing out that the jobs in J i are unsorted, i = 1 , 2 , , m .

We use a binary search to determine OPT in O ( log ( m n ) ) iterations. Use the following Assignment B procedure within the binary search. For each value T selected, Assignment B searches for a schedule with makespan at most T which allows one-job-overfull batches. A batch is a one-job-overfull batch if the total size of the jobs in it exceeds its capacity, but after removing one particular job from it, the total size of the left jobs does not exceed its capacity. The procedure handles the machines in increasing order of their indices. Suppose that the procedure is handling machine M i . In the procedure, U i represents the unordered set of unassigned eligible jobs for M i . The procedure repeatedly assigns the jobs in U into each batch on M i until the batch becomes a one-job-overfull batch, or until there are no jobs in U i , whichever occurs first. Then the procedure proceeds to handle machine M i + 1 .

Assignment B ( T ):

  1. Let U 0 = , i = 1 .

  2. While i m , do:

    1. Let U i = J i U i 1 . Let k i = 0 .

    2. While U i and k i < min { n , T v i / p } , do:

    3. Open a batch of length p and capacity K i . Fill the batch by repeatedly picking a job out of U i and putting it into the batch until the total size of the jobs in the batch exceeds K i . Assign this batch to machine M i . Let k i = k i + 1 .

    4. Let i = i + 1 .

Lemma 3

If OPT T , Assignment B will generate a schedule allowing one-job-overfull batches in O ( m + n ) time for Q s j , p j = p , p -batch , K i C max whose makespan is at most T .

We obtain:

Theorem 2

There is a 2-approximation algorithm for Q s j , p j = p , p -batch , K i C max that runs in O ( m n log m + n log ( m n ) ) time.

Proof

The binary search equipped with Assignment B will return a schedule allowing one-job-overfull batches for Q s j , p j = p , p -batch , K i C max whose makespan is at most OPT . In the last step of the algorithm, for each one-job-overfull batch in the schedule, we open a new batch for the last packed job in it and process the new batch immediately after it on the same machine. Therefore, the final schedule has makespan at most 2 OPT .□

Note that a bottleneck operation in the algorithm is the sorting procedure performed once at the beginning.

5 Conclusion

In this article, we investigated the problem of minimizing makespan for scheduling jobs with equal lengths and arbitrary sizes on uniform parallel batch machines with different capacities. Each machine can only process the jobs whose sizes are not larger than the machine’s capacity. We presented two exact algorithms under a divisibility constraint, and a 2-approximation algorithm for the general problem. These algorithms are of practical significance, since they are efficient and easy to implement. A future research topic is to investigate some other objective functions for parallel batch scheduling problems with equal job lengths and arbitrary job sizes.

Acknowledgments

The authors would like to thank the editor and the referees for their helpful comments in improving the quality of the article.

  1. Funding information: This work was supported by Natural Science Foundation of Shandong Province China (No. ZR2020MA030).

  2. Author contributions: All authors contributed equally to the writing of this article. All authors read and approved the final manuscript.

  3. Conflict of interest: The authors state no conflict of interest.

  4. Data availability statement: No data, models, or code are generated or used during the study.

References

[1] C. N. Potts and M. Y. Kovalyov, Scheduling with batching: a review, European J. Oper. Res. 120 (2000), 228–249. 10.1016/S0377-2217(99)00153-8Search in Google Scholar

[2] J. W. Fowler and L. Mönch, A survey of scheduling with parallel batch (p-batch) processing, European J. Oper. Res. 298 (2022), 1–24. 10.1016/j.ejor.2021.06.012Search in Google Scholar

[3] M. Mathirajan and A. Sivakumar, A literature review, classification and simple meta-analysis on scheduling of batch processors in semiconductor, Int. J. Adv. Manuf. Technol. 29 (2006), 990–1001. 10.1007/s00170-005-2585-1Search in Google Scholar

[4] L. Mönch, J. W. Fowler, S. Dauzère-Pérès, S. J. Mason, and O. Rose, A survey of problems, solution techniques, and future challenges in scheduling semiconductor manufacturing operations, J. Sched. 14 (2011), 583–599. 10.1007/s10951-010-0222-9Search in Google Scholar

[5] R. L. Graham, E. L. Lawler, J. K. Lenstra, and A. R. Kan, Optimization and approximation in deterministic sequencing and scheduling: a survey, Ann. Discr. Math. 5 (1979), 287–326. 10.1016/S0167-5060(08)70356-XSearch in Google Scholar

[6] P. Brucker, Scheduling Algorithms, 5th edition, Springer, Berlin, Heidelberg, New York, 2007. Search in Google Scholar

[7] E. G. Coffman, M. R. Garey, and D. S. Johnson, Approximation algorithms for bin packing: A survey, Approximation Algorithms for NP-hard Problems, PWS Publishing Co., Boston, MA, USA, 1996, pp. 46–93. 10.1007/978-3-7091-4338-4_3Search in Google Scholar

[8] M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-completeness, Freeman, New York, 1979. Search in Google Scholar

[9] G. Dosa, Z. Tan, Z. Tuza, Y. Yan, and C. S. Lanyi, Improved bounds for batch scheduling with nonidentical job sizes, Naval Res. Logist. 61 (2014), 351–358. 10.1002/nav.21587Search in Google Scholar

[10] J.-Q. Wang and J. Y.-T. Leung, Scheduling jobs with equal-processing-time on parallel machines with non-identical capacities to minimize makespan, Int. J. Prod. Econ. 156 (2014), 325–331. 10.1016/j.ijpe.2014.06.019Search in Google Scholar

[11] O. Ozturk, M.-L. Espinouse, M. D. Mascolo, and A. Gouin, Makespan minimisation on parallel batch processing machines with non-identical job sizes and release dates, Int. J. Prod. Res. 50 (2012), 6022–6035. 10.1080/00207543.2011.641358Search in Google Scholar

[12] E. G. Coffman, M. R. Garey, and D. S. Johnson, Bin packing with divisible item sizes, J. Complexity 3 (1987), 406–428. 10.1016/0885-064X(87)90009-4Search in Google Scholar

[13] X. Li, H. Chen, B. Du, and Q. Tan, Heuristics to schedule uniform parallel batch processing machines with dynamic job arrivals, Int. J. Comput. Integr. Manuf. 26 (2013), 474–486. 10.1080/0951192X.2012.731612Search in Google Scholar

[14] S. Zhou, M. Liu, H. Chen, and X. Li, An effective discrete differential evolution algorithm for scheduling uniform parallel batch processing machines with non-identical capacities and arbitrary job sizes, Int. J. Prod. Econ. 179 (2016), 1–11. 10.1016/j.ijpe.2016.05.014Search in Google Scholar

[15] X. Li, Y. Huang, Q. Tan, and H. Chen, Scheduling unrelated parallel batch processing machines with non-identical job sizes, Comput. Oper. Res. 40 (2013), 2983–2990. 10.1016/j.cor.2013.06.016Search in Google Scholar

[16] J. E. C. Arroyo and J. Y.-T. Leung, Scheduling unrelated parallel batch processing machines with non-identical job sizes and unequal ready times, Comput. Oper. Res. 78 (2017), 117–128. 10.1016/j.cor.2016.08.015Search in Google Scholar

[17] S. Xu and J. C. Bean, A genetic algorithm for scheduling parallel non-identical batch processing machines, IEEE Symposium on Computational Intelligence in Scheduling, Honolulu, HI, USA, 2007, pp. 143–150. 10.1109/SCIS.2007.367682Search in Google Scholar

[18] H.-M. Wang and F.-D. Chou, Solving the parallel batch-processing machines with different release times, job sizes, and capacity limits by metaheuristics, Expert Syst. Appl. 37 (2010), 1510–1521. 10.1016/j.eswa.2009.06.070Search in Google Scholar

[19] P. Damodaran, D. A. Diyadawagamage, O. Ghrayeb, and M. C. Velez-Gallego, A particle swarm optimization algorithm for minimizing makespan of nonidentical parallel batch processing machines, Int. J. Adv. Manuf. Technol. 58 (2012), 1131–1140. 10.1007/s00170-011-3442-zSearch in Google Scholar

[20] Z.-H. Jia, K. Li, and J. Y.-T. Leung, Effective heuristic for makespan minimization in parallel batch machines with non-identical capacities, Int. J. Prod. Econ. 169 (2015), 1–10. 10.1016/j.ijpe.2015.07.021Search in Google Scholar

[21] Z.-H. Jia, T. T. Wen, J. Y.-T. Leung, and K. Li, Effective heuristics for makespan minimization in parallel batch machines with non-identical capacities and job release times, J. Ind. Manag. Optim. 13 (2017), 977–993. 10.3934/jimo.2016057Search in Google Scholar

[22] S. Li, Approximation algorithms for scheduling jobs with release times and arbitrary sizes on batch machines with non-identical capacities, European J. Oper. Res. 263 (2017), 815–826. 10.1016/j.ejor.2017.06.021Search in Google Scholar

[23] A. Gürsoy, Optimization of product switching processes in assembly lines, Arab. J. Sci. Eng. 2022 (2022), 1–16. 10.1007/s13369-021-06430-9Search in Google Scholar

[24] F. Zheng, Y. Chen, M. Liu, and Y. Xu, Competitive analysis of online machine rental and online parallel machine scheduling problems with workload fence, J. Comb. Optim. 44 (2022), 1060–1076. 10.1007/s10878-022-00882-xSearch in Google Scholar

[25] A. Gürsoy and N. K. Gürsoy, On the flexibility constrained line balancing problem in lean manufacturing, Textile Apparel. 25 (2015), 345–351. Search in Google Scholar

[26] R. Zhang, P.-C. Chang, S. Song, and C. Wu, A multi-objective artificial bee colony algorithm for parallel batch-processing machine scheduling in fabric dyeing processes, Knowl. Based Syst. 116 (2017), 114–129. 10.1016/j.knosys.2016.10.026Search in Google Scholar

[27] A. Gürsoy, An integer model and a heuristic algorithm for the flexible line balancing problem, Textile Apparel. 22 (2012), 58–63. Search in Google Scholar

[28] S. Li, Efficient algorithms for scheduling equal-length jobs with processing set restrictions on uniform parallel batch machines, Math. Biosci. Eng. 19 (2022), 10731–10740. 10.3934/mbe.2022502Search in Google Scholar PubMed

[29] C. L. Li, Scheduling unit-length jobs with machine eligibility restrictions, European J. Oper. Res. 174 (2006), 1325–1328. 10.1016/j.ejor.2005.03.023Search in Google Scholar

[30] A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley Publ. Comp. London-Amsterdam-Don Mills-Sydney, 1974. Search in Google Scholar

[31] J. Kang and S. Park, Algorithms for the variable sized bin packing problem, European J. Oper. Res. 147 (2003), 365–372. 10.1016/S0377-2217(02)00247-3Search in Google Scholar

[32] A. Bar-Noy, R. E. Ladner, and T. Tamir, Windows scheduling as a restricted version of bin packing, ACM Trans. Algorithms 3 (2007), 28-es. 10.1145/1273340.1273344Search in Google Scholar

[33] P. Detti, A polynomial algorithm for the multiple knapsack problem with divisible item sizes, Inform. Process. Lett. 109 (2009), 582–584. 10.1016/j.ipl.2009.02.003Search in Google Scholar

[34] G. Wang and L. Lei, Polynomial-time solvable cases of the capacitated multi-echelon shipping network scheduling problem with delivery deadlines, Int. J. Prod. Econ. 137 (2012), 263–271. 10.1016/j.ijpe.2012.02.006Search in Google Scholar

[35] D. S. Johnson, Near-optimal Bin Packing Algorithms, Ph.D. thesis, Massachusetts Institute of Technology, Department of Mathematics, Cambridge, 1973. Search in Google Scholar

Received: 2022-08-05
Revised: 2023-01-18
Accepted: 2023-01-31
Published Online: 2023-02-28

© 2023 the author(s), published by De Gruyter

This work is licensed under the Creative Commons Attribution 4.0 International License.

Articles in the same Issue

  1. Special Issue on Future Directions of Further Developments in Mathematics
  2. What will the mathematics of tomorrow look like?
  3. On H 2-solutions for a Camassa-Holm type equation
  4. Classical solutions to Cauchy problems for parabolic–elliptic systems of Keller-Segel type
  5. Control of multi-agent systems: Results, open problems, and applications
  6. Logical perspectives on the foundations of probability
  7. Subharmonic solutions for a class of predator-prey models with degenerate weights in periodic environments
  8. A non-smooth Brezis-Oswald uniqueness result
  9. Luenberger compensator theory for heat-Kelvin-Voigt-damped-structure interaction models with interface/boundary feedback controls
  10. Special Issue on Fractional Problems with Variable-Order or Variable Exponents (Part II)
  11. Positive solution for a nonlocal problem with strong singular nonlinearity
  12. Analysis of solutions for the fractional differential equation with Hadamard-type
  13. Hilfer proportional nonlocal fractional integro-multipoint boundary value problems
  14. A comprehensive review on fractional-order optimal control problem and its solution
  15. The θ-derivative as unifying framework of a class of derivatives
  16. Review Articles
  17. On the use of L-functionals in regression models
  18. Minimal-time problems for linear control systems on homogeneous spaces of low-dimensional solvable nonnilpotent Lie groups
  19. Regular Articles
  20. Existence and multiplicity of solutions for a new p(x)-Kirchhoff problem with variable exponents
  21. An extension of the Hermite-Hadamard inequality for a power of a convex function
  22. Existence and multiplicity of solutions for a fourth-order differential system with instantaneous and non-instantaneous impulses
  23. Relay fusion frames in Banach spaces
  24. Refined ratio monotonicity of the coordinator polynomials of the root lattice of type Bn
  25. On the uniqueness of limit cycles for generalized Liénard systems
  26. A derivative-Hilbert operator acting on Dirichlet spaces
  27. Scheduling equal-length jobs with arbitrary sizes on uniform parallel batch machines
  28. Solutions to a modified gauged Schrödinger equation with Choquard type nonlinearity
  29. A symbolic approach to multiple Hurwitz zeta values at non-positive integers
  30. Some results on the value distribution of differential polynomials
  31. Lucas non-Wieferich primes in arithmetic progressions and the abc conjecture
  32. Scattering properties of Sturm-Liouville equations with sign-alternating weight and transmission condition at turning point
  33. Some results for a p(x)-Kirchhoff type variation-inequality problems in non-divergence form
  34. Homotopy cartesian squares in extriangulated categories
  35. A unified perspective on some autocorrelation measures in different fields: A note
  36. Total Roman domination on the digraphs
  37. Well-posedness for bilevel vector equilibrium problems with variable domination structures
  38. Binet's second formula, Hermite's generalization, and two related identities
  39. Non-solid cone b-metric spaces over Banach algebras and fixed point results of contractions with vector-valued coefficients
  40. Multidimensional sampling-Kantorovich operators in BV-spaces
  41. A self-adaptive inertial extragradient method for a class of split pseudomonotone variational inequality problems
  42. Convergence properties for coordinatewise asymptotically negatively associated random vectors in Hilbert space
  43. Relating the super domination and 2-domination numbers in cactus graphs
  44. Compatibility of the method of brackets with classical integration rules
  45. On the inverse Collatz-Sinogowitz irregularity problem
  46. Positive solutions for boundary value problems of a class of second-order differential equation system
  47. Global analysis and control for a vector-borne epidemic model with multi-edge infection on complex networks
  48. Nonexistence of global solutions to Klein-Gordon equations with variable coefficients power-type nonlinearities
  49. On 2r-ideals in commutative rings with zero-divisors
  50. A comparison of some confidence intervals for a binomial proportion based on a shrinkage estimator
  51. The construction of nuclei for normal constituents of Bπ-characters
  52. Weak solution of non-Newtonian polytropic variational inequality in fresh agricultural product supply chain problem
  53. Mean square exponential stability of stochastic function differential equations in the G-framework
  54. Commutators of Hardy-Littlewood operators on p-adic function spaces with variable exponents
  55. Solitons for the coupled matrix nonlinear Schrödinger-type equations and the related Schrödinger flow
  56. The dual index and dual core generalized inverse
  57. Study on Birkhoff orthogonality and symmetry of matrix operators
  58. Uniqueness theorems of the Hahn difference operator of entire function with a Picard exceptional value
  59. Estimates for certain class of rough generalized Marcinkiewicz functions along submanifolds
  60. On semigroups of transformations that preserve a double direction equivalence
  61. Positive solutions for discrete Minkowski curvature systems of the Lane-Emden type
  62. A multigrid discretization scheme based on the shifted inverse iteration for the Steklov eigenvalue problem in inverse scattering
  63. Existence and nonexistence of solutions for elliptic problems with multiple critical exponents
  64. Interpolation inequalities in generalized Orlicz-Sobolev spaces and applications
  65. General Randić indices of a graph and its line graph
  66. On functional reproducing kernels
  67. On the Waring-Goldbach problem for two squares and four cubes
  68. Singular moduli of rth Roots of modular functions
  69. Classification of self-adjoint domains of odd-order differential operators with matrix theory
  70. On the convergence, stability and data dependence results of the JK iteration process in Banach spaces
  71. Hardy spaces associated with some anisotropic mixed-norm Herz spaces and their applications
  72. Remarks on hyponormal Toeplitz operators with nonharmonic symbols
  73. Complete decomposition of the generalized quaternion groups
  74. Injective and coherent endomorphism rings relative to some matrices
  75. Finite spectrum of fourth-order boundary value problems with boundary and transmission conditions dependent on the spectral parameter
  76. Continued fractions related to a group of linear fractional transformations
  77. Multiplicity of solutions for a class of critical Schrödinger-Poisson systems on the Heisenberg group
  78. Approximate controllability for a stochastic elastic system with structural damping and infinite delay
  79. On extremal cacti with respect to the first degree-based entropy
  80. Compression with wildcards: All exact or all minimal hitting sets
  81. Existence and multiplicity of solutions for a class of p-Kirchhoff-type equation RN
  82. Geometric classifications of k-almost Ricci solitons admitting paracontact metrices
  83. Positive periodic solutions for discrete time-delay hematopoiesis model with impulses
  84. On Hermite-Hadamard-type inequalities for systems of partial differential inequalities in the plane
  85. Existence of solutions for semilinear retarded equations with non-instantaneous impulses, non-local conditions, and infinite delay
  86. On the quadratic residues and their distribution properties
  87. On average theta functions of certain quadratic forms as sums of Eisenstein series
  88. Connected component of positive solutions for one-dimensional p-Laplacian problem with a singular weight
  89. Some identities of degenerate harmonic and degenerate hyperharmonic numbers arising from umbral calculus
  90. Mean ergodic theorems for a sequence of nonexpansive mappings in complete CAT(0) spaces and its applications
  91. On some spaces via topological ideals
  92. Linear maps preserving equivalence or asymptotic equivalence on Banach space
  93. Well-posedness and stability analysis for Timoshenko beam system with Coleman-Gurtin's and Gurtin-Pipkin's thermal laws
  94. On a class of stochastic differential equations driven by the generalized stochastic mixed variational inequalities
  95. Entire solutions of two certain Fermat-type ordinary differential equations
  96. Generalized Lie n-derivations on arbitrary triangular algebras
  97. Markov decision processes approximation with coupled dynamics via Markov deterministic control systems
  98. Notes on pseudodifferential operators commutators and Lipschitz functions
  99. On Graham partitions twisted by the Legendre symbol
  100. Strong limit of processes constructed from a renewal process
  101. Construction of analytical solutions to systems of two stochastic differential equations
  102. Two-distance vertex-distinguishing index of sparse graphs
  103. Regularity and abundance on semigroups of partial transformations with invariant set
  104. Liouville theorems for Kirchhoff-type parabolic equations and system on the Heisenberg group
  105. Spin(8,C)-Higgs pairs over a compact Riemann surface
  106. Properties of locally semi-compact Ir-topological groups
  107. Transcendental entire solutions of several complex product-type nonlinear partial differential equations in ℂ2
  108. Ordering stability of Nash equilibria for a class of differential games
  109. A new reverse half-discrete Hilbert-type inequality with one partial sum involving one derivative function of higher order
  110. About a dubious proof of a correct result about closed Newton Cotes error formulas
  111. Ricci ϕ-invariance on almost cosymplectic three-manifolds
  112. Schur-power convexity of integral mean for convex functions on the coordinates
  113. A characterization of a ∼ admissible congruence on a weakly type B semigroup
  114. On Bohr's inequality for special subclasses of stable starlike harmonic mappings
  115. Properties of meromorphic solutions of first-order differential-difference equations
  116. A double-phase eigenvalue problem with large exponents
  117. On the number of perfect matchings in random polygonal chains
  118. Evolutoids and pedaloids of frontals on timelike surfaces
  119. A series expansion of a logarithmic expression and a decreasing property of the ratio of two logarithmic expressions containing cosine
  120. The 𝔪-WG° inverse in the Minkowski space
  121. Stability result for Lord Shulman swelling porous thermo-elastic soils with distributed delay term
  122. Approximate solvability method for nonlocal impulsive evolution equation
  123. Construction of a functional by a given second-order Ito stochastic equation
  124. Global well-posedness of initial-boundary value problem of fifth-order KdV equation posed on finite interval
  125. On pomonoid of partial transformations of a poset
  126. New fractional integral inequalities via Euler's beta function
  127. An efficient Legendre-Galerkin approximation for the fourth-order equation with singular potential and SSP boundary condition
  128. Eigenfunctions in Finsler Gaussian solitons
  129. On a blow-up criterion for solution of 3D fractional Navier-Stokes-Coriolis equations in Lei-Lin-Gevrey spaces
  130. Some estimates for commutators of sharp maximal function on the p-adic Lebesgue spaces
  131. A preconditioned iterative method for coupled fractional partial differential equation in European option pricing
  132. A digital Jordan surface theorem with respect to a graph connectedness
  133. A quasi-boundary value regularization method for the spherically symmetric backward heat conduction problem
  134. The structure fault tolerance of burnt pancake networks
  135. Average value of the divisor class numbers of real cubic function fields
  136. Uniqueness of exponential polynomials
  137. An application of Hayashi's inequality in numerical integration
Downloaded on 21.2.2026 from https://www.degruyterbrill.com/document/doi/10.1515/math-2022-0562/html
Scroll to top button