Abstract

In many real scheduling environments, a job processed later needs longer time than the same job when it starts earlier. This phenomenon is known as scheduling with deteriorating jobs to many industrial applications. In this paper, we study a scheduling problem of minimizing the total completion time on identical parallel machines where the processing time of a job is a step function of its starting time and a deteriorating date that is individual to all jobs. Firstly, a mixed integer programming model is presented for the problem. And then, a modified weight-combination search algorithm and a variable neighborhood search are employed to yield optimal or near-optimal schedule. To evaluate the performance of the proposed algorithms, computational experiments are performed on randomly generated test instances. Finally, computational results show that the proposed approaches obtain near-optimal solutions in a reasonable computational time even for large-sized problems.

1. Introduction

Scheduling is a form of decision making that plays a crucial role in manufacturing and service systems. It began to be taken seriously in manufacturing at the beginning of 20th century, and since then has been received the attention of many researchers for years. In the traditional scheduling problems, most research in the literature was usually conducted under the assumption that the processing time of a job is known in advance and remains constant throughout the whole decision process. However, there are many practical situations where the processing times of jobs are not constant but increasing overtime such that the later a job starts, the longer it takes to process. This phenomenon is known as scheduling with deteriorating jobs to many industrial applications, such as equipment maintenance, steel production, medical emergency, firefighting, and other problems. In these cases, the corresponding scheduling problem was first studied by Browne and Yechiali [1] and J. N. D. Gupta and S. K. Gupta [2]. They assumed that the processing time of all jobs is a function of their starting point (𝑝𝑖=π‘Žπ‘–+𝛼𝑖×𝑠𝑖), where π‘Žπ‘– is the normal processing time, 𝛼𝑖 is a deterioration rate, and 𝑠𝑖 is the starting time of job 𝑖. From then onwards, more papers considering scheduling jobs with deterioration effects have been published recently [3–19]. Comprehensive reviews and discussions of different models and problems with time-dependent processing times were given by [20, 21].

Most of the current researches in deteriorating jobs scheduling problems assume that the job processing times are linear functions of their starting times. However, in many practical situations, if some jobs fail to be processed prior to a prespecified deteriorating date, then the jobs will require extra time for successful completion. As a result, the original schedule may become inapplicable under the new environment. This motivates the research of the scheduling problem with piecewise-deteriorating jobs. There are often two types of scheduling problems relevant to the piecewise-deteriorating model in the literature. The first one is step-deterioration scheduling problem [22]. Another one is piecewise-linear-deteriorating scheduling problem [23]. In this paper, we study the first kind of scheduling problem. Considering a set of 𝑛 jobs with deteriorating date 𝑑𝑖 for job 𝐽𝑖, the processing time 𝑝𝑖 for job 𝐽𝑖 is π‘Žπ‘– if it is started before the deteriorating date and π‘Žπ‘–+𝑏𝑖 if the starting time 𝑠𝑖>𝑑𝑖, where π‘Žπ‘– is the normal processing time, 𝑏𝑖 is a deteriorating penalty. The objective is to schedule the 𝑛 jobs on parallel machines to minimize the sum of job completion times. The scheduling problem with step-deterioration jobs is NP-complete even if in single machine environment [24]. As for such a problem over a certain size, it is handicapped to render an optimal schedule within a reasonable run time, depending on exact methods. Hence, some approximate solution techniques are employed to yield an optimal or near-optimal schedule for such problems.

In this paper, a modified weighted combination search algorithm (MWCSA) is firstly proposed to obtain near optimal solution. Subsequently, variable neighborhood search (VNS) algorithm is employed to yield the better schedule for the problem under consideration. VNS is one of the modern metaheuristic techniques that use systematic changes of the neighborhood structure within a local search to solve optimization problem [25, 26]. Owing to incorporating a lot desirable properties for a metaheuristics such as simplicity, efficiency, effectiveness, generality, and so forth, VNS has been widely used to combinatorial optimization problems in recent years. In addition, to improve the performance of VNS, the proposed heuristic MWCSA is utilized to produce initial solution for the VNS. The effectiveness of the proposed approaches is demonstrated by computational results based on a large set of randomly generated test instances.

This paper is organized as follows: Section 2 reviews the relevant literature in this area of scheduling. Section 3 gives a brief description of the problem under consideration and formulates the corresponding mixed integer programming model. A detailed description of the heuristic MWCSA and VNS algorithm are elaborated in Section 4. The performances of the VNS and the heuristic algorithms are shown in Section 5. Conclusions are given in Section 6.

2. Literature Review

We discuss related work with respect to the scheduling problem with piecewise-deteriorating jobs and with regard to VNS methods in scheduling, especially for parallel machines.

