Bicriteria Scheduling on a Single Batching Machine with Job Transportation and Deterioration Considerations Lixin Tang,1 Hua Gong,1 Jiyin Liu,2 Feng Li1 1
Liaoning Key Laboratory of Manufacturing System and Logistics, The Logistics Institute, Northeastern University, Shenyang 110004, China 2
School of Business and Economics, Loughborough University, Leicestershire LE11 3TU, United Kingdom
Received 6 May 2011; revised 4 March 2014; accepted 6 March 2014 DOI 10.1002/nav.21582 Published online 27 March 2014 in Wiley Online Library (wileyonlinelibrary.com).
Abstract: We study a single batching machine scheduling problem with transportation and deterioration considerations arising from steel production. A set of jobs are transported, one at a time, by a vehicle from a holding area to the single batching machine. The machine can process several jobs simultaneously as a batch. The processing time of a job will increase if the duration from the time leaving the holding area to the start of its processing exceeds a given threshold. The time needed to process a batch is the longest of the job processing times in the batch. The problem is to determine the job sequence for transportation and the job batching for processing so as to minimize the makespan and the number of batches. We study four variations (P1, P2, P3, P4) of the problem with different treatments of the two criteria. We prove that all the four variations are strongly NP-hard and further develop polynomial time algorithms for their special cases. For each of the first three variations, we propose a heuristic algorithm and analyze its worst-case performance. For P4, which is to find the Pareto frontier, we provide a heuristic algorithm and an exact algorithm based on branch and bound. Computational experiments show that all the heuristic algorithms perform well on randomly generated problem instances, and the exact algorithm for P4 can obtain Pareto optimal schedules for small-scale instances. © 2014 Wiley Periodicals, Inc. Naval Research Logistics 61: 269–285, 2014
Keywords:
bicriteria scheduling; batching machine; transportation; deterioration
1.
INTRODUCTION
In this article, we deal with a bicriteria-coordinated scheduling problem on a single batching machine with job transportation and deterioration considerations. A given set of jobs are available in a holding area. A vehicle works continuously transporting the jobs one-by-one from the holding area to the single batching machine, without idle time except for necessary return trips, until all jobs are transported. The machine can process several jobs simultaneously as a batch. The time needed to process a batch is the longest processing time of the jobs assigned to the batch. The processing time of a job is a step function of its exposure time, which is defined as the duration from the time it leaves the holding area to the time when its processing starts. All jobs have the same basic processing time. If the exposure time of any job exceeds a given value, its processing time will be increased to a new constant. As shown in Fig. 1, the exposure time of a job includes Correspondence to: L. Tang (
[email protected]) © 2014 Wiley Periodicals, Inc.
its transportation time and possibly waiting time before it is processed on the batching machine. The problem we are considering is how to determine a coordinated transportation and production schedule so as to minimize an objective function that takes into account both makespan and the number of batches (two performance criteria). The above problem arises in the application of ingot processing in the steel industry. Steel ingots are teemed by pouring molten steel from steelmaking furnaces into molds placed on a vehicle (a rail cart or a train of carts). The vehicle then moves to a nearby position and remains motionless until the molten steel in the molds solidifies. Once the steel is partially solidified into become ingots, the molds are stripped off and the ingots are transferred immediately to a soaking area where a single soaking pit (viewed as a batching machine) is available to simultaneously process several ingots as a batch. The purpose of the process in the soaking pit is to reheat and soak the ingots throughout to a sufficiently high temperature to prepare the ingots for rolling. As the total rolling time of the ingots in a batch is usually shorter than the soaking time
270
Naval Research Logistics, Vol. 61 (2014)
Figure 1.
The illustration of the exposure time.
of the batch, the rolling stage does not need to be considered in the scheduling problem. Figure 2 illustrates the activities involved in the transportation and processing of the ingots. The transportation time of the ingots in each trip is defined as the period in which the ingots occupy the vehicle, from the time point when the ingots are teemed to the time point when they reach the soaking area. This is a substantial time intimated because it includes all the time spent on solidifying, stripping, and traveling. The time that the ingots spend on the track from teeming to the start of soaking in the soaking pit is defined to be the exposure time. Since all ingots in the same trip share the same transportation time and need to be soaked together, they may be viewed as one job. Different jobs may have different transportation times because the time required for solidifying and stripping depends on the steel grade and other attributes of the ingots. The molten steel that the vehicle transports is generated by steelmaking furnaces. When the steelmaking process in a furnace is completed, it will continue to consume a huge amount of energy to maintain a high temperature unless the molten steel is molded and transported away. Furthermore, these furnaces are responsible for making steel materials for producing all final products in downstream production stages and they normally need to work continuously to satisfy the demand. Therefore, once the molten steel is ready in a furnace, it must be molded into ingots and transported away as soon as possible so that the furnace can be emptied and used for another round of steelmaking production. If the capacity
of a downstream stage is insufficient to process all available ingots at some time point, the ingots can be stored for later processing. Considering this situation, the vehicle is not allowed to have idle time until the molding and transporting of all ingots are finished. The cost of a batch reheated in the soaking pit usually includes a fuel consumption cost and a processing cost that are related to the processing (reheating and soaking) time of the batch. The processing time of ingots in the soaking pit is modeled as a stepwise function of the exposure time. This can be viewed as a type of job deterioration. In theory, the required processing time of the soaking process is a continuous increasing function of the exposure time and a step function is an approximation of the actual function. In practice, however, the processing time is set with some slack (slightly longer than required) to make sure that the temperature of any point of the ingots is high enough for the rolling processor. On the other hand, it is hard to measure the internal temperature of the ingots. Therefore, when the exposure time is within a certain limit, the ingots still have a reasonable surface temperature (and certainly higher internal temperature), and the processing time for soaking is set as a constant to guarantee the quality. Once the exposure time exceeds this limit, the ingot will be considered to be cold ones, and another longer constant processing time is assumed for soaking. This longer processing time is set long enough even for ingots of atmospheric temperature. In addition, the batch processing time in the soaking pit is the longest among the required soaking times of the ingots assigned to the batch to make sure that all ingots in the batch are sufficiently soaked. We want to assign as many ingots as possible to a batch to save fuel cost which is determined by the number of batches to be scheduled. As a result, some ingots that arrive at the soaking pit may have to wait for other ingots to be transported so that they can be processed in the same batch. This may result in a greater soaking time because they are not heated in time. Hence, to achieve a smaller number of batches, more soaking time may incur, which will result in a longer makespan. On
Figure 2. The transportation and production of the ingots. [Color figure can be viewed in the online issue, which is available at wileyonlinelibrary.com.] Naval Research Logistics DOI 10.1002/nav
Tang et al.: Bicriteria Scheduling on a Single Batching Machine
the other hand, to shorten the makespan, more batches may be formed. However, an increase in the number of batches results in a higher fuel cost. Therefore, the objective of the scheduling problem is to achieve a balance between the makespan and the number of processing batches, which reflects the trade-off between the machine utilization and the production cost. This is the motivation for considering bicriteria in the problem. The rest of this article is organized as follows. Section 2 reviews relevant literature. The problem is formally described and some optimality properties are presented in Section 3. We develop the complexity results for four variations of the problem in Section 4. Section 5 gives the polynomialtime algorithms to solve some special cases. In Section 6, we provide heuristic algorithms with performance analysis and an exact algorithm for the four variations of the problem. Section 7 reports computational experiment results on the performance of the algorithms. Finally, some concluding remarks are given in Section 8.
2.
LITERATURE REVIEW
The bicriteria scheduling problem under our consideration has the following features: job deterioration, batching, and coordinated production and transportation. There have been quite a number of studies over the last 10 years on the scheduling problems with some of these features, though we have not found any previous research on the problem with all these features. Deterioration effect has been observed in many production situations. Two types of deterioration situations are considered in the machine scheduling field. A survey on scheduling jobs with deterioration is given by Cheng et al. [6]. The first type involves position-dependent deterioration in which the job processing time increases as a function of the job position in the processing sequence (see [19]). The second type involves starting time or waiting time deterioration in which the actual processing time of a job increases as a function of its starting time or its waiting time (see [2, 3, 13]). Job deterioration in our study is different from the above two types and is related to job exposure time. Here, the processing time of a job is a step function of its exposure time where the exposure time of a job contains its transportation time and its waiting time on the batching machine. In addition to the different deterioration situations from our study, the problems in [2, 3, 13] deal only with the production part under the deterioration considerations and do not study transportation–production integration. Although job batching is also considered in [2, 3, 13], the processing time of a batch on a machine is the sum of the processing times of the jobs in the batch. The batching considered in their models in [2, 3, 13] belongs to the “sbatch” type, while that in our problem belongs to “p-batch” type (see [4] and [20] for classification and review of batch
271
scheduling). “p-batch” scheduling problems have been previously studied in other manufacturing systems, especially burn-in operations in the very large-scale integrated circuit manufacturing (e.g., [1, 8, 12, 17]). The processing time of each job in [1, 8, 12, 17] is determined on and independent of its schedule. However, the actual processing time of each job in our study depends on its exposure time rather than a predetermined value. Considering the special job deterioration effect, the processing times in our study may be considered as a special case of the situation in burn-in operations. The models in [1, 8, 12, 17] take into account production scheduling problems on the batching machine, but they consider neither job deterioration nor the coordination of production and transportation. Lin and Cheng [16] consider a two-machine scheduling problem with the waiting time penalties on the second machine. If a job cannot be processed on the second machine within a specified waiting time after the completion of its first operation, then its processing time on the second machine will be lengthened. The problem is similar to a special case of our problem with the batch capacity being 1 and the returning time of the vehicle ignored. However, there is no idle time allowed for the vehicle in our model. There has been an increasing interest in integrated production and transportation scheduling. Lee and Chen [10] identify two types of transportation related to production. The first type involves transporting semifinished jobs from one production stage to another for further processing. The second type involves transporting finished jobs to customers or warehouses. Readers interested in the second type are referred to the recent review by Chen [5]. Our work focuses on the job transportation with semifinished jobs before production that belongs to the first type. Lee and Chen [10] study two-machine flowshop problems with transportation capacity and transportation times. They study the class of scheduling problems by analyzing their computational complexity and proposing polynomial or pseudopolynomial algorithms. Lee and Strusevich [11] study a two-machine flowshop problem with a single interstage transporter of unlimited capacity. They present a best possible approximation algorithm with two shipments. Tang et al. [23] study a two-machine scheduling problem with transportation consideration arising from steelmaking and refining operations, where there is one transporter available that can carry only one job at a time. They provide a heuristic algorithm with the worst-case ratio of 2. Li and Ou [14] consider a single machine scheduling problem that takes into account the pickup arrangement of materials and the delivery arrangement of finished jobs. Lushchakova et al. [18] consider a two-machine open shop scheduling problem in which the jobs are brought to the system in batches and moved between the processing machines by a single transporter. In the above productiontransportation models, the machine configurations include a single machine, parallel machines, a flow shop, and an open Naval Research Logistics DOI 10.1002/nav
272
Naval Research Logistics, Vol. 61 (2014)
shop. However, the scheduling on a single batching machine is not considered. There is some research on transportation problems in which jobs are processed on the single batching machine. Tang and Gong [21] study a scheduling problem on a single batching machine with transportation operations before and after the production operation where the objective is to minimize the sum of the makespan and total setup cost. Tang and Gong [22] also consider a coordinated scheduling problem on the single batching machine considering transportation before processing where the objective is to minimize the sum of the total completion time and total processing cost. Tang and Liu [24] extend the two-machine flowshop scheduling problem with intermediate transportation to the situation with a batching machine. In [21, 22, 24], the processing time on the batching machine is assumed to be a constant and the semifinished job transportation is considered. Li et al. [15] consider a parallel-batch machine scheduling problem with job families where the jobs finished processing on an unbounded batching machine are delivered in batches to the customers. The above integrated production-transportation scheduling models do not include job deterioration on the batching machine. In this article, we aim to find a coordinated productiontransportation schedule to optimize two performance criteria (makespan and the number of batches). Hoogeveen [9] provide a detailed survey of bicriteria and multiple scheduling problems. Following the commonly used approaches of handling bicriteria, we study four variations of our problem in this article, each corresponding to a different approach.
3.
PROBLEM DESCRIPTION AND PRELIMINARY RESULTS
The problem studied in this article can be formally described as follows. 1. A set of jobs and a single vehicle are initially available in a holding area. The jobs are to be transported one-by-one by the vehicle to a single batching machine for processing. 2. The batching machine can process several jobs simultaneously as a batch, and the processing time of a batch is equal to the longest processing time of the jobs in the batch. 3. As long as there are still jobs un-transported in the holding area, the vehicle must keep transporting these jobs uninterruptedly. 4. The processing time of a job on the batching machine is a step function of its exposure time, which is defined as the duration from the time it leaves the holding area to the time when its processing starts. For easy presentation, a job is called a cold job if Naval Research Logistics DOI 10.1002/nav
its exposure time exceeds the exposure threshold; otherwise, it is called a hot job. We introduce the following notation to be used later in this article: Parameters: n: N: B: tj : t: E: ph : pc :
number of jobs; {J 1 , ... Jn }: set of jobs; capacity of the batching machine, where B ≤ n; transportation time of Jj from the holding area to the batching machine; returning time of the vehicle from the batching machine to the holding area; exposure threshold time, where E ≥ tj for all j; processing time of a hot job; processing time of a cold job, where pc > ph ;
Decision variables: dj : departure time of Jj from the holding area; rj : arrival time of Jj at the batching machine which is derived as rj = dj + tj ; sj : starting time of Jj on the batching machine; ej : exposure time of Jj which is defined as ej = sj − dj ; pj : actual processing time of Jj on thebatching machine, ph , if ej ≤ E which can be expressed as pj = ; pc , else b : number of batches; Bl : batch l; p(Bl ) : processing time of Bl ; Cj : completion time of Jj on the batching machine; Cmax (π: ) = max{Cj }: makespan of a schedule π ; α(b) : penalty cost of the number of batches, that is, a linear increasing function of the number of batches b in the schedule. In this article, the following four variants of the problem are considered representing different approaches of handling the two criteria. P1: to minimize the total integrated cost, that is, Cmax + α(b). ¯ where b( ¯ b¯ P2: to minimize C max subject to b ≤ b, ≥ n/B) is an upper limit on the number of batches. ¯ where C¯ is an P3: to minimize b subject to Cmax ≤ C, upper limit on the makespan. P4: to identify the set of Pareto-optimal schedules for (C max , b). Each schedule π corresponds to a point (Cmax (π ),b(π )) in the objective space R2 . In the remaining part of the article,
Tang et al.: Bicriteria Scheduling on a Single Batching Machine
273
Figure 3. Different schedules for the problem in Example 1. (a). Schedule π1 , (b) schedule π2 , and (c) schedule π3 .[Color figure can be viewed in the online issue, which is available at wileyonlinelibrary.com.]
we will use the terms schedule and point interchangeably. A feasible schedule π is Pareto-optimal with respect to the performance criteria Cmax (π ) and b(π ) if there is no other feasible schedule π satisfying both Cmax (π ) ≤ Cmax (π ) and b(π ) ≤ b(π ) with at least one of the inequalities holding strictly. The following example illustrates the coordinated schedules for P1–P4. EXAMPLE 1: Consider an instance with three jobs. The job transportation times are t 1 = 1, t 2 = 2, and t 3 = 3. Assume that t = 1, B = 3, α(b) = 7b, ph = 4, pc = 8 and E = 6.
We can obtain that the minimum makespan is 16 for b = 1, 12 for b = 2, and 13 for b = 3. Figure 3 shows the schedules π1 , π2 , and π3 corresponding to these solutions, respectively. Hence, we have the following results: For P1, the optimal schedule is π1 with Cmax + α(b) = 23. For P2, if we assume that b ≤ 2, then the optimal schedule is π2 with a makespan of 12. For P3, if we assume that Cmax ≤ 13, then the optimal schedule is π3 with b = 2. Naval Research Logistics DOI 10.1002/nav
274
Naval Research Logistics, Vol. 61 (2014)
Figure 4.
The schedule in the proof of Theorem 1.
For P4, the instance has two Pareto-optimal points (16, 1) and (12, 2). We now present two common optimality properties for all the variations. LEMMA 1: There exists an optimal schedule in which the hot jobs are processed no later than the cold jobs when there are both hot and cold jobs available at the machine. PROOF: The processing time of a cold job will not change any more as its exposure time increases. In any schedule with a hot job processed after a cold job while they are both available at the machine, we can always exchange their positions in the processing sequence without increasing the objective value. LEMMA 2: Unscheduled cold jobs at the machine can be scheduled in any order. PROOF: The property can be proved by simple job interchange arguments. Next, P1-P4 can be proven to be strongly NP-hard by a reduction from the 3-Partition problem (3-PP), which is known to be NP-hard in the strong sense (see Garey and Johnson [7]). An instance of 3-PP can be stated as follows. Given a set of 3q items Q={1,2,...,3q} and an integer a such that each item j ∈ Q has an integer size aj satisfy3q ing q/4 < aj < q/2 and j =1 aj = qa, do there exist q disjoint subsets Q1 , Q2 , . . . , Qq of Q such that its total size is equal to a? Given such a 3-PP instance, we construct an instance for our problems as follows: Number of jobs: n = 3q+3, N = Q∪{3q+1, 3q+2, 3q+3}; Transportation times: tj = aj , j = 1, 2,..., 3q; t 3q +1 = t 3q +2 = t 3q +3 = 0; Returning time: t = 0; Processing times: ph = a, pc = (q+1)a; Exposure threshold time: E = a; Capacity of the batching machine: B = 3; Penalty cost of the number of batches: α(b) = (b − q)(q + 1)a; Naval Research Logistics DOI 10.1002/nav
Threshold for P1: y = 2(q+1)a. Threshold for P2 with b¯ = q + 1: y=(q+1)a. Threshold for P3 with C¯ = (q + 1)a: y=q+1. THEOREM 1: P1 is NP-hard in the strong sense. PROOF: We show that the instance of P1 has a schedule with Cmax + α(b) ≤ y if and only if the instance of 3-PP has a solution. “If part.” Suppose that a 3-partition Q1 , Q2 , . . . , Qq exists. One can construct a schedule as shown in Figure 4. It is easy to check that the objective value of the schedule is y. “Only if part.” Suppose that the instance has a schedule π with Cmax + α(b) ≤ y. Jobs 3q+1, 3q+2, 3q+3 are processed in the first batch on the machine. We can observe that the machine and the vehicle cannot have idle time in the intervals [0, (q+1)a] and [0, qa], respectively. Since B = 3, one requires at least q+1 batches for all the jobs. Meanwhile, it is clear that no more than q+1 batches are processed. Otherwise, the penalty cost is α(b) ≥2(q+1)a=y and Cmax + α(b)>y. Hence, precisely q+1 batches B1 , ..., Bq +1 must be formed each with exactly three jobs. Therefore, Jobs 1 to 3q are grouped in q batches, and each batch has a total transportation time exactly equal to a (processing time of a batch). Thus, this gives a solution to the 3-PP instance. COROLLARY 1: P2, P3, and P4 are NP-hard in the strong sense. Theorem 1 and Corollary 1 imply that the existence of a polynomial time algorithm for solving P1–P4 optimally is unlikely. Therefore, finding polynomial algorithms for some special cases and developing fast heuristic algorithms to yield near-optimal solutions are of great interest.
4.
POLYNOMIAL-TIME ALGORITHMS
In this section, we study two special cases of P1–P4 and show that they are solvable in polynomial time. The first case assumes that the job sequence is fixed. Here, the jobs that are transported, and the batches that are to be formed, must contain consecutively indexed jobs according to the given
Tang et al.: Bicriteria Scheduling on a Single Batching Machine
sequence. The second case is the “extreme-deterioration situation” where E = ∞ or E...>ej according to the precedence relation. Thus, the processing time of batch Bl is dominated by the processing time of Ji +1 while pi +1 is determined by its exposure time, that is, ei +1 = max{f (i,l _ 1), rj }_ ri +1 +ti +1 . At last, we can obtain f (n,l)+α(l), for n/B ≤ l ≤ n, and find an optimal solution in all possible states l. From the above description and analysis, we have justified the validity of the recursive relations. Therefore, Algorithm DP1 solves P1 with the fixed job sequence. Due to 0 < j − i ≤ B and j /B ≤ l ≤ j ≤ n, the overall time complexity of Algorithm DP1 is O(n2 B). Because B is bounded by n, Algorithm DP1 is a polynomial-time algorithm. Next, we will provide a modified version of Algorithm DP1 in order to solve P2–P4 with a fixed job sequence. ALGORITHM DP2 (for P2-P3 with a fixed job sequence): Step 1. Perform (a)–(e) of Algorithm DP1; Step 2. Optimal solution value: ¯ For P2: f ∗ = min{f (n, l)| n/B ≤ l ≤ b}. ¯ For P3: Optimal solution value: b∗ =min{l|f (n, l) ≤ C}. For P4: Find Pareto-optimal points in all states {(f (n, l), l)| n/B ≤ l ≤ n}. COROLLARY 2: P2, P3, and P4 with a fixed job sequence can be solved in polynomial time O(n2 B). 4.2.
The Case with the Extreme Deterioration Constraint
In this subsection, the extreme situation with E = ∞ or E < min{tj } is considered. Although we assume that E ≥ tj , we consider the solution for the case with EE, we have pc −t>E. Recall that the vehicle has no idle time once it starts transporting jobs. No matter how the jobs are transported, the remaining batches must be deteriorated on the machine. Then the makespan of the optimal schedule is at least n/B pc . ⎧ ⎫ n ⎨ ⎬ F ∗ ≥ max (tj + t) − t + ph , n/B pc + α(n/B) ⎩ ⎭ j =1
An upper bound for the H1 schedule can be obtained by assuming all the jobs have finished transportation before being processed in batches. FH 1 ≤
n
(tj + t) − t + n/B pc + α(n/B) ≤ 2F ∗ . j =1
Next, we will show that it is impossible to have a polynomial time approximation algorithm for P1 with a worst-case ratio of less than (2ph + pc )/3ph unless P = NP. In fact, if there is an approximation algorithm with a worst-case ratio of (2ph + pc )/3ph − ε for any 0 < ε < (pc − ph )/3ph , then it can be used to establish a polynomial time algorithm for solving the Partition problem, which is ordinarily NP-hard [7], leading to a contradiction. Therefore, such an algorithm for the problem P1 cannot exist unless P = NP. 5.1.1.
Partition Problem
n+1 positive integers a1 , a2 , ..., an , S such that Given n j =1 aj =2S. The question asks if there is a subset G ⊆ {1, 2, . . . , n} such that j ∈G aj = S. For any given positive number 0 < ε < (pc − ph )/3ph and an instance U of the Partition problem, we construct an instance V of our scheduling problem as follows: there are n jobs such that t = 0, B = n, ph = S = E, pc >ph , α(b) = 0 and tj = aj , j = 1,...,n. It is clear that this construction can be performed in polynomial time. Due to α(b) = 0, the objective value of a schedule is equal to the makespan of the schedule. We have the following lemmas. LEMMA 3: If there is a solution to the instance U, then the optimal makespan for the instance V is 3ph . Naval Research Logistics DOI 10.1002/nav
278
Naval Research Logistics, Vol. 61 (2014)
PROOF: We can batch the jobs so that the jobs corresponding to the integers in G are in B1 and all others are in B2 . It is easy to see that the schedule with these two batches is optimal and the objective value is 3ph . LEMMA 4: If there is no solution to the instance U, then the optimal solution value for the instance V satisfies F ∗ ≥ 2ph + pc . PROOF: Case 1: b = 1. If all jobs are assigned into one batch, then the optimal value is 2ph +pc . Case 2: b = 2. If j ∈B1 tj ≤ ph , then the completion time of the first batch on the machine satisfies j ∈B1 tj + ph ≤ 2ph . This means that the exposure time of at least one job in the second batch is greater than E. Thus, the makespan F ∗ ≥ 2ph + pc . If j ∈B1 tj > ph , then there is at least one job in the first batch with the exposure time greater than E. This will also lead to the deterioration of the second batch. Therefore, F ∗ = j ∈B1 tj + 2pc > ph + 2pc > 2ph + pc . Case 3: b ≥ 3. If j ∈Bi tj ≤ ph , i = 1, ..., b, then there exists the exposure times of the jobs at least a batch Bk such that in this batch is (k − 1)ph − k−1 t j ∈Bi j > ph . We have i=2 F ∗ ≥ 2ph + pc . Otherwise, if j ∈Bi tj > ph , the jobs in this batch must have deterioration. So we have F ∗ ≥ 2ph + pc . From the above discussions, we can conclude that if there is no solution to instance U, then the optimal schedule for instance V has to use one batch and the objective value is 2ph +pc . LEMMA 5: If there is a polynomial time approximation algorithm H with a worst-case ratio of (2ph + pc )/3ph − ε for some positive number 0 < ε < (pc −ph )/3ph , then there is a polynomial time algorithm for the Partition problem. PROOF: Given any instance U of the Partition problem, we construct the corresponding instance V of our problem in polynomial time as described earlier. Define an upper threshold Z =2ph +pc . Then the instance U of the Partition problem can be answered by simply comparing the values of FH ε and Z. To see the case, apply H to the instance V. If FH ε ≤ Z, then F ∗ ≤ FH ε ≤2ph +pc . By Lemma 4, we deduce that there is a solution to instance U of the Partition problem. On the other hand, if FH ε > Z, the worst-case ration assumption h +pc states that FFH∗ε ≤ 2p3p − ε. h −ph , we have Because 0 < ε < pc3p h ∗
F ≥
2ph + pc > · 3ph > 3ph . 2p −ε h + pc − 3εph
FH ε 2ph +pc 3ph
Therefore, we deduce that there is no solution to the instance U. Naval Research Logistics DOI 10.1002/nav
As discussed above, the schedule for the instance V generated by H gives us a right answer about whether there is a solution to the instance U. Since the reduction times for constructing instance V and for applying H are polynomial, any arbitrary instance of the Partition problem can be solved by H in polynomial time if such an algorithm H with a worst-case ratio of (2ph + pc )/3ph − ε exists. It is well known that any NP-hard problem cannot be solved by a polynomial time algorithm unless P = NP. By Lemma 5, we establish the following result. THEOREM 6: There exists no approximation algorithm with a constant worst-case ratio for P1, unless P = NP. 5.2.
Heuristic for P2
In this subsection, we propose the following heuristic algorithm for P2 based on Algorithm H1 and Algorithm DP2. ALGORITHM H2 (for P2): Step 1. Step 1. Perform Step 1 of Algorithm H1 and Algorithm DP2. Denote the makespan as Cmax (π1 ). Step 2. Perform Step 3 of Algorithm H1 and Algorithm DP2. Denote the makespan as Cmax (π2 ). Step 3. Calculate CH 2 =min{Cmax (π1 ), Cmax (π2 )}. To evaluate the effectiveness performance, we first develop ∗ a lower bound of the makespan. Let Cmax be the makespan in 0 an optimal schedule for P2, and Cmax be the optimal makespan for P2 with E=∞. With the same discussion as P1, we have the following results. THEOREM 7: For P2, the worst-case performance ratio of Algorithm H2 is no more than pc /ph . Furthermore, the bound is tight when B = 1, if it is feasible for P2. PROOF: The lower and upper bounds used in the proof of Theorem 4 are not affected by the restriction on the number of batches. By the same argument as in Theorem 4, we have 0 CH 2 + n/B (pc − ph ) Cmax (π1 ) Cmax ≤ ≤ ∗ ∗ 0 Cmax Cmax Cmax
≤
0 n/B (pc − ph ) pc Cmax + = . 0 n/B ph ph Cmax
If b = n (B = 1) is feasible for P2, then the upper bound of b is not restrictive. So from the proof of Theorem 4, we know that the worst-case bound is tight. In a similar way for proving Theorem 6, we can obtain the following result.
Tang et al.: Bicriteria Scheduling on a Single Batching Machine
COROLLARY 6: There exists no approximation algorithm with a constant worst-case ratio for P2. 5.3.
Heuristic for P3
Similar to Algorithm H2, we propose the following heuristic algorithm for P3. ALGORITHM H3 (for P3): Step 1. Perform Step 1 of Algorithm H1 and (a)–(e) of Algorithm DP1. Find the makespan for each possible number of batches l and denote the makespan as f 1( n,l). Step 2. Perform Step 3 of Algorithm H1 and (a)–(e) of Algorithm DP1. Find the makespan for each l and denote the makespan as f 2 (n,l). ¯ i = 1, 2} Step 3. Calculate bH 3 = min{l|fi (n, l) ≤ C, THEOREM 8: If Algorithm H3 generates a feasible schedule for P3, the worst-case ratio of the solution is no more than B. PROOF: Let b∗ denote the number of batches in an optimal schedule for P3. LBb = n/B is clearly a lower bound of b∗ . Therefore, bH 3 n n ≤ ≤ = B. ∗ n/B b n/B Specially, if b∗ ≥ n − B and B ≤ n/2, then we have n B ≤ n−B ≤ 1 + n−B ≤ 2.
bH 3 b∗
Note that H3 does not guarantee always generating a feasible solution for P3. In fact if C¯ is set very small, then P3 may not have any feasible solution.
tic algorithm also provides an initial solution for the exact algorithm later. ALGORITHM H4 (for P4): Step 1. Perform Step 1 of Algorithm H1 and (a)–(e) of Algorithm DP1. Find the makespan for each number of batches l and denote the makespan as f 1 (n,l). Step 2. Perform Step 3 of Algorithm H1 and (a)-(e) of Algorithm DP1. Find the makespan for each number of batches l and denote the makespan as f 2 (n,l). Step 3. Denote f (l) = min{f1 (n, l), f2 (n, l)}, l = n/B , . . . , n. Set b1 =n/B, b2 =n/B+1, ..., bu =n. Find the following set of points: (f (b1 ), b1 ), (f (b2 ), b2 ), ..., (f (bu ), bu ). Step 4. Check the points in the above set, if bi < bj and f (bi ) ≤ f (bj ) for any i and j, delete the point (f (bj ), bj ). The remaining points in the set forms an approximate Pareto frontier.
6.2.
An Exact Algorithm for P4
In this subsection, we provide an exact algorithm to identify the Pareto-optimal points for P4. The algorithm is derived based on the following idea: first, we provide a branch and bound algorithm for P4 with a fixed number of batches. For b1 = n/B, we run the branch and bound algorithm and find the optimal makespan C ∗1 . This point (C ∗1 , b1 ) must be a Pareto-optimal point. Denote Ci ∗ as the optimal makespan for a fixed bi . For each bi of b2 ,..., bu , we can perform the branch and bound algorithm for a fixed bi using UB = min{f (bi ), Ci−1 ∗ }and find all Pareto-optimal points. 6.2.1.
6.
ALGORITHMS FOR P4
In this section, we provide a heuristic algorithm and an exact algorithm for P4 that is to identify the set of Paretooptimal schedules for (C max , b). Since P4 is strongly NP-hard, we provide a heuristic algorithm to find an approximate Pareto frontier and derive an exact algorithm based on branch and bound to find all Pareto-optimal points for P4. As the number of jobs is given, the number of batches is finite, and so is the number of Pareto optimal points. 6.1. A Heuristic Algorithm for P4 We give a modified version of Algorithm H1 for finding an approximate Pareto frontier. In addition, this heuris-
279
Dominance Properties
The seven useful dominance rules below are derived to possibly in the branch and bound algorithm. PROPERTY 1: If a batch except the first one incurs deterioration, then this batch is full. PROOF: Assume that batch Bi +1 follows Bi where Bi +1 is not full and incurs deterioration. We can move the jobs of Bi to batch Bi +1 such that Bi +1 is full. It can be seen that these moves do not change the number of batches and do not increase the makespan. PROPERTY 2: If ph −t > E, all the batches except the first one are full. Naval Research Logistics DOI 10.1002/nav
280
Naval Research Logistics, Vol. 61 (2014)
PROOF: The situation ph −t>E implies that the second batch and the subsequent batches must be deteriorated. Based on Property 1, these batches are full. PROPERTY 3: If the current batch (whose processing is to start) is not full and its processing time is pc , then unscheduled jobs already arrived at the batching machine may be placed into this batch. PROPERTY 4: The sequence of all jobs assigned into the same batch is irrelevant. PROOF: Assume that Ji and Jj are assigned into the same batch. Under the same batching condition, swapping Ji and Jj will not change the longest exposure time and the latest time arriving at the batching machine and so will not affect either other batches or the processing time of this batch. Thus, the makespan and the number of batches will not increase. The following properties can also be proved using the swapping argument. PROPERTY 5: If Ju ∈ Bi and Jv ∈ Bi+1 such that tu > tv and p(Bi )= pc , then this node can be deleted. PROPERTY 6: If Ju ∈ Bi and Jv ∈ Bi+1 such that tu < tv , p(Bi )= ph , and tv − tu + j ∈Bi (tj + t) − t ≤ E, then this node can be deleted. PROPERTY 7: If Ju ∈ Bi and Jv ∈ Bi+1 such that tu < tv and tv − tu is not greater than the completion time of Bi −2 minus the arrival time of the last job in Bi −1 on the machine, then this node can be deleted. 6.2.2. A Branch-and-Bound Scheme The search of the solution space is structured as a bivalent 0-1 search tree. Each node corresponds to a partial, or complete, solution defined by 0-1 variables each for one job in the sequence. The variable values for the unscheduled jobs are not determined and the variable for a scheduled job has two possible values, one value (1) indicating that the job is processed in the same batch as the last job and the other (0) indicating the job starts a new batch. The search is conducted in a depth-first fashion. Since the order of jobs in a batch is irrelevant, the tree must be structured such that duplications are avoided. First, all jobs that have to form single-job batches are identified and their corresponding variables are set to 0 once for all. Other components of the branch-and-bound scheme are described as follows. Naval Research Logistics DOI 10.1002/nav
6.2.3.
Branching and Ordering of Variable
Variables are placed in nondecreasing order of the job transportation times. At each node of the decision tree, two child nodes are possibly branched from this node for each unscheduled jobs. If the number of jobs in the current batch is B, there is only one child node for each unscheduled job and the variable for the unscheduled job at each child node is set to 0. Furthermore, if the schedule at the current node of the decision tree satisfies Properties 1, 2, or 3, and the current batch is full, then there is also only one child node for each unscheduled job and the variable for the unscheduled job at the child node is set to 1. Otherwise, there are two child nodes for each unscheduled job and the variables for the unscheduled job at these two child nodes are set to 1 and 0, respectively. In the following branch and bound algorithm, we will enumerate implicitly all the sequences of jobs. We also consider a lower bound for eliminating nodes in the branching tree. 6.2.4.
Lower Bounds
Note that at each node of the search tree, if the batching decision is to start a new batch with an unscheduled job, then the partial solution is immediately augmented by a batch starting with that job. At each node of the decision tree, a lower bound on the makespan is calculated for the fixed number of batches. In the search tree, we start with the node (×, ×, . . . , ×) where an “×” in the sequence indicates that no job has yet been assigned to that position. J [j ] represents a scheduled job at the jth position. (J[1] , . . . , J[j ] , J[j +1] , ×, . . . , ×) is branched from the node (J[1] , . . . , J[j ] , ×, . . . , ×) by placing the unscheduled job J [j +1] at the (j+1)th position. Denote f ([j],l) as the current minimum makespan at the node (J[1] , . . . , J[j ] , ×, . . . , ×) where J[1] , . . . , J[j ] have been scheduled with the corresponding number of batches, l, and the processing time of the last batch Bl , p(Bl ). Denote J as the set of jobs remaining unscheduled. Let r [j ] be the arrival time of J [j ] at the batching machine. A lower bound of the unscheduled jobs on the makespan is derived as the special cases for P1. Based on Corollary 3, let Lc (J) be the makespan assuming that the all jobs of set J are cold, and Lh (J) be the makespan assuming that the all jobs of set J are hot. Then a lower bound on the makespan can be calculated as follows: If f ([j ], l) − (r[j ] + t) ≤ E, then LBC (J[1] , . . . , J[j ] ) = max{f ([j ], l) + (b − l)ph , r[j ] + t + Lh (J ) }; If f ([j ], l) − (r[j ] + t) > E and f ([j ], l) − nv=1 tv − (n − 1)t ≤ E, then there is at least one deteriorated batch in the remaining schedule. For the set J, let L 1 (J) be the makespan
Tang et al.: Bicriteria Scheduling on a Single Batching Machine
based on Corollary 3 assuming that the processing time of the first batch is pc , and that of each remaining batch is ph . We can obtain that LBC ([j ]) = max{f ([j ], l) + (b − l − 1)ph + pc , r[j ] + t + L1 (J )}. If f ([j ], l) − nv=1 tv − (n − 1)t > E, this then implies that all current unscheduled jobs incur deterioration. Then a lower bound on the makespan can be calculated as follows: LBC ([j ]) = max{f ([j ], l) + (b − l)pc , r[j ] + t + Lc (J )}. In addition, note that we can fathom one of two nodes if one node (J [ [1]] , ..., J [j ] , J [h] ) and another node (J [ [1]] , ..., J [j ] , J [g ] ) satisfy t [h] =t [g ] . A step-by-step description of the branch and bound algorithm for P4 with a fixed number of batches is given as follows.
ALGORITHM P-O (for P4): Step 1. Perform Steps 1–3 of Algorithm H4 to get the resulting points (f (b1 ), b1 ), (f (b2 ), b2 ), ..., (f (bu ), bu ), where b1 =n/B, b2 =n/B+1, ..., bu =n. Step 2. For b= b1 , set UB= f (b1 ). Perform Algorithm B&B and output point (C1∗ , b1 ). Step 3. (deal with b> b1 , i.e., b= b2 ,..., bu ). For bi = b2 to bu do the following: ∗ Set UB=min{f (bi ),Ci−1 }. If Clbi ≥ U B, then delete this point. Otherwise, perform Algorithm B&B for the fixed number of batches bi . If there is no feasible schedule for the current UB, then delete this point and turn to bi +1 . If an optimal ∗ schedule with Ci∗ < Ci−1 is found, then update ∗ ∗ Ci = UB and output (Ci ,bi ). ∗ Step 4. Stop, all the (Cmax , b) output during the solution process are the Pareto optimal points.
7. ALGORITHM B&B (for P4 with fixed number of batches): Step 1. (Initiation) Set UB and generate the root node (×, ×, . . . , ×) where no job is assigned. Set the branching level L = 0. Step 2. (Calculating the lower bound) For each newly generated node, all variables are fixed and calculate the lower bound. If the lower bound is not less than UB, then this node is fathomed. Otherwise, if L = n, this node is also fathomed because it represents a complete schedule and the lower bound is the corresponding makespan; in case the makespan is less than UB, update the incumbent solution and UB; check all active nodes; if the lower bound of a node is not less than the updated UB, then the node is fathomed. Step 3. (Testing the optimality) If all nodes are fathomed, then UB is the optimal value and the algorithm is terminated. Otherwise, if all nodes at level L are fathomed, then the parent node of these Level-L nodes is fathomed; let L = L − 1. Step 4. (Selecting a node for further branching) Fathoming initiates backtracking to the first node associated with a variable whose value is 1; the value of this variable is then set to 0. If no such node is found, the search terminates. Now, based on Algorithm H4 and Algorithm B&B, we provide the following exact algorithm to identify the set of Pareto-optimal schedules for (C max , b).
281
COMPUTATIONAL EXPERIMENTS
In this section, we report the computational experiments to evaluate the performances of our proposed algorithms for P1–P4. All algorithms are programmed in Visual C++ language. The experiments are run on a personal computer with 4G RAM and 2.33-GHz CPU. Since the problem is motivated by a real ingot production system, we collect some actual data and use them to test the performance of the proposed solution approach. The test results are reported in Subsection 7.1. We also generate more test data randomly with different sizes and structures for evaluating the performance of the algorithms. Computational results for P1, P2, and P3 are presented in Subsection 7.2. Computational results obtained from Algorithm H4 and the Algorithm P-O are reported in Subsection 7.3. 7.1.
Performance Test using Real Data
In the real ingot processing, the production is scheduled by using a manual method that is based on the following idea: the ingots are transported one-by-one to the soaking pit by the vehicle. At the soaking pit, when there are both hot ingots and cold ingots available at the same time, the hot ingots are processed first and the cold ingots are placed into cold ingot storage. This means that no cold ingots are processed before hot ingots. All cold ingots are processed at the end together when all hot ingots have finished processing. To evaluate the performances of our proposed heuristics, we collect some actual data of an ingot production system in a steelmaking factory. The exposure threshold times, the processing times of hot and cold ingots, and the batch capacity of the soaking pit depend on the types of the ingots. The left columns in Table 1 show the real exposure threshold times, Naval Research Logistics DOI 10.1002/nav
282
Naval Research Logistics, Vol. 61 (2014) Table 1.
Type of ingots 1 2 3 4 5
Computational results on real data from the ingot production system.
Number of jobs
Batch capacity
Exposure threshold time (min)
Processing time of hot ingots (min)
Processing time of cold ingots (min)
C max of heuristic
C max of manual method
Number of batches of heuristic
Number of batches of manual method
12 15 12 18 21
3 4 3 3 3
540 550 900 720 720
480 540 750 490 390
840 1560 1260 900 690
4440 8495 7185 6305 8710
5204 10,659 9517 7194 10,445
4 4 4 6 7
4 4 5 6 8
processing times, and the batch capacity for five different types of ingots. The transportation time is extracted from the period in which the ingots occupy the vehicle because it includes all the time spent on solidifying, stripping and traveling. The transportation times of ingots (minutes) are shown as follows:
2. 3.
4. Type 1: 170, 330, 435, 230, 250, 240, 315, 280, 290, 310, 190, 210; Type 2: 435, 435, 480, 480, 490, 390, 380, 420, 410, 435, 330, 530, 450, 420, 400; Type 3: 190, 540, 390, 480, 490, 435, 530, 520, 515, 495, 490, 500; Type 4: 340, 410, 350, 370, 380, 430, 420, 450, 435, 470, 390, 410, 420, 370, 390, 400, 415, 420; Type 5: 180, 270, 320, 240, 235, 210, 230, 240, 270, 280, 300, 310, 215, 270, 260, 250, 280, 290, 210, 180, 220. Based on above real data, we implement the heuristics and the manual method to test the performance of our proposed heuristics, respectively. The results obtained by the manual method and our proposed method are compared in Table 1. The results show that the average improvement of the proposed method over the manual method is 17.70% on the makespan, and the average improvement on the number of batches is 6.50%. The results demonstrate that the machine utilization and the production cost can be significantly improved by implementing the method proposed in this article. 7.2.
Computational Results for P1, P2, and P3
To test the performances of our proposed heuristics for P1, P2 and P3, two sets of test instances were randomly generated. Different values of n, B and β are chosen to represent different problem sizes and structures. Processing times and transportation times are generated randomly. Details of the problem parameters are described below. 1. Number of jobs is set to n ∈{10, 15, 20} for small problems and n ∈{40, 60, 80, 100, 120} for large Naval Research Logistics DOI 10.1002/nav
5.
6. 7.
problems. Other parameters are set in the same way for both small and large problems. Capacity of the batching machine B ∈{3, 5, 7}. The transportation times tj are generated from a discrete uniform distribution [5, 15], and t = 1. Denote the average of the job transportation times as t¯. The processing times and the exposure threshold time are generated from the following discrete uni form distributions: ph ∈ 2.5(t¯ + t), 7.5( t¯ + t) , pc ∈ [2ph , 4ph ], and E ∈ 3(t¯ + t), 9(t¯ + t) . The penalty cost is set as a linear function α(b) = βb, where β is a parameter and β ∈ [ttotal /4, ttotal /2], where ttotal = nj=1 tj + (n − 1)t. For Algorithm H2 (for P2), the limit on the number of batches b¯ = (n/B+n)/2. For Algorithm H3 (for P3), the given upper bound on makespan C¯ is set as the average value of f (n, l) wheref (n, l) = min{f1 (n, l)}, f2 (n, l)} for l = n/B , . . . , n.
The transportation and processing times are generated with wide variety. Furthermore, the data generated do not make the transportation or the batching processing become an obvious bottleneck, because problems with obvious bottlenecks will be easy to solve. For each combination of n and B, we randomly generated 10 test instances. A total of 90 instances of small problems and 150 instances of large problems are generated. For each instance, P1, P2, and P3 are solved by using H1, H2, and H3, respectively, and their lower bounds are calculated. The solution quality performance of a heuristic can be measured by the ratio of the heuristic objective value to the lower bound as expressed below. r1 = FH 1 /(LBC + α(LBb )); r2 = CH 2 /(LBC ); r3 = bH 3 /(LBb ). For the small problem instances, the branch and bound algorithm is also applied to obtain the optimal solutions for P1, P2, and P3, to evaluate the lower bound as well as the heuristic solutions. The results for the problems are shown
Tang et al.: Bicriteria Scheduling on a Single Batching Machine Table 2.
Computational results of H1 and H2 for small problems.
H1/BB average
H1/Bb max
avg(r 1 )
max(r 1 )
H2/BB average
H2/BB max
avg(r 2 )
max(r 2 )
1.0000 1.0000 1.0000
1.0000 1.0000 1.0000
1.3439 1.2102 1.1590
1.9978 1.7962 1.4886
1.0000 1.0000 1.0000
1.0000 1.0000 1.0000
1.5521 1.3560 1.2744
2.5353 2.1466 1.7272
1.0014 1.0000 1.0000a
1.0138 1.0000 1.0000a
1.4014 1.1317 1.2061
1.9415 1.6983 1.9479
1.0032 1.0000 1.0000a
1.0318 1.0000 1.0000a
1.7789 1.2268 1.3441
2.6458 2.1628 2.5725
1.0003 1.0000 1.0000a
1.0032 1.0000 1.0000a
1.5137 1.2891 1.2509
1.9721 2.2446 1.7242
1.0012 1.0000 1.0000a
1.0118 1.0000 1.0000a
2.1965 1.5466 1.4782
3.2318 2.9943 2.2110
N = 10 B=3 B=5 B=7 N = 15 B=3 B=5 B=7 N=20 B=3 B=5 B=7 a
283
Average values based on only instances that were solved in 3600 s.
in Table 2 where H1/BB (H2/BB) represents the ratio of objective value of the H1 (H2) solution to that of the optimal solution. The number with * indicates that an optimal solution is not obtained within a 1-h time limit for at least a problem in that group of instances. The number is the average (or maximum) for all instances solved optimally. From Table 2, it is clear that heuristics H1 and H2 can find solutions very close to optimal. In fact, they find optimal solutions for most of the small problem instances tested. The results also show that the lower bounds for the problems are not as tight as they are calculated assuming no job deterioration. H3 finds optimal solutions for all instances and so we have not included the results of P3 in the table to save space. The results of P1, P2, and P3 for large problem instances are reported in Tables 3–5, respectively. Since optimal solutions cannot be obtained for these large problems, the heuristic solutions are compared to lower bounds only. The heuristics are very efficient. Even for the largest problem instance with 120 jobs, the heuristics generate a solution within 5 s. Therefore, we have not listed the computation times in the tables. The results in Tables 3 and 4 show that the average solution quality performances of Algorithms H1 and H2, as compared to lower bounds, are similar to those for small problems. As the results of the small problems have demonstrated that the lower bounds are not tight, we believe that this is also the case
Table 3.
for large problems and hence the heuristic solutions must be not far from optimal. We can also see that the performance of the heuristics does not change much as n increases. As B increases, the performance ratio tends to decrease. This may be because when B is larger the number of batches is smaller and so the lower bounds are better, i.e., the difference between the lower bound and the optimal objective value is smaller. In general, the results demonstrate that the proposed heuristics are capable of generating near-optimal solutions within a short computation time. From Table 5, we can see that as for the small problems, H3 finds optimal solutions for all instances of the large problems. This may be because the limits of C max are not restrictive. Recall that P3 is to minimize the number of batches subject to an upper limit of C max . The objective is discrete. Hence, there is a good chance for the heuristic objective value to
Table 4.
B=3
B=5
n = 40 n = 60 n = 80 n = 100 n = 120
B=7
avg(r 1 ) max(r 1 ) avg(r 1 ) max(r 1 ) avg(r 1 ) max(r 1 ) n = 40 n = 60 n = 80 n = 100 n = 120
1.2812 1.3352 1.1949 1.1516 1.2266
1.5937 1.5535 1.3687 1.3045 1.4112
1.1795 1.2532 1.1342 1.1939 1.0882
1.6948 1.5753 1.3589 1.5146 1.3352
1.1272 1.1080 1.1501 1.0921 1.0586
1.3129 1.3290 1.3720 1.2688 1.1479
B=5
B=7
avg(r 2 ) max(r 2 ) avg(r 2 ) max(r 2 ) avg(r 2 ) max(r 2 )
Computational results of H1 for large problems. B=3
Computational results of H2 for large problems.
1.8988 2.4444 2.0020 2.1620 2.6326
2.8859 3.7377 2.9632 3.5514 3.7516
1.5990 1.9307 1.6641 1.8957 1.6554
3.1157 3.4746 2.9850 3.4404 3.3328
1.2213 1.3755 1.5675 1.5047 1.2460
Table 5.
Computational results of H3.
B=3
B=5
2.0118 2.3373 2.9410 2.7159 2.0690
B=7
avg(r 3 ) max(r 3 ) avg(r 3 ) max(r 3 ) avg(r 3 ) max(r 3 ) n = 40 n = 60 n = 80 n = 100 n = 120
1.0000 1.0000 1.0000 1.0000 1.0000
1.0000 1.0000 1.0000 1.0000 1.0000
1.0000 1.0000 1.0000 1.0000 1.0000
1.0000 1.0000 1.0000 1.0000 1.0000
1.0000 1.0000 1.0000 1.0000 1.0000
1.0000 1.0000 1.0000 1.0000 1.0000
Naval Research Logistics DOI 10.1002/nav
284
Naval Research Logistics, Vol. 61 (2014) Table 6. Average run time of Algorithm P-O
avg(r 4 )
max(r 4 )
avg(r 5 )
max(r 5 )
avg(r 6 )
max(r 6 )
0.3 0.1 0.1
1.0000 1.0000 1.0000
1.0000 1.0000 1.0000
1.0000 1.0000 1.0000
1.0000 1.0000 1.0000
1.0000 1.0000 1.0000
1.0000 1.0000 1.0000
97.7 34.1 777.2
1.0318 1.0000 1.0000a
1.0318 1.0000 1.0000a
1.0000 1.0000 1.0000a
1.0000 1.0000 1.0000a
1.0000 1.0000 1.0000a
1.0000 1.0000 1.0000a
1440.4 168.5 2520.0
1.0119a 1.0000 1.0000a
1.0119a 1.0000 1.0000a
1.0000a 1.0000 1.0000a
1.0000a 1.0000 1.0000a
1.0000a 1.0000 1.0000a
1.0000a 1.0000 1.0000a
n = 10 B=3 B=5 B=7 n = 15 B=3 B=5 B=7 n = 20 B=3 B=5 B=7 a
Computational results of small P4 problems.
Average values based on only instances that were solved in 3600 s.
be the same as the lower bound, especially if the C max limit is not restrictive. When the limit is small, the two could be different, or the problem could even become infeasible. 7.3.
Computational Results for P4
To evaluate the effectiveness of Algorithm H4 and the efficiency of Algorithm P-O, we test them on the small problem instances. Note that each of the algorithms generates a solution set for P4 rather than one solution. Thus, type of performance measures used for P1 to P3 cannot be used for P4. We propose the following performance measures to compare the heuristic solution set and the optimal one. Index the points (C max , b) in the solution set in the increasing order of b. Let Zi ∗ =(Ci ∗ , bi ∗ ) and Zi =(Ci , bi ) denote the i-th Pareto-optimal point generated by Algorithm P-O and the i-th point generated by Algorithm H4, respectively. Note that the Zi ∗ and Zi may not correspond to the same b, because there may be no Pareto-optimal point for some b in the solution set obtained by Algorithm P-O and for some b in the solution set obtained by Algorithm H4. As a result, the number of points in the solution set of E (nE ) and that of H4 (nH ) may not be the same. We denote the smaller number minnE , nH as nmin and the larger number maxnE , nH as nmax . For each instance, the effectiveness of the heuristic is then evaluated by the following three measures: r4 = r5 =
1 nmax 1 nmax
n min Cn i=1 n min i=1
H −i+1
Cn∗E −i+1
+
bnH −i+1 + bn∗E −i+1
nmax −nmin i=1 nmax −nmin i=1
Ci , Ci∗ bi , bi∗
r6 = nmax /nmin . Note that the best nmin makespan values of the H4 solution set and the best n0 makespan values of the P-O solution set are taken, and a ratio of the i-th best H4 makespan value to the Naval Research Logistics DOI 10.1002/nav
i-th best P-O makespan value is calculated for every i = 1, ..., nmin . When nE is different from nH , we deal with the performances as follows: the worst nmax −nmin makespan values of the H4 solution set and the worst nmax −nmin makespan values of the P-O solution set are taken and a ratio of the i-th worst H4 makespan value to the i-th worst P-O makespan value is calculated for every i = 1, ..., nmax −nmin . r 4 is the average of these ratios. Similarly, r 5 is the average of the ratios for the b values. r 6 is the ratio of the number of solutions obtained by H4 to that by P-O. The average and maximum performance measures for each group of instances are shown in Table 6. We set a 1-h time limit for Algorithm P-O to solve an instance. Within the time limit, the algorithm solves all the instances with 10 jobs, almost all (except three) instances with 15 jobs, and about half of the instances with 20 jobs. As shown in Table 6, we can see that in most cases the Pareto solutions generated by H4 are optimal. Like the other heuristics, H4 are very fast and so we have not listed its computation time in the table. Although the Algorithm P-O cannot solve the large problem instances and a lower bound cannot be defined for a solution set, and so the performance of Algorithm H4 cannot be evaluated on the large problem instances, from the results above we can expect Algorithm H4 to generate near-optimal Pareto frontiers for the large-size instances. The computation experiment shows that the branch and bound-based optimal solution methods would take too long to solve problems with more than 20 jobs. Apart from the usual difficulties for general scheduling problems, job deterioration, batching decisions, and bicriteria all add more difficulty to this particular scheduling problem. Whether deterioration happens for a job is related to both sequencing and batching in the schedule. For P4, to find Pareto-optimal solutions, Algorithm P-O need to run Algorithm B&B for each possible b∈n/B, n/B+1, ..., n. In addition, dynamic programming is used in the branch and bound algorithm which takes time to calculate a bound, as a simple and effective bound is hard to find. Thus, the computation time of the exact algorithm P-O
Tang et al.: Bicriteria Scheduling on a Single Batching Machine
is much longer than that of a branch and bound algorithm for a general scheduling problem.
8.
CONCLUSIONS
In this article, we addressed a bicriteria productiontransportation scheduling problem on a single batching machine with deterioration consideration. In the problem, there is a vehicle available that transports the jobs one-by-one from a holding area to the machine for processing, and the processing time of a job deteriorates with its exposure time. We studied four variations of the problem with two performance criteria (the makespan and the number of batches). We proved that they are all strongly NP-hard and further developed polynomial-time algorithms for their special cases. For P1, P2, and P3, three heuristic algorithms were proposed respectively, and their worst-case performances were analyzed. Furthermore, we proved that there exists no approximation algorithm with a constant worst-case ratio for P1 and P2. Computational experiments demonstrated that the proposed heuristic algorithms perform well on randomly generated test instances for P1, P2, and P3, respectively. For P4, we developed an exact algorithm based on branch and bound to identify the set of Pareto optimal schedules, and a heuristic algorithm to obtain approximation Pareto frontier. Computational experiments showed that the exact algorithm can solve the instances with up to 20 jobs within one hour and the heuristic algorithm can generate near optimal solution sets. The problem is worth future investigation in a number of aspects. One possible extension may be to generalize the problem by including multiple vehicles and multiple batching machines. Another possible direction may be to introduce other criteria scheduling into this multicriteria problem.
ACKNOWLEDGMENTS This research is partly supported by State Key Program of National Natural Science Foundation of China (Grant No. 71032004), the Foundation for Innovative Research Groups of the National Natural Science Foundation of China (Grant No. 71321001), and National Natural Science Foundation of China (Grant No. 71101097).
REFERENCES [1] E. Angel, E. Bampis, and A. Kononov, On the approximate tradeoff for bicriteria batching and parallel machine scheduling problems, Theor Comput Sci 306 (2003), 319–338. [2] F.S. Al-Anzi, A. Allahverdi, and M.Y. Kovalyov, Batching deteriorating items with applications in computer communication and reverse logistics, Eur J Oper Res 182 (2007), 1002–1011.
285
[3] M.S. Barketau, T.C.E. Cheng, C.T. Ng, V. Kotov, and M.Y. Kovalyov, Batch scheduling of step deteriorating jobs, J Sched 11 (2008), 17–28. [4] P. Brucker, A. Gladky, H. Hoogeveen, M.Y. Kovalyov, C.N. Potts, T. Tautenhahn, and S.L. van de Velde, Scheduling a batching machine, J Sched 1 (1998), 31–54. [5] Z.-L. Chen, Integrated production and outbound distribution scheduling: Review and Extensions, Oper Res 58 (2010), 130–148. [6] T.C.E. Cheng, Q. Ding, and B.M.T. Lin, A concise survey of scheduling with time-dependent processing times, Eur J Oper Res 152 (2004), 1–13. [7] M.R. Garey and D.S. Johnson, Computers and intractability: A guide to the theory of NP-completeness, W. H. Freeman and Company, New York, 1979. [8] C. He, Y. Lin, and J. Yuan, Bicriteria scheduling on a batching machine to minimize maximum lateness and makespan, Theor Comput Sci 381 (2007), 234–240. [9] H. Hoogeveen, Invited review: Multicriteria scheduling, Eur J Oper Res 167 (2005), 592–623. [10] C.-Y. Lee and Z.-L. Chen, Machine scheduling with transportation considerations, J Sched 4 (2001), 3–24. [11] C.-Y. Lee and V.A. Strusevich, Two-machine shop scheduling with an uncapacitated interstage transporter, IIE Trans 37 (2005), 725–736. [12] C.-Y. Lee, R. Uzsoy, and L.A. Martin-Vega, Efficient algorithm for scheduling semiconductor burn-in operations, Oper Res 40 (1992), 764–775. [13] J.Y.-T. Leung, C.T. Ng, and T.C.E. Cheng, Minimizing sum of completion times for batch scheduling of jobs with deterioration processing times, Eur J Oper Res 187 (2008), 1090–1099. [14] C.-L. Li and J. Ou, Machine scheduling with pickup and delivery, Nav Res Log 52 (2005), 617–630. [15] S. Li, J. Yuan, and B. Fan, Unbounded parallel-batch scheduling with family jobs and delivery coordination, Inf Process Lett 111 (2011), 575–582. [16] B.M.T. Lin and T.C.E. Cheng, Two-machine flowshop scheduling with conditional deteriorating second operations, Int Trans Oper Res 13 (2006), 91–98. [17] L.L. Liu, C.T. Ng, and T.C.E. Cheng, Bicriteria scheduling with equal processing times on a batch processing machine, Comput Oper Res 36 (2009), 110–118. [18] I.N. Lushchakova, A.J. Soper, and V.A. Strusevich, Transporting jobs through a two-machine open shop, Nav Res Log 56 (2009), 1–18. [19] G. Mosheiov, A note on scheduling deterioration jobs, Math Comput Model 41 (2005), 883–886. [20] C.N. Potts and M.Y. Kovalyov, Scheduling with batching: A review, Eur J Oper Res 120 (2000), 228–249. [21] L. Tang and H. Gong, A hybrid two-stage transportation and batch scheduling problem, Appl Math Model 32 (2008), 2467–2479. [22] L. Tang and H. Gong, The coordination of batching scheduling and transportation, Appl Math Model 33 (2009), 3854– 3862. [23] L. Tang, J. Guan, and G. Hu, Steelmaking and refining coordinated scheduling problem with waiting time and transportation consideration, Comput Ind Eng 58 (2010), 239– 248. [24] L. Tang and P. Liu, Flowshop scheduling problems with transportation or deterioration between the batching and single machines, Comput Ind Eng 56 (2009), 1289–1295. Naval Research Logistics DOI 10.1002/nav