• 沒有找到結果。

Three-phase Modified Parallel Savings Algorithm

3. Algorithms for the Printed Circuit Board Bonding Scheduling Problem

3.4. Algorithms for the PCBSP

3.4.3. New Algorithms

3.4.3.1. Three-phase Modified Parallel Savings Algorithm

The three-phase modified parallel savings algorithm calculates savings by using the original saving term and two additional terms, weighted throughput ratio and time window restrictions. First, the saving term adopts the basic technology of the saving calculation used for the traveling salesman problem. The term is used to reduce setup times incurred by arranging two jobs which are consecutively processed but belong to different job clusters. Second, the weighted throughput ratio term is added in the savings calculation in order to choose the pair of jobs with higher weighted throughput ratio as the first job pair than the pair of jobs with lower ones. By doing this, the jobs with higher weighted throughput ratios are forced to be processed earlier than other jobs with lower ones. Furthermore, the jobs with the same weighted throughput ratios are forced to be processed closer to each other than the other jobs. Thirdly, the other added term, time window restrictions, takes job hij whose latest starting time (eij) is earlier than a job hi j

with a later starting time (ei j). The main purpose of the time window restrictions term is that jobs with earlier latest starting times are forced to be processed earlier than the other jobs with later ones.

In the saving calculation of MPSA_TP, three parameters, 1, 1, and 1, and three the ranges 0 1 1, 0 1 1, and 0 1 2, are added to the savings function as the weight of the ‘savings term’, ‘weighted throughput ratio term’, and ‘time window restrictions term’, respectively. Parameter 1 represents weight of setup time savings, which results from consecutively processing two jobs hij and hi jas a job pair. It can help to avoid a long setup time being incurred. Parameter 1 is used to weight the sum of the weighted throughput ratios of the two jobs hij and hi jin a pair in order to achieve higher weighted throughput. Finally, parameter 1 is used in the time windows restrictions term to prevent the jobs being processed after their due dates in order to enhance customer satisfaction. The time window restriction was designed by Pearn et al.

[68]; however, they only considered the value 0 1 1 and did not systematically examine the parameter with the value  1 1. Therefore, the available range of 1 is enlarged as 0 1 2 for investigation. In addition, term 10Cap is a scaled number where Cap represents the machine capacity. The scaled number is used to make clear distinction of each saving value because the three proposed terms in the saving calculation have different measurement units. By incorporating the three parameters and the scaled number, the effects of the three terms are enhanced so as to drive appropriate sequencing.

Phase I(Modified savings algorithm)

Step 1. Calculate the savings, PSAh hij i j, for all pair of jobs hij and hi j, where U

denotes the idle status. siiis the required setup time for switching product type Hi to type Hi. Terms wij, pi, and eij represent job weight, job processing time, and latest starting time, respectively, to process job hij.

 

Step 2.Sort the savings and create a list in descending order of magnitude.

Step 3. Choose the first feasible K pairs of jobs on the list satisfying the machine capacity and due date constraints and remove these pairs from the savings list. Then, start the K new schedules simultaneously.

Step 4.Starting from the top of the remaining savings list, find the first feasible pair on the list and check which job of the pair is able to be added to one of the two ends of a currently constructed schedule.

Step 5.The chosen jobs form a feasible machine schedule. Repeat Step 4 of Phase I until all the contract jobs are scheduled.

Phase II(spot jobs assigned without extra setup)

Step 1.Calculate the weighted throughput ratio for the spot jobs.

Step 2. Sort the weighted throughput ratio and create a weighted throughput ratio list in descending order of magnitude.

Step 3. Choose the job with highest weighted throughput ratio as the job to be inserted. Find the machine, which has scheduled the jobs with the same product type as the job to be inserted. Whether the job is inserted or not, it

should be removed from the weighted throughput ratio list.

Step 4.If the machine for insertion is found, then insert the chosen job by the side of the job with same product type without violating the machine capacity and due date constraints.

