Single-Machine Parallel-Batch Scheduling with Nonidentical Job Sizes and Rejection

: We investigate the single-machine parallel-batch scheduling problem with nonidentical job sizes and rejection. In this problem, a set of jobs with different processing times and nonidentical sizes is given to be possibly processed on a parallel-batch processing machine. Each job is either accepted and then processed on the machine or rejected by paying its rejection penalty. Preemption is not allowed. Our task is to choose the accepted jobs and schedule them as batches on the machine to minimize the makespan of the accepted jobs plus the total rejection penalty of the rejected jobs. We provide an integer programming formulation to exactly solve our problem. Then, we propose three fast heuristic algorithms to solve the problem and evaluate their performances by using a small numerical example.


Introduction
In this paper, we investigate the single-machine parallel-batch scheduling problem with nonidentical job sizes and rejection. This problem can be addressed as follows. We are given a set of s ∈ , and a rejection penalty j e , 1, 2, , j n =  . A job j J is either accepted and then processed on the machine or rejected by paying a certain penalty j e , 1, 2, , j n =  . The machine can simultaneously process a number of jobs as a batch subject to the constraint that the total size of jobs in the batch is not larger than the capacity 1 of the machine. The processing time for a parallel batch is defined as the longest processing time of the jobs in the batch. Preemption is not allowed. Our task is to choose the accepted jobs and schedule them as batches on the single machine to minimize the makespan of the accepted jobs plus the total rejection penalty of the rejected jobs. Let A denote the accepted job subset and R J A = − denote the rejected job subset. Given the accepted job subset A and its corresponding schedule σ , let j C denote the completion time of job j J when job j J is accepted. Then, using the general three-field notation for scheduling problem [1], the problem can be denoted by cost. The first part max C represents the maximum completion time (i.e., makespan), which describes the cost for working time. The second part j j R e ∈  represents the total rejection penalty, which describes the cost for outsourcing and/or for loss in revenue and customer goodwill. The second part does not have to be scaled since we may always scale the individual rejection penalties. Our problem falls into the category of single-machine batch scheduling. Since Ikura and Gimple [2] initiated the work on the single-machine batch scheduling, single-machine batch scheduling has been investigated extensively in the past few decades. Brucker et al. [3] studied the single-machine batch processing scheduling problem with the goal to minimize regular scheduling criteria that are nondecreasing on the job completion times. Liu and Yu [4] considered the single-machine batch processing scheduling problem with jobs having release dates and the objective function is to minimize the makespan. Cheng et al. [5] investigated an unbounded batch processing machine scheduling problem with jobs having release dates and deadlines. Liu et al. [6] set the complexity of scheduling an unbounded batch machine. Zhang et al. [7] studied the single-machine batch processing scheduling problem with the goal to minimize the makespan. A survey on batch processing scheduling was given by Potts and Kovalyov [8].
In the above-mentioned studies, the assumption that all the jobs are required to be accepted with processing and no rejection is allowed is made. However, in some actual situations, due to the limited production capacity and tight delivery time requirement, the decision-maker may need to reject some jobs by paying the corresponding rejection penalties. In recent years, some researchers have started to focus on batch processing scheduling with job rejection. Lu et al. [9] studied an unbounded parallel-batch processing machine scheduling problem with release dates and rejection with the goal to minimize the makespan plus the total rejection penalty. They showed that the problem is weakly NP-hard and derived a fully polynomial time approximation scheme (FPTAS). Furthermore, for the bounded parallel-batch processing machine scheduling problem with release dates and rejection, Lu et al. [10] proved that it is strongly NP-hard and presented a two-approximation algorithm and a polynomial time approximation scheme (PTAS); Cao and Yang [11] also derived a PTAS. He et al. [12] considered two bi-criteria single parallel batch processing machine scheduling problems with job rejection being allowed; one is to minimize the makespan as long as the total rejection cost is not larger than a given threshold, and the other is to minimize the total rejection cost as long as the makespan is not larger than a given threshold.
Note that, if all jobs have identical processing time and the rejection penalty for each job is infinity, then the problem is just the classical one-dimensional bin packing problem, which is strongly NP-hard [13]. Naturally, our problem max 1| , , | j j j R p batch s rej C e ∈ − +  is strongly NP-hard.
Our problem extends the models proposed in Lu et al. [9] and Zhang et al. [7]. By setting each job has the identical size, the model proposed in Lu et al. [9] is our special case. When we set j e = +∞ , the model proposed in Zhang et al. [7] becomes our special case. The remainder of this paper is organized as follows. In Section 2, we give the integer programming formulation to exactly solve our problem. In Section 3, we proposed three fast heuristic algorithms to solve our problem followed by a numerical example to show the solution results by running these algorithms in Section 4. Finally, we conclude the paper in Section 5.

