• 沒有找到結果。

Heuristic Algorithms for Large-scale Problems

4. Solutions for the Aging Test Scheduling Problem

4.4. Heuristic Algorithms for Large-scale Problems

For small and moderate size aging test scheduling problems with unequal ready times and non-identical job sizes, the mixed integer linear programming model can provide optimal solutions within reasonable amounts of computational time. However, for large size aging test scheduling problems, solving the mathematical model is computationally inefficient. Therefore, three heuristic algorithms are proposed to generate efficient solutions for large problems. The proposed algorithms incorporate the merits of the DELAY heuristic solution procedure proposed by Lee and Uzsoy [51] with some modifications in order to accommodate the parallel batch processing machine environment. The DELAY heuristic algorithm allows for postponement in processing a batch in order to accommodate a job that is due to arrive soon and which might be combined with the delayed batch. This strategy can be used to avoid unacceptable delays

in the completion of scheduled batches. At other times, however, if the expected job is due to arrive much later, it is not advantageous to delay processing as this would cause excessive delays to jobs already waiting to be processed.

The three new heuristic algorithms include the characteristics of unequal ready times, non-identical job sizes, and parallel batch processing machines; they are referred to as Heuristic Algorithm 1 (H1), Heuristic Algorithm 2 (H2), and Mixed-strategy Heuristic Algorithm (MixedH). The first two heuristic algorithms essentially consist of two phases.

Phase I of each modifies the DELAY algorithm (proposed by Lee and Uzsoy [51]) to form appropriate batches by adding a machine capacity checking step in order to accommodate the constraint of non-identical job sizes to enable the processing of batches of varied numbers of jobs. Furthermore, in Phase II of the two algorithms, the original single-machine scheduling idea proposed by Lee and Uzsoy [51] is also extended to accommodate a parallel batch processing machine environment. In this phase, the formed batches are then assigned to parallel batch processing machines and sequenced according to the batch ready times and batch processing times with a minimal makespan criterion. Finally, a mixed-strategy approach is also proposed. Algorithm details are presented as follows.

4.4.1. Heuristic Algorithm 1 (H1)

Phase I: Batch formation–the modified DELAY algorithm (Lee and Uzsoy [51])

Step 0.Let the available set be the set of jobs which are available to be selected as a batch. Sort all jobs associated with ready times in ascending order of magnitude as an unscheduled-job list. Index the ready times in the list as ri. Assign the first job on the

unscheduled-job list into the available set. Set the decision time point (t) as the ready time of the first job (r1) in the available set and set i1 and b1.

Step 1.Arrange the jobs associated with the processing times in the available set in descending order of magnitude. Choose the required number of early jobs in the available set which satisfy the constraint of machine capacity and place them in the candidate batch (b). The longest processing time of all the jobs in batch b serves as the corresponding batch processing time and is denoted as ptb.

Step 2. Check whether there is a job (j) on the unscheduled-job list which satisfies constraints rj  t ptb and pjptb , where 0  1 . If a job (j) satisfies the conditions, then put job (j) into the candidate batch (b) and go to Step 3. Otherwise go to Step 4.

Step 3. If

q bpqptb or

q bsqS where 0  3 and



1 

N

j s Sj , then they do not form a part of the candidate batch (b); therefore, let

 1

i i , decision time point (t) be ri, and then go to Step 5. Otherwise, go to Step4.

Step 4.Form candidate batch (b), let t t pt  b, then remove those jobs which are formed in batch b from the unscheduled-job list, set i1, b b 1, and go to Step 6.

Step 5.Select the maximum time value between the current decision time point and the smallest ready time in the unscheduled-job list as the new decision time point. Choose the jobs which have ready times which are earlier than the new point in decision time (t) to update the available set. Go back to Step 1 to reform the candidate batch.

Step 6. Repeat Step 5 until no more candidate jobs can be found on the unscheduled-job list.

Phase II: Batch scheduling

Step 1.Calculate the batch ready time and batch process time for each batch.

Step 2.Sort the batch ready times in ascending order of magnitude.

Step 3. If the ready times of some of the batches are equal, then sort the batch processing times in descending order of magnitude.

Step 4.Schedule the first batch into the first available machine and then remove the batch from the batch list.

Step 5.Repeat Step 4 of Phase II until all batches are scheduled.

In Step 2 of Phase I, Lee and Uzsoy [51] used parameter to accommodate the postponement idea of the DELAY heuristic algorithm. Parameter can be used to examine whether there exists a job with a ready time which is less than or equal to the summation of the current decision time point and the ptb time units. In addition, its corresponding job processing time is greater than or equal to the ptb. If such a job exists, the job might be combined with the delayed batch to avoid delaying that job.

4.4.2. Heuristic Algorithm 2 (H2)

In Phase II of Heuristic Algorithm 1 (H1), the batches are mainly scheduled based on their batch ready times. If the number of batches to be processed is slightly greater than the number of machines available to process them and, furthermore, if the processing times of some batches are relatively short, then the result may be that H1 performs poorly because the individual short-process-time batches have been assigned to different machines resulting in a longer makespan. In attempting to improve the solution,

an alternative approach which combines the ready and processing times is proposed. The algorithm is described in following.

Phase I: Batch formation

Use the same process as for Phase I of Heuristic Algorithm 1 (H1).

Phase II: Batch scheduling

Step 1.Calculate the batch ready times (rb) and the batch process times (ptb), which are determined by the latest ready time and the longest processing time of all the jobs in one batch, respectively.

Step 2.Calculate Tb  rbptb.

Step 3. Assign batches on K parallel batch processing machines using the longest processing time (LPT) rule (here it is assumed that the value of Tb represents the processing time for the LPT rule).

Step 4.Sequence batches on each machine in ascending order based on batch ready times.

4.4.3. Mixed-strategy Heuristic Algorithm (MixedH)

In attempting to obtain better solutions, a mixed-strategy approach, which has been considered by Frederickson [33], is presented. The mixed-strategy approach first uses H1 and H2 algorithms to generate two complete aging test scheduling problem solutions, then selects the best one. This approach is referred to as the Mixed-strategy Heuristic Algorithm (MixedH). As MixedH consists of two efficient algorithms, each of which performs some certain cases well, the solutions obtained from this algorithm are

improved. MixedH also involves two phases. Phase I, as in Phase I of H1, determines the batch formations. However, Phase II performs the solution procedures of the Phase II of H1 and H2 simultaneously to determine the final sequence and to select the value with the minimum makespan from the two solutions available.