Step 5. Repeat Steps 3 and 4 of Phase II until no more jobs can be found in the weighted throughput ratio list.

Phase III (Remaining spot jobs assigned with extra setup)

Step 1.Calculate the weighted throughput ratio for the remaining spot jobs.

Step 2.Sort the weighted throughput ratio in descending order of magnitude.

Step 3.Choose the top job on the list as the job to be inserted.

Step 4. Schedule the job by applying the cheapest insertion algorithm (Rosenkrantz et al. [75]) sequentially to construct a feasible schedule without violating machine capacity and due date restrictions. Whether the job is inserted or not, it should be removed from the weighted throughput ratio list.

Step 5. The algorithm will terminate with no job in the weighted throughput ratio list. Otherwise return to Steps 3 and 4 of Phase III.

To illustrate how the MPSA_TP algorithm may be applied, we consider the PCBSP example with two machines and three product types described in Section 3.2.3. In Phase I, the savings value for each pair between two contract jobs is calculated by Step 1 and shown in Table 3-3 while the values of 1, 1, and 1, are set to 0.5, 0.05, and 1.5, respectively. The savings are sorted in descending order of magnitude using Step 2, and

the first two feasible pairs (12th pair and 4th pair) are chosen and scheduled in the two machines initially in Step 3. After processing using the algorithm and by repeating Step 4 and Step 5 until no more contract jobs can be found, two schedules are constructed: job hC2 precedes job hC1 directly on Machine 1 and job hB1 precedes job hA1 directly on Machine 2.

Table 3-3The savings values of each contract-jobs pair.

Pair ID Job pair Values of

savings Pair ID Job pair Values of savings 1 (hA1,hB1) 14.75 7 (hC1,hA1) 19.14 2 (hA1,hC1) 18.29 8 (hC1,hB1) 10.89 3 (hA1,hC2) 13.57 9 (hC1,hC2) 16.21 4 (hB1,hA1) 22.76 10 (hC2,hA1) 33.28 5 (hB1,hC1) 24.54 11 (hC2,hB1) 25.02 6 (hB1,hC2) 19.83 12 (hC2,hC1) 35.06

In Phase II, the three spot jobs (hA2,hA3, and hB2) are inserted into the two constructed schedules without violating machine capacity and due date constraints. In Step 1 of this phase, the weighted throughput ratios of the three jobs are computed: 1.9, 1.9, and 2 for job hA2, job hA3, and job hB2, respectively. The weighted throughput ratios are sorted using Step 2. It was found that hB2 is the highest ratio and is, therefore, chosen and removed from the weighted throughput ratio list in Step 3. Machine 2 has the same product type as job hB2; therefore, job hB2 can be inserted into Machine 2 in Step 4. However, the insertion of job hB2 into the two possible positions (preceding or following job hB1 immediately) will cause the job hA1 to violate its due date. Hence, job hB2 is not inserted into this machine. Then, Step 3 of the algorithm is repeated and the other spot job hA2 is considered. In Step 4, Machine 2 is the inserted machine. Job hA2 is scheduled following job hA1 without any extra setup time and without violating any restrictions. Furthermore, by repeating Step 3, the third spot job hA3 is chosen but is not

suitable for insertion due to its violation of due date and machine capacity.

Finally, in Phase III, the remaining spot jobs (hB2 and hA3) are considered and scheduled although extra setup times are required. The weighted throughput ratios of the two spot jobs are computed and sorted in descending order in Step 1 and Step 2 of Phase III, respectively. In Step 3, job hB2 is chosen and removed from the list, but it cannot be inserted into the two machines. However, after processing is repeated in Step 3, the other job, hA3, is inserted into Machine 1 using the cheapest insertion algorithm in Step 4. Due to the absence of more jobs on the weighted throughput ratio list and fullness of the two machines, the final solution from the PSA_TP algorithm is therefore 316 and is depicted in Figure 3-5.

0

setup time process time

15 95

m1

m2

hA1 hA2