Abstract

We consider the bounded parallel-batch scheduling with proportional-linear deterioration and outsourcing, in which the actual processing time is or . A job is either accepted and processed in batches on a single machine by manufactures themselves or outsourced to the third party with a certain penalty having to be paid. The objective is to minimize the maximum completion time of the accepted jobs and the total penalty of the outsourced jobs. For the model, when all the jobs are released at time zero, we show that the problem is NP-hard and present a pseudo-polynomial time algorithm, respectively. For the model, when the jobs have distinct ( ) release dates, we provide a dynamic programming algorithm, where is the number of jobs.

1. Introduction

The parallel-batch scheduling is motivated by burn-in operations in semiconductor manufacturing; see Lee et al. [1] for more details of the background. By Brucker et al. [2], there are two distinct models: the bounded model, in which the bound for each batch size is effective, that is, , and the unbounded model, in which there is effectively no limit on the size of batch, that is, . The extensive survey of different models and results was provided both by Potts and Kovalyov [3] and Zhang and Cao [4].

Scheduling with deterioration was first considered by J. N. D. Gupta and S. K. Gupta [5], and Browne and Yechiali [6]. From then on, this scheduling model has been extensively studied. The monograph by Gawiejnowicz [7] presents this scheduling from different perspectives and covers results and examples. Ji and Cheng [8], Liu et al. [9], and Miao [10] gave some new results for this scheduling.

In classical scheduling literatures, all jobs must be processed. In the practical applications, however, this may not be true. Due to the limited resources, the scheduler can have the option to outsource or reject some jobs. However, outsourced jobs will incur penalties. The scheduling with outsourcing was first considered by Bartal et al. [11]. They studied both the offline and the online versions of scheduling with outsourcing on identical parallel machines, the objective is to minimize the maximum completion time of the accepted jobs and the total penalty of the outsourced jobs.

Cao and Yang [12] presented a PTAS for the combined model of the parallel-batch and rejection where jobs arrive dynamically. The objective is to minimize the maximum completion time of the accepted jobs and the total penalty of the outsourced ones. Lu et al. ([13, 14]) considered the unbounded and bounded parallel-batch scheduling problems with outsourcing on a single machine. Cheng and Sun [15] considered the scheduling with linear deteriorating jobs and rejection on a single machine; they gave the proofs of the NP-hardness and presented some pseudo-polynomial time algorithms and FPTASs for some objectives. Miao [16] considered the bounded parallel-batch scheduling with rejection in the V chapter of her thesis.

In this paper, we consider the bounded parallel-batch scheduling with proportional-linear deterioration and outsourcing on a single machine. The objective is to minimize the maximum completion time of the accepted jobs and the total penalty of the outsourced jobs. We analyze the NP-hardness and present pseudo-polynomial time dynamic programming algorithms for two deterioration models

2. Problem Description and Preliminaries

There are independent nonpreemptive deteriorating jobs to be processed on a single batch machine. The actual processing time of job is or , where , (0), and denote the deteriorating rate and starting time, respectively. has release date and outsourced penalty . Without loss of generality, we assume that the jobs’ parameters are integral, unless stated otherwise. Each job is either accepted to be processed on the machine in batches or outsourced with a penalty having to be paid. The machine can process up to jobs simultaneously as a batch, and the processing time of the batch is equal to the longest time of the job in the batch; in the deterioration model, the deteriorating rate of the batch is equal to the largest deteriorating rate of the job in the batch. Following Gawiejnowicz [7], we denote our problems as and .

Lemma 1 (see [7]). Problem is solvable in time if , for , and the completion time of the th job and the maximum completion time are and , respectively.

Lemma 2 (see [15]). Problem is NP-hard.

Lemma 3 (see [17]). For the single machine scheduling problem , if a schedule , and the starting time of job is , then the makespan is

We list the following useful algorithm stated in Miao et al. [18].

Algorithm FBLDR (fully batching longest deteriorating rate)

Step 1. Reindex jobs in nonincreasing order of their deteriorating rates such that .

Step 2. Form batches by placing jobs through together in the same batch, for .

Step 3. Schedule the batches in any arbitrary order.

The schedule contains at most batches and all batches are full except possibly the last one, where denotes the largest integer less than

3. The Case with Identical Release Dates

In this section, we discuss problem .