Integer Programming Formulation
In this section, we derive an integer programming formulation for problem max 1| , , | , , 1,2, , ; ij i {0,1}, 1,2, , ; The objective function in Equation (1) tries to minimize the makespan (maximum completion time) of the accepted jobs plus the total rejection penalty of the rejected jobs. The constraint set in Equation (2) ensures that each job is either accepted to process in some batch or rejected. The constraint set in Equation (3) describes that the total size of the accepted jobs assigned into the same batch is not greater than the capacity size 1. The constraint set in Equation (4) states that there exists a job assigned into some batch if and only if this batch is opened. The constraint set in Equation (5) guarantees that the processing time of each job assigned into some batch is not greater than the longest processing time in this batch. The constraint set in Equation (6) gives the lower bound and upper bound for the longest processing time in some batch. Finally, the constraint sets in Equations (7)-(9) impose the binary restriction on ij Note that the problem includes the well-known strongly NP-hard problem Bin Packing [13] as its special case. Thus, exactly solving its IP Formulation is also strongly NP-hard [13]. It is impossible to solve it exactly in polynomial time according to the NPcompleteness theory [13]. Thus, we turn to design fast heuristic algorithms to obtain an approximate feasible solution. However, if one relaxes the binary variables ij x , i y , and j z , , 1,2, , to real variables, then we obtain its relaxed version for the IP Formulation, which can be exactly solved in polynomial time by using the well-known interior point method [14]. The optimal objective function value of the relaxed version is a lower bound for that of its IP Formulation.

Three Heuristics Algorithms
In this section, we focus on to design some fast heuristic algorithms to solve the approximate solution for problem max 1| , , | j j j R p batch s rej C e ∈ − +  . For the first two heuristic algorithms (Algorithms 1 and 2), the main idea is first to determine the rejected job subset and then construct batches for the accepted jobs to process them in an arbitrary order on the machine. For the third heuristic algorithm (Algorithm 3), the main idea is first to construct batches for the accepted jobs and then by checking each batch determine the rejected job subset. Our heuristic algorithms are listed as follows.

Algorithm 1
Step A π π π  is a permutation of the accepted jobs.
Step Step 4: From Step 5: Processing the opened batches 1 2 , , , k B B B  in an arbitrary order on the machine and output the solution Step 1. First sort all the jobs in J according to the non-increasing order of the job processing times, i.e., ( , , , ) n π π π  is a permutation of (1, 2, , ) n  .
Step 2. Construct a series of rejected job subsets i R as follows: Step 3: From 0 i = to n do the following: Step 3.1: For the accepted jobs in i A , first sequence them in non-increasing order of the job processing times, i.e.,  is a permutation of the accepted jobs in i A .
Step Step 3.4: Processing the opened batches 1 2 , , , in an arbitrary order on the machine. Step 1. First sort all the jobs in J according to the non-increasing order of the job processing times, i.e., ( , , , ) n π π π  is a permutation of (1, 2, , ) n  .
Step 2: Open the first batch 1 B . Initially, let 1 : Step 3: From 1 i = to n, do the following: Step 4: For all the constructed batches q B , , we remove batch q B and reject all the jobs in q B ; otherwise we reserve the batch q B .
Step 5: Processing the reserved batches in an arbitrary order on the machine. the reserved batches are subject to the batch capacity constraint, which implies the outputted solution is feasible. Hence, it is proven. □ The above three algorithms are combinatorial algorithms. Their running times are faster than some meta-heuristic approach proposed by Shojafar et al. [15] for cloud job scheduling problem and bio-inspired greedy or clustering algorithms proposed by Alizadeh et al. in [16] for batch scheduling problems and Amato et al. in [17] for multimedia stories' creation problem from online social networks.

A numerical Example
In this section, we present a small numerical example to show how Algorithms 1, 2 and 3 work and use the exact solution with solving the IP to evaluate the quality of solutions returned by the three heuristics algorithms.
Numerical example. Consider the following 10 n = jobs to be possible processed on a single batch processing machine. The capacity for the machine is 1. The corresponding processing times, sizes and reject penalties for the 10 jobs are shown in Table 1. Table 1. The processing times, sizes and reject penalties for the given 10 job. Solution results. The IP solver used was Lingo 11. Algorithms 1, 2 and 3 were implemented in MATLAB. All tests were run on an Intel Core i5-4200 PC with a 2.5 GHz dual core processor, 4 GB of RAM, and the Windows 10 operating system. The collected times are the actual run times for the program, in seconds.
We first solved the IP formulation for the numerical example with 10 jobs by using Lingo 11, which takes a very long time, about 14 h. We obtained the optimal values for * j Z , 1, 2, ,10 j =  , as shown in Table 2.
According to the values of An illustration chart for the makespan of the optimal solution is shown in Figure 1. Running Algorithms 1, 2 and 3 we obtained the solution results in 5 s. All solution results are shown in Table 3, where "OBJ" denotes the objective function value.

Algorithm
The Accepted Jobs and Its Batches The rejected jobs OBJ    In the actual application, we should run all the three proposed heuristic algorithms and choose the best solution.
Remarks. The above-proposed Algorithms 1, 2 and 3 cannot been applied to other objective functions. If one changes the objective function, then we should redesign the algorithms for the new objective function.

Concluding Remarks
In this paper, we investigate the single-machine parallel-batch scheduling problem with nonidentical job sizes and rejection. Our proposed problem generalizes many existing batch scheduling problems. Our proposed heuristic algorithms are combinatorial and run more quickly than some existing bio-inspired algorithms. It would be interesting to further explore other objective functions and design some fast algorithms with good performance ratio.