Since many different problems are encountered in production and service environments where the processing time of jobs or tasks can be modeled as the piecewise-deteriorating function, many active researchers in the field of scheduling have perceived the promising advantages of considering the piecewise-deteriorating jobs in scheduling problems. Kunnathur and Gupta [27] firstly assumed that job processing times are piecewise-linear function of their starting times with two pieces and addressed five heuristics and two optimizing algorithms based on dynamic programming and branch and bound techniques. However, Sundararaghavan and Kunnathur [22] considered that the processing time can be modeled by step function and gave some solvable cases for minimizing the sum of the weighted completion times in single machine scheduling. In addition, Mosheiov [28] studied the problem of stepwise deteriorating jobs for minimizing makespan, proved that the case of single machine step-deterioration is NP-complete, and suggested heuristic methods in single and multimachine scheduling environments.

Cheng and Ding [24] studied a piecewise model where the job processing time deteriorates as a step function if its starting time exceeds a given threshold, and presented NP-complete proofs for minimizing makespan, flow time, and weighted flow time in single machine scheduling. Jeng and Lin [29] presented a pseudopolynomial time dynamic programming algorithm for a single-machine scheduling problem. Then, they described an efficient branch and bound algorithm based on two dominance rules and a lower bound for deriving optimal solution. Subsequently, a single machine scheduling problem of minimizing the total completion time was solved by branch and bound algorithms [30]. Owing to the complexity of the problem, He et al. [31] proposed a weight combination search algorithm to yield a near-optimal solution. They also developed a branch and bound algorithm incorporated with several properties and a lower bound to obtain the optimal solution. Afterwards, Layegh et al. [32] applied a memetic algorithm based on three dominance properties to minimize the total weighted completion time on a single machine under step-deterioration.

With regards to the piecewise-linear-deterioration model, Kovalyov and Kubiak [33] investigated that the job processing time can be expressed by a piecewise-linear-increasing function with three pieces and presented a fully polynomial approximation scheme for minimizing makespan of single machine scheduling problem. Then Kubiak and van de Velde [23] proved that the problem is NP-hard, and proposed a branch and bound algorithm that solves instances with up to 100 jobs in a reasonable amount of time. Alternatively, the processing job times was expressed in a piecewise-linear-decreasing function of their start times. The single machine scheduling problem was researched by Cheng et al. [34]. Moslehi and Jafari [35] dealt with the same problem proposed by [33] with the minimization of the number of tardy jobs. Owing to the complexity of the studied problem, they proposed a heuristic algorithm with 𝑂(𝑛2) and a branch and bound algorithm.

As far as reviewed, there are some literature focused on single machine scheduling problem with piecewise-deteriorating jobs. However, to the best of our knowledge, parallel machines scheduling problem with piecewise deteriorating jobs has not been considered in the existing literature. And it still lacks some effective approaches to solve the intractable problem, especially metaheuristics. Therefore, we intend to propose a VNS approach for parallel machines scheduling problem with step-deteriorating jobs.

VNS approaches have successfully applied to solve several scheduling problems. Gupta and Smith [36] described a new hybrid of VNS for single machine total tardiness scheduling with sequence-dependence setups. Paula et al. [37] applied a VNS algorithm to solve large instances of parallel machines scheduling problems with sequence-dependent times. Anghinolfi and Paolucci [38] contributed to the design of a hybrid meta-heuristic approach which integrates several features from tabu search (TS), simulated annealing (SA), and VNS for a generalized parallel machine total tardiness scheduling problem. Moreover, Driessel and MΓΆnch [39] proposed several variants of VNS schemes for the same problem considered precedence constraints to minimize the total weighted tardiness of all jobs. Behnamian et al. [40] proposed a hybrid meta-heuristic method which combines some advantages of ant colony optimization, SA and VNS for the minimization of makespan in parallel machine scheduling problem with sequence-dependent times. C.-L. Chen and C.-L. Chen [41] proposed several hybrid metaheuristics for unrelated parallel machine scheduling with sequence dependent setup times by integrating VNS and TS principles. Furthermore, some job shop scheduling problems were solved by VNS [42–45]. A latest systemic survey of state-of-the-art development of VNS can be found in [46].

3. Problem Formulation

The problem under consideration is to schedule 𝑛 independent jobs with step-deterioration effects, noncommon deadlines and varying processing times on π‘š identical parallel machines. The jobs are available for processing at time zero and the machines are available in the whole process. No job preemption is permitted. For each job 𝐽𝑖, there is a normal processing time π‘Žπ‘– and associated with a deteriorating date 𝑑𝑖. If the starting point of its process is less than or equal to its deteriorating date, then it only requires a normal processing time π‘Žπ‘–. Otherwise, it requires an extra processing time 𝑏𝑖, which is called the deteriorating penalty. Thus, the actual processing time 𝑝𝑖 of job 𝐽𝑖 depends on its starting time 𝑠𝑖 and deteriorating date 𝑑𝑖, and can be defined as a step-function: 𝑝𝑖=π‘Žπ‘– if 𝑠𝑖≀𝑑𝑖; 𝑝𝑖=π‘Žπ‘– + 𝑏𝑖, otherwise. Without loss of generality, it is assumed that parameters π‘Žπ‘–, 𝑏𝑖, and 𝑑𝑖 are all integers. Let 𝐢𝑖 denote the completion time of job 𝐽𝑖. The goal of the problem is to find a schedule such that the total completion time, or the sum of completion times, of all jobs is minimized. This problem is denoted as π‘ƒπ‘š/𝑝𝑖=π‘Žπ‘– or π‘Žπ‘–+𝑏𝑖,𝑑𝑖/βˆ‘πΆπ‘– by adopting the standard three-field notation.