3.1. NP-Hardness

From Lemma 2 and Zhang and Miao [19], we can get the following theorem.

Theorem 4. Problem is NP-hard.

3.2. Pseudo-Polynomial Time Algorithm

Theorem 5. For problem , there exists an optimal schedule in which the accepted jobs are assigned to the machine by Algorithm FBLDR.

Assume that the jobs have been indexed so that .

Let be the optimal value of the objective function satisfying the following conditions for problem :(i)The jobs in consideration are .(ii)The number of processed jobs in the last batch is . If there is no such batch, we set .(iii)The total penalty of outsourced jobs is .

We design an algorithm as follows.

Algorithm

Step 1 (initialization) and for . and for .

Step 2 (iteration)If ,If ,.

Step 3 (solution)Define the optimal value:

In Step 2, when job is accepted and , has to start a new batch, combining with Lemma 1, we have , when should be assigned to the last batch which has existed, and the makespan does not change; therefore, . When job is outsourced, .

Theorem 6. Algorithm 1 solves problem in time.

4. The Case with Distinct Release Dates

In this section, we present a dynamic programming algorithm for the case where the jobs have a constant number of release dates.

From Theorem 4, we have that is NP-hard. Assume that jobs have been indexed so that and there are distinct release dates denoted by , where is a constant. We divide into time intervals , where .

Given a schedule , let and for such that jobs in are started at or after but strictly before .

We can locally rearrange the schedule of each subset , without increasing its makespan, so that it follows Algorithm FBLDR as the following lemma.

Lemma 7. For any schedule for to minimize , there exists a schedule for with , such that , and , and the schedule for according to follows Algorithm FBLDR for .

Reindex jobs in nonincreasing order of their deteriorating rates so that . By the above lemma, we partition all jobs into a sequence of disjoint subsets and can assume that each subset is scheduled in time interval according to algorithm FBLPT. If , then there is a starting time at which the first batch of is started. When the last batch of is delay, that is, being finished after (even though it is started before time ), then .

Let be the optimal value of the objective function satisfying the following conditions:(i)The jobs in consideration are .(ii) is the delay time of the first batch starting in which is caused by the last batch starting in . Without loss of generality, we set .(iii) is the total length of batches starting in . If there is no batch starting in , we set .(iv) is the number of jobs in the last batch starting in . If there is no batch starting in time , then we set .(v)The total penalty of the outsourced jobs is .

Finally, we define the makespan of a schedule for jobs as . Hence, the makespan is always at least .

Now, we distinguish two cases.

Case 1 (job is outsourced). In this case, we have

Case 2 (job is accepted). In this case, without loss of generality, we assume that ; then it can be scheduled in time interval . We distinguish two subcases in the following.

Case 2.1 . In this subcase, the last batch starting in is either full or does not exist at all before inserting . Without loss of generality, we assume that the batch is full.

For , let be the increasing time by inserting job in . Then we have ; then . Thus, the total length of batches starting in before inserting is .

Therefore, for , if and , we have

If or , we have .

For and , we haveOtherwise, .

Case 2.2 . In this subcase, can be assigned to the last batch starting in . Therefore, we have

Suppose that for some , if it is accepted, it can only be scheduled at or after . Without loss of generality, suppose that it is scheduled at time interval ; then, .

Combining the above discussion, we design Algorithm 2 as follows.

Algorithm

Step 1 (initialization)

Step 2 (iteration)where is defined as follows:for and .for , , and .

Otherwise, ,for , , and .

Otherwise, .

Step 3 (optimal value)

Define the optimal valuewhere .

Theorem 8. Algorithm 2 solves problem with the running time of , where .

Proof. The correctness of the dynamic programming algorithm 2 is guaranteed by the above discussion. Clearly, we have for and . Then, . Therefore, there is set of possible input value. For each set, it takes time to compute the value of objective. Thus, the running time of algorithm 2 is .

5. Conclusion

In this paper, we presented a pseudo-polynomial time algorithm for and a dynamic programming algorithm for the case where jobs have distinct release dates of problem . For future research, it is worth considering other objectives.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

This research was supported by the Natural Science Foundation of Shandong Province (nos. ZR2014AM012, ZR2014AM021, and 2014ZRB019TM) and the Research Award Foundation of Qufu Normal University (no. xkj201516).