For convenience, a job is called early if its starting time is before or at its deteriorating date; tardy, otherwise. For schedule S, the objective value is denoted by Z(S). In addition, let 𝑀 be a sufficiently large positive number. Before formulating the proposed mixed integer programming model, the following variables have to be defined. π‘₯π‘–π‘—π‘˜: Binary, set to 1 if job 𝑖 is immediately followed by job 𝑗 in sequence on machine k; 0, otherwise (1≀𝑖,𝑗≀𝑛,1β‰€π‘˜β‰€π‘š)β€‰π‘¦π‘–π‘˜: Binary, set to 1 if job 𝑖 is assigned to machine π‘˜; 0, otherwise (1≀𝑖≀𝑛,1β‰€π‘˜β‰€π‘š).

Based on the definitions and notation described above, the considered problem can now be formulated as 0-1 mixed integer programming model, as shown below.Minimize𝑍(𝑆)=𝑛𝑖=1𝐢𝑖.(3.1) Subject to: 𝑝𝑖=ξ‚»π‘Žπ‘–,π‘ π‘–β‰€π‘‘π‘–π‘Žπ‘–+𝑏𝑖,otherwiseβˆ€π‘–=1,…,𝑛,(3.2)𝑛𝑖=1π‘₯0π‘–π‘˜=1βˆ€π‘˜=1,…,π‘š,(3.3)𝑛𝑖=1π‘₯𝑖(𝑛+1)π‘˜=1βˆ€π‘˜=1,…,π‘š,(3.4)𝑛𝑖=0,𝑖≠𝑗π‘₯π‘–π‘—π‘˜=π‘¦π‘—π‘˜βˆ€π‘—=1,…,𝑛,βˆ€π‘˜=1,…,π‘š,(3.5)𝑛+1𝑗=1,𝑖≠𝑗π‘₯π‘–π‘—π‘˜=π‘¦π‘–π‘˜πΆβˆ€π‘–=1,…,𝑛,βˆ€π‘˜=1,…,π‘š,(3.6)𝑖β‰₯𝑝𝑖π‘₯+𝑀0π‘–π‘˜ξ€ΈπΆβˆ’1βˆ€π‘–=1,…,𝑛,βˆ€π‘˜=1,…,π‘š,(3.7)𝑗β‰₯𝐢𝑖+𝑝𝑗π‘₯+π‘€π‘–π‘—π‘˜ξ€Έπ‘ βˆ’1βˆ€π‘–=1,…,𝑛,βˆ€π‘—=1,…,𝑛,βˆ€π‘˜=1,…,π‘š,(3.8)𝑖π‘₯β‰₯𝑀0π‘–π‘˜ξ€Έπ‘ βˆ’1βˆ€π‘–=1,…,𝑛,βˆ€π‘˜=1,…,π‘š,(3.9)𝑗β‰₯𝐢𝑖π‘₯+π‘€π‘–π‘—π‘˜ξ€Έβˆ’1βˆ€π‘–=1,…,𝑛,βˆ€π‘—=1,…,𝑛,βˆ€π‘˜=1,…,π‘š,(3.10)π‘šξ“π‘˜=1π‘¦π‘–π‘˜π‘₯=1,βˆ€π‘–=1,…,𝑛,(3.11)π‘–π‘—π‘˜,π‘¦π‘–π‘˜βˆˆ{0,1},βˆ€π‘–=1,…,𝑛,βˆ€π‘—=1,…,𝑛,βˆ€π‘˜=1,…,π‘š.(3.12)

In the above mathematical model, the objective (3.1) minimizes the total completion time. Constraints (3.2) depict the processing time of the step-deteriorating jobs. Constraints (3.3) and (3.4) ensure that only one job can be processed at the first and the last position on each machine. Constraints (3.5) and (3.6) guarantee that each job is scheduled only once and processed by at most one machine. Constraints (3.7) define the completion time of the first job assigned to a machine. Constraints (3.8) represent that the completion time of a job in sequence on each machine will be at least equal to the sum of the completion time of the preceding job and the processing time of the present job, if the job is immediately schedule after the previous job. Constraints (3.9) define the starting time of the first job assigned to a machine. Constraints (3.10) state that the starting time of a job in sequence on each machine is greater than or equal to the completion time of the preceding job. Constraints (3.11) confirm that each job is only processed to exactly one machine. Constraints (3.12) specify that the decision variable π‘₯ and 𝑦 is binary over all domains.

This described problem is NP-complete because the single machine problem 1/𝑝𝑖=π‘Žπ‘– or π‘Žπ‘–+𝑏𝑖,𝑑𝑖/βˆ‘πΆπ‘– has proven to be NP-complete by [24]. There exists no polynomial time algorithm for the exact solution of the considered problem. Therefore, we have to look for some efficient heuristic or meta-heuristic algorithms to yield near optimal solutions of large-sized problems in a reasonable computational time.

4. Heuristic Solution Approaches

In this section, we start with presenting one property. Then we modify a heuristic proposed in a literature. Subsequently, some detailed descriptions of VNS meta-heuristic are given.

Since the identical parallel machines scheduling problem βˆ‘πΆπ‘ƒπ‘š//𝑖 is solvable in O(NlogN) time using the generalized shortest processing time (GSPT) rule [47]. Therefore, we can also use the same method to determine the sequence of early jobs and tardy jobs assigned to a given machine for minimizing the total completion time. Based on the GSPT, we obtain the following property directly.

Property 1. On each machine of an optimal solution for the considered problem, early jobs and tardy jobs are sequenced in the nondecreasing order of π‘Žπ‘– and π‘Žπ‘–+𝑏𝑖, respectively.

Proof. The proof is straightforward from the SPT rule on π‘Žπ‘– and π‘Žπ‘–+𝑏𝑖, respectively.

4.1. Modified Weight Combination Search Approach

He et al. [31] proposed weight combination search approach (WCSA) to solve single machine total completion time scheduling problem with step-deteriorating jobs. The performance of the WCSA is relatively excellent compared to the proposed branch and bound algorithm within 24 jobs. Based on the good performance of the algorithm, it is modified to adapt the parallel machine model by incorporating Property 1. But the ranges of the weights in the literature are not suitable for parallel machine scheduling. For specifying the suitable ranges of the weights we carried out the preliminary tests of 30 10-job instances and found that the linear combination of π‘Žπ‘–, 𝑑𝑖, and 𝑏𝑖 will acquire better results if πœ”1∈[0.4,0.75],πœ”2∈[0.2,0.5] and πœ”3=1βˆ’πœ”1βˆ’πœ”2. The procedure of the modified WCSA (MWCSA) is designed as show in Algorithm 1.

Procedure: the modified WCSA for the parallel machine scheduling problem
Inputs:   𝑛 , π‘š , π‘Ž 𝑖 , 𝑑 𝑖 , 𝑏 𝑖 for 𝑖 = 1 ,…, 𝑛
Output: the near optimal scheme S_opt  and the associated total completion time TC
Begin
 let 𝑁 0 = { 𝐽 1 , 𝐽 2 , … , 𝐽 𝑛 }   be the sequence that sorts all the jobs by ascending order of their
 normal time π‘Ž 𝑖 ,
 set TC = infinity, and 𝑆 _ π‘œ 𝑝 𝑑 π‘˜ = Ξ¦   for π‘˜ = 1 , … , π‘š    % initialize the 𝑇 𝐢 and 𝑆 _ π‘œ 𝑝 𝑑
 set v a r = m a x { 2 , ⌈ 𝑛 / π‘š βŒ‰ }             % initialize the ranges of 𝑙 1 and 𝑙 2
 for ( 𝑙 1 = 1 ;   𝑙 1 ≀ v a r ; 𝑙 1 ++)
    πœ” 1 = 0 . 4 + ( 0 . 7 5 βˆ’ 0 . 4 ) Γ— ( ( 𝑙 1 βˆ’ 1 ) / ( v a r βˆ’ 1 ) )
   for ( 𝑙 2 = 1 ; 𝑙 2 ≀ v a r ; 𝑙 2 ++)
     πœ” 2 = 0 . 2 + ( 0 . 5 βˆ’ 0 . 2 ) Γ— ( ( 𝑙 2 βˆ’ 1 ) / ( v a r βˆ’ 1 ) )
     πœ” 3 = 1 βˆ’ πœ” 1 βˆ’ πœ” 2
    set 𝑁 = 𝑁 0
    set 𝑆 = Ξ¦ for π‘˜ = 1 , … , π‘š           % initialize the scheme 𝑆
    set 𝐢 m a c ( π‘˜ ) = 0 , for π‘˜ = 1 , … , π‘š        % initialize the completion
                       time of all machines
    set 𝐢 j o b ( 𝑖 ) = 0 , for 𝑖 = 1 , … , 𝑛         % initialize the completion
                       time of all jobs
    for ( 𝑖 = 1 ;   𝑖 ≀ π‘š ;   𝑖 ++)
     select the machine β„Ž that has the least completion time in all machines
     select the job 𝐽 β„Ž that has the least normal time from 𝑁
      𝑆 β„Ž = 𝑆 β„Ž βˆͺ { 𝐽 β„Ž }
      𝐢 m a c ( β„Ž ) = 𝐢 m a c ( β„Ž ) + π‘Ž ( 𝐽 β„Ž )
      𝐢 j o b ( 𝐽 β„Ž ) = 𝐢 m a c ( β„Ž )
     delete job 𝐽 β„Ž from 𝑁
   end for
   for ( 𝑗 = π‘š + 1 ; 𝑗 ≀ 𝑛 ;    𝑗 ++)
    select the machine 𝑓 that has the least completion time in all machines
    if ( 𝐢 m a c ( 𝑓 ) > m a x { 𝑑 ( 𝐽 π‘Ÿ ) , ( 𝐽 π‘Ÿ ∈ 𝑁 ) }       % tardy jobs are sequenced in the
                      nondecreasing order of π‘Ž 𝑖 + 𝑏 𝑖
     select the job 𝐽 𝑓 with the smallest π‘Ž ( 𝐽 𝑓 ) + 𝑏 ( 𝐽 𝑓 ) from 𝑁
      𝑆 𝑓 = 𝑆 𝑓 βˆͺ { 𝐽 𝑓 }
      𝐢 m a c ( 𝑓 ) = 𝐢 m a c ( 𝑓 ) + π‘Ž ( 𝐽 𝑓 ) + 𝑏 ( 𝐽 𝑓 )
      𝐢 j o b ( 𝐽 𝑓 ) = 𝐢 m a c ( 𝑓 )
     delete job 𝐽 𝑓 from 𝑁
    else                 % arrange the jobs in a ascending
                       order of the weight of combination
     set 𝑁 ξ…ž = { 𝑑 ( 𝐽 π‘Ÿ ) β‰₯ 𝐢 m a c ( 𝑓 ) , ( 𝐽 π‘Ÿ ∈ 𝑁 ) }
     select job 𝐽 𝑓   with the smallest πœ” 1 Γ— π‘Ž ( 𝐽 𝑓 ) + πœ” 2 Γ— 𝑑 ( 𝐽 𝑓 ) βˆ’ πœ” 3 Γ— 𝑏 ( 𝐽 𝑓 )    f r o m    𝑁 ξ…ž
      𝑆 𝑓 = 𝑆 𝑓 βˆͺ { 𝐽 𝑓 }
      𝐢 m a c ( 𝑓 ) = 𝐢 m a c ( 𝑓 ) + π‘Ž ( 𝐽 𝑓 )
      𝐢 j o b ( 𝐽 𝑓 ) = 𝐢 m a c ( 𝑓 )
     delete job 𝐽 𝑓 from 𝑁
    end if
   end for
    𝑇 𝐢 _ t e m p = s u m { 𝐢 j o b ( 𝑖 ) = 0 ,  for   𝑖 = 1 , … , 𝑛 }
   if   𝑇 𝐢 _ t e m p < 𝑇 𝐢              % update the scheme 𝑆 _ π‘œ 𝑝 𝑑 and the
                       assisted completion time 𝑇 𝐢
     𝑇 𝐢 = 𝑇 𝐢 _ t e m p
     𝑆 _ π‘œ 𝑝 𝑑 = 𝑆
   end if
  end for
 end for
End

From Algorithm 1, all jobs are sorted in non-decreasing order of their normal processing times π‘Žπ‘–. The first π‘š jobs are assigned to π‘š machines, respectively. Then the last π‘›βˆ’π‘š jobs are arranged in a non-decreasing order of the weight combination of processing time, deteriorating date and deterioration penalty. Of course, if the completion time of the last scheduled job is greater than the maximal deteriorating date of the unscheduled jobs, then the remaining jobs are indexed in the order of sum of their normal processing times and deterioration penalties.

4.2. Variable Neighborhood Search Metaheuristic

VNS, a new local search technique, attempts to escape from local optimum by exploring more than one type of neighborhood search structure (NSS) during the course of the algorithm. In practice, VNS is very similar to iterated local search (ILS). Owing to iterating over one constant type of neighborhood structure, ILS is easy to stick in local optima: the single move required to improve the solution cannot escape from the found local optima, and even lead to a deterioration of the solution quality. The disadvantage is also existed in some other metaheuristics, such as simulated annealing, and tabu search. However, VNS makes full use of some NSSs until some stopping criterion is met. By exploring various NSSs, we expect VNS to enjoy a systematic diversification mechanism. Besides this diversification mechanism, the other reasons to high acceptability and popularity of VNS among researchers are due to conceptual simplicity to understand and implement and the high flexibility and brilliant adaptability to different problems. Consequently, we intend to use it to solve our problem.

Since the VNS was proposed in 1997, some variants of VNS are developed by Hansen and Mladenović [25]. Variable neighborhood descent (VND), as one of these variants of VNS, performs change of neighborhoods in a deterministic way and adopts the first improvement rather than the best improvement. In the subsequent subsection, we are going to employ a VNS with five powerful NSSs based on insertion, swap, and inversion under the framework of VND.

4.2.1. Encoding, Decoding, and Initialization Schemes

Encoding scheme is a procedure to make a solution recognizable for an algorithm. Permutation list is a common used encoding scheme for combinatorial optimization problems. Since the parallel machines scheduling problem is a combination of machine assignment and operation sequencing decisions, we construct five neighborhood structures that expediently use insertion, swap, and inversion operations based on permutation list. A good initial solution can reduce considerably the computational time. According to observing the processing sequence of jobs, we find that a job with the smallest normal processing time should be processed at first, and a job with the largest penalty should be processed at last. Therefore, we can obtain the initial solution by arranging jobs in the non-decreasing order of the ratio of π‘Žπ‘–/𝑏𝑖. The sample sequencing method is called smallest rate first (SRF). A permutation with all jobs sequence can express the order in which the jobs are processed. To decode a permutation list into a schedule, we use LIST method. For one solution sequence, whenever a machine is freed the job that is chosen from the sequence in succession is put on the machine.

The procedures of encoding and decoding a candidate solution are illustrated according to an example. Consider a problem with 8 jobs and 2 machines. The parameters of all jobs are given in Table 1. The initial solution is obtained by using SRF, as shown in Figure 1. The job that is selected from the solution sequence one by one is processed by the machine with the smallest completion time. The schedule is also depicted in Figure 1. We calculated that the total completion processing time is 1113.

4.2.2. Neighborhood Search Structures

The main purpose of applying a neighborhood structure is to produce a neighboring solution from the current solution via making some changes in it. A variety of neighborhood structures have been applied to scheduling problems. Most of these neighborhood structures are based on insertion or swap operations. In addition, the inversion operation has been reported to be significantly surpassing all the modified forms of crossover of genetic algorithm especially tailored to deal with combinational problems [48]. Therefore, we define five types of neighborhood search structures based on insertion, swap, and inversion.

To generate a neighboring solution, NSS1 makes some slight changes in the candidate solution by swapping the positions of all jobs in the sequence with one selected job at random and without repetition. All jobs are selected one after another without repetition in a random order. If we observe the first improvement, the associated sequence is accepted and the procedure restarts. According to the NSS1, some available neighboring searches are found and used to improve the candidate solution. The whole procedure repeats so long as no improvement is obtained through swap all jobs with another randomly selected job. The procedure of NSS1 is described in Algorithm 2 in detail. After implementing all swap operations, we believe that there is little hope for further improvement just by swapping two jobs on their positions. Hence, it necessitates consider another neighborhood structure to escape from this local optimum of the NSS1. Subsequently, we need to introduce another NSS to search potential improvement based on insertion moves.

Procedure: 𝑁 𝑆 𝑆 1
improvement = yes
while (improvement = yes) do
   improvement = no
   𝑖 = 1
 while   𝑖 ≀ 𝑛   do    ( 𝑛 is the number of jobs)
  select randomly one job 𝑝 without repletion from the current solution π‘₯
   π‘₯ ξ…ž   = swap job i and job p on their positions.
   if  Z( π‘₯ ξ…ž ) < Z(x) do
    π‘₯ = π‘₯ ξ…ž
    𝑖 = 𝑛
    improvement = yes
   end  if
   𝑖 = 𝑖 + 1
 end  while
end  while

In our NSS2, the procedure is similar to the NSS1. The only difference between them is their move pattern that NSS2 changes the position of one job based on insertion neighborhood. A job is removed from the sequence at random and without repetition, and then relocated another random selected position. The other procedure is the same as the NSS1. To avoid duplicated description, it is unnecessary to go into these details here. After relocating all jobs, we feel that the algorithm cannot rely solely on single move to improve the quality of the current solution. Hence, we need to introduce other neighborhood search structure to generate more complex neighbors than the above two structures.

In the NSS3, the number of randomly selected jobs is 2. The manner of choosing these 2 jobs is all the combinations of two-out-of-n jobs. Swap the selected jobs on their positions and observe if the solution is improved. Once observing the first improvement, the associated solution is accepted and the procedure restarts. If not, this search strategy repeats for the subsequent combinations. Algorithm 3 illustrated the whole procedure of the NSS3. By the same way of switching from NSS1 to NSS2, the double insertions are employed in the fourth neighborhood structure NSS4. In the NSS4, the number of removed jobs is set equal to 2. To relocate them, the two jobs are reinserted into two new randomly selected positions. The other procedure is the same to the NSS3.

Procedure: 𝑁 𝑆 𝑆 3
𝑖 = 1
while  i ≀ n do
  𝑗 = 𝑗 + 1
 while   𝑗 ≀ 𝑛   do
  select randomly two jobs p and q from the current solution π‘₯
   π‘₯ ξ…ž = swap the two selected jobs on their positions
  if  Z( π‘₯ ξ…ž ) < Z(x) do
    π‘₯ = π‘₯ ξ…ž
    𝑗 = 𝑛
    𝑖 = 𝑛
  end  if
   𝑗 = 𝑗 + 1
 end  while
  𝑖 = 𝑖 + 1
end  while

To improve further the search performance of the proposed VNS, an inversion operator is embedded into the NSS5 when the foregoing neighborhood search methods terminate. In the NSS5, it randomly selects two positions, known as the points of inversion, and inverts the sequence between these positions. The inversion procedure is repeated Ο† times for producing a new job sequence. Owing to the impact of the parameter πœ‘ on neighborhood search, it must be tuned. The inversion operation is unidirectional, that is, only the inverted sequence is improved, the corresponding solution is accepted to replace the incumbent one. The procedure of is described in Algorithm 4.

Procedure: 𝑁 𝑆 𝑆 5
for   𝑖 = 1 to Ο† do
 select two jobs p and q at random from the current solution π‘₯
  π‘₯ ξ…ž   = invert partial jobs between job 𝑝 and job π‘ž
 if Z( π‘₯ ξ…ž ) < 𝑍 ( π‘₯ ) do
   π‘₯ = π‘₯ ξ…ž
 end  if
end  for

The general outline of the proposed VNS is shown in Algorithm 5. According to using the above neighborhood search structures, the proposed VNS can be quick to yield the near optimal solution. If the neighborhood search structure continues to increase the number of selected jobs, the quality of the algorithm will be not improved according to our primary experiments.

Procedure: the proposed VNS algorithm
Initialization: Define the set of neighborhood structures 𝑁 𝑆 𝑆 π‘˜ , for π‘˜ = 1 ,…, π‘˜ m a x ;
      find a initial solution π‘₯ by SRF heuristic;
      choose a stopping criterion.
π‘˜ = 1
while the stopping criterion is not met do
 perform the neighborhood search structure 𝑁 𝑆 𝑆 π‘˜
 if  x is improved do
  continue the search with 𝑁 𝑆 𝑆 π‘˜
 else
  k = k mod π‘˜ m a x + 1
 end  if
end  while

5. Computational Analysis

To test the performance of our approaches, computational experiments were carried out for the π‘ƒπ‘š/𝑝𝑖 = π‘Žπ‘– or π‘Žπ‘–+𝑏𝑖, 𝑑𝑖/βˆ‘πΆπ‘– problem. More specifically, we also carried out comprehensive computational and statistical tests to assess the performance of MWCSA, and VNS. Firstly, we gave a detailed description of the different instance sets that we have employed. After reporting the results, we carried out comprehensive statistical analyses in order to soundly test the significance of the reported results.

Because there is not a widely available set of benchmark instances for the problem under study, data for the test instances are generated randomly. The normal processing times (π‘Žπ‘–) are randomly generated from an integer uniform distribution on π‘ˆ[1,100]. The deterioration penalties (𝑏𝑖) are randomly picked from an integer uniform distribution on π‘ˆ[1,100×𝛽], where 𝛽=0.5. Let 𝐷𝑓=βˆ‘π‘“Γ—π‘›π‘–=1π‘Žπ‘–/π‘š, 0 ≀ f ≀ 1. The deteriorating dates 𝑑𝑖 are randomly selected from three intervals π‘ˆ(0,𝐷0.5],π‘ˆ[𝐷0.5,𝐷], and π‘ˆ(0,𝐷]. In this paper, we have divided the benchmark instances into 2 different types according to the number of jobs. For small-sized instances, we test all combinations of 𝑛={6,8,10} and π‘š={2,3}. For large-sized instances, we use the combinations of 𝑛={20,40,60,80,100} and π‘š={2,4,6,8,10} to evaluate the proposed algorithms. Since the deteriorating date may be generated from three different intervals, we totally have 6Γ—3+25Γ—3=93 instances.

In order to validate the performance of the proposed approaches, attempts are made to solve the MIP model presented in Section 3 using the software IBM-ILOG CPLEX 12.3 solvers. The software is run on a PC with Intel Pentium Dual-Core 2.60 GHz CPU and 2 GB RAM. Because the problem under consideration is NP-complete, it is impossible to obtain optimal solutions by using some polynomial time algorithms. Therefore, only small-sized instances can be solved to optimality using CPLEX. For the small-sized instances, we use relative percentage deviation (RPD) as a performance measure to compare those results of the CPLEX software, the MWCSA and the VNS. RPD is obtained by given formula below: RPD=𝑍(Alg)βˆ’π‘(OPL)𝑍(OPL)Γ—100,(5.1) where Z(Alg) is the total completion time of the solution obtained by a given algorithm and instance and Z(OPL) is the total completion time of the optimal schedule given by CPLEX. The SRF (small rate first) of Section 4 is also brought into the large-sized instances for comparison. Our purpose to utilize SRF is to use its result as upper bound for a given instance to evaluate the VNS. In addition, the MWCSA is used to obtain the initial solution of the VNS for improving the quality of solutions. The hybrid algorithm, denoted by VNS + MWCSA, is employed for the large-sized instances.

All proposed algorithms in the previous sections were coded in MATLAB 7.11 and implement on the same PC. According to the preliminary tests, the stopping criterion used when testing all instances with the proposed algorithms is set to the maximum iterations time fixed to 200. Thus, there is only one parameter (πœ‘) is tuned in our proposed VNS. The considered candidate levels are 10, 30, 50, and 70. A set of 15 large-sized instances are randomly generated when the number of jobs is fixed to 100. All the 15 instances are solved by these VNSs with different parameter candidate levels. The results were analyzed by the one-way ANOVA test. The means plot and Fisher LSD intervals for the 4 levels of parameter πœ‘ are shown in Figure 2. As we can see, πœ‘ of 50 and 70 provide the better results among all levels. However, it needs more computational time when πœ‘ is 70. Therefore, the most reasonable value of parameter πœ‘ is 50.

CPLEX, SRF, and MWCSA are deterministic and only one run is necessary. The VNS and VNS + MWCSA are stochastic and we need to run some replicates in order to better assess the results. We run each algorithm five times. The listed objective value and computational time are the means of five reported results.

Table 2 provides a comparison of the solutions to the mixed integer programming model generated by the CPLEX and those solutions provided by execution of the proposed MWCSA and VNS algorithms. All small-sized instances were solved to optimality by CPLEX as shown in Table 1. The computational time of the CPLEX increases rapidly as the instance become larger. When the number of jobs is equal to 10, solutions to MIP models require far longer than 1 hour. From Table 1, the longest computational time of CPLEX is 144761.59 seconds (40.21 hours). It is impractical in scheduling for such a long time. In addition, we found that CPLEX is not greatly affected by the distribution of the deteriorating dates almost. While the deteriorating dates are randomly picked from the interval π‘ˆ[𝐷0.5,𝐷], all corresponding instances are relatively easy. This is because the number of deteriorating jobs is less. It is worthwhile to note that the MWCSA behaves well for all small-sized instances and gives an average result of 0.62% deviation from the optimal solution. Specially, eleven of these instances can be solved optimally by the proposed heuristic. Its execution time is far less than 1 second so that its log is not necessary. It can also be noticed that the solutions from the VNS algorithm are optimal for these small-sized instances. Meanwhile, the computational time of these instances given by VNS are not more than 1 second. This means that the VNS algorithm is effective in solving the scheduling problem under study and has significantly better optimization performance than the others.

Tables 3, 4, and 5 show the results of large-sized instances where the deteriorating dates are generated from three different intervals. In order to compare the performance of the proposed algorithms, the ratios of the results of a given algorithm to the values obtained by SRF were calculated out. For the instances with the deteriorating dates generated from interval π‘ˆ(0,𝐷0.5], VNS behaves slightly better than MWCSA. The difference in average rate between two algorithms is only 2.26%. For other two types of instances with intervals π‘ˆ[𝐷0.5,𝐷] and π‘ˆ(0,𝐷], the VNS and VNS + MWCSA strikingly outperformed the MWCSA heuristic because of its larger search space. As a rule of thumb, a given algorithm takes possession of the better initial solution and should yield better result. However, the hybrid algorithm, with longer run times, does not perform noticeably better than the VNS. It is chiefly because the VNS carries out enough neighborhood searches before the stopping criterion meets. The rates of three different types of instances were plotted into smooth curves shown in Figures 3, 4, and 5. It can be seen from those figures that the performance of MWCSA heuristic is not particularly robust as regards the distribution of the deteriorating date. Alternatively, VNS and VNS + MWCSA are statistically better than MWCSA for three types of instances.

6. Conclusions

This paper considers the identical parallel machines scheduling problem with step-deteriorating jobs. The processing time of each job is a step function of its starting time and a deteriorating date that is individual to all jobs. The problem is to determine the allocation of jobs to machines as well as the sequence of the jobs assigned to each machine for the criteria of minimizing the total completion time. A mathematical model for this problem has been formulated. Since the problem under study is NP-complete, it is impossible to solve large-sized instances to optimality. To solve the tackled problem, a heuristic MWCSA and a VNS are proposed to obtain the near optimal solutions. In order to further improve the quality of solution, the heuristic MWCSA has been hybridized with the VNS algorithm and implemented to provide a good initial solution. Numerical experiments are conducted on small- and large-sized instances. Computational results show that MWCSA produces some good solutions compared to CPLEX, but the performance is greatly affected by the distribution of the deteriorating date. In contrast, VNS and VNS + WMCSA are robust as regards three types of instances. Therefore, fairly good solutions can be obtained by the proposed methods within reasonable amount of time.

For further study, it is worth considering the setup times between jobs for the problem of scheduling jobs with piecewise-deterioration on multimachine. In addition, other efficient constructive heuristics and neighborhood properties are worthwhile to investigate for improving the quality of solutions.

Acknowledgments

This work is partially supported by the National Natural Science Foundation of China under Grant no. 51175442, the Youth Foundation for Humanities and Social Sciences of Ministry of Education of China under Grant no. 12YJCZH296, the Ph.D. Programs Foundation of Ministry of Education of China under Grant no. 200806131014, and the Fundamental Research Funds for the Central Universities under Grant nos. SWJTU09CX022, 2010ZT03.