To determine the efficiency of the developed algorithms, they were tested by using a computer program coded in Java and run on a Pentium IV 3.4 GHz PC. The processing times of the problems were generated from three discrete uniform distributions [1, 100], [1, 500], and [1, 1000].
Different problem sizes of jobs n =10, 20, 40, 60, 80, 100 were tested. Capacity s was determined by s= ×α
∑
p /j 2 with α =0 4 0 6 0 8. , . , . . For each combination, 100 replications were run by both our branch and bound (BAB) algorithm and the dynamic programming (DP) algorithm (Lee and Liman, 1993). The computational results are summarized in Tables 1 and 2, which provides information on the maximum and total computation times in 10−3 second.It is observed that the proposed BAB algorithm is more efficient than the DP algorithm in solving all the problems. It is noteworthy that the problem is comparatively difficult for BAB when
20
n= and/or 40, after which the problem becomes easier. This is due to the fact that the job combination increases as the number of jobs increases, and hence it becomes easier to match the total amount of processing on M with capacity s (refer to the third column of the table). As for 1 the DP algorithm, the computation time increases as n and s increase. This is consistent with the pseudo-polynomial time complexity of the DP algorithm. Also observe that the computation time for each problem is varied since the DP solution time depends on s, which is a function of random generated processing times.
6. Conclusions
In the second part of this research an optimal branch and bound algorithm have been proposed for scheduling jobs on two identical parallel machines where one is available during a time period after which it can no longer process any job. The objective considered is minimizing the total completion time.
The developed branch and bound algorithm differs from the dynamic programming algorithm in the literature in that three powerful theorems inherent in the problem are employed. Based on one of the theorems, an efficient algorithm, i.e., Algorithm 1, has been proposed for computing upper bound that can also be used to obtain the optimal solutions to more than 95% of the problems with 40 or more jobs.
The proposed algorithm has been tested on problems of various sizes in terms of the number of jobs, three distributions of processing times, and three parameters that determine the availability time period on the capacitated machine. The results of these tests have shown that the branch and bound algorithm can be used to solve various sized problems in a short time. For the most difficult problem, the total computation time is less than 0.1 second for a set of 100 problem instances.
Extension of the developed branch and bound procedure to the problem with more complicated availability constrains, e.g., allowing the capacitated machine to process jobs after the unavailability
period or having an unavailability time period for each machine, is a challenging area for further research.
Table 1
Computational results of the branch and bound algorithm for a total of 100 problem instances (in micro-seconds)
~ [1,100]
pj
α =0.4 α =0.6 α =0.8
n Max Total Alg.1a Max Total Alg.1 Max Total Alg.1
10 16b 16 26 0 0 38 16 16 68
20 16 16 83 16 31 94 0 0 97
40 0 0 100 0 0 100 0 0 100
60 0 0 100 0 0 100 0 0 100
80 0 0 100 0 0 100 0 0 100
100 0 0 100 0 0 100 0 0 100
~ [1,500]
pj
α =0.4 α =0.6 α =0.8
n Max Total Alg.1 Max Total Alg.1 Max Total Alg.1
10 15 15 7 16 16 9 16 16 24
20 16 63 55 16 47 60 16 47 81
40 31 94 96 16 16 98 0 0 100
60 0 0 100 0 0 100 0 0 100
80 0 0 100 0 0 100 0 0 100
100 0 0 100 0 0 100 0 0 100
~ [1,1000]
pj
α =0.4 α =0.6 α =0.8
n Max Total Alg.1 Max Total Alg.1 Max Total Alg.1
10 0 0 3 0 0 5 0 0 11
20 16 32 30 63 94 50 16 46 65
40 31 78 95 16 31 98 16 16 98
60 0 0 100 0 0 100 0 0 100
80 0 0 100 0 0 100 0 0 100
100 0 0 100 0 0 100 0 0 100
a. The number in column “Alg. 1” represents the number of problem instances (out of 100) solved optimally by Algorithm 1.
b. The minimum measurement in our computation time is 15 10× −3or 16 10× −3 seconds.
Table 2
Computational results of the DP algorithm for a total of 100 problem instances (in micro-seconds)
~ [1,100]
pj
α =0.4 α =0.6 α =0.8
n Max Total Max Total Max Total
10 16 16 16 16 16 47
20 16 78 16 124 16 172
40 31 515 47 1,016 47 1,639
60 32 998 47 3,046 63 3,932
80 47 2.656 47 4,453 78 5,889
100 78 2,170 109 4,805 125 8,610
~ [1,500]
pj
α =0.4 α =0.6 α =0.8
n Max Total Max Total Max Total
10 16 125 16 170 16 203
20 32 797 47 1,841 47 1,855
40 78 3,543 109 6,015 109 7,379
60 125 8,124 156 11,325 203 14,932 80 187 13,161 250 20,425 328 25,757 100 281 20,903 375 30,065 625 40,205
~ [1,1000]
pj
α =0.4 α =0.6 α =0.8
n Max Total Max Total Max Total
10 16 251 31 438 31 594
20 32 2,015 47 2,787 63 4,171
40 109 7,547 172 10,549 250 15,046 60 172 14,874 281 21,639 375 27,873 80 328 27,671 500 38,126 735 52,671 100 484 39,948 1016 58,352 953 76,251
Part III
The third part of this research considers a parallel machine problem in the presence of machine eligibility restrictions, where machines and jobs can be classified into two levels: high and low levels. Each job is allowed to be processed by a particular machine only when the level of the job is no lower than the level of the machine. This problem arises in both manufacturing and service industries. We will propose an algorithm to obtain the optimal solution to the problem.
1. Introduction
The parallel machine scheduling problem has been discussed in the literature extensively under the assumption that all m machines are capable of processing each of the n jobs. However, in many real-world industrial settings a job can only be processed on a subset of the m parallel machines. A common situation involves the acquisition of new machines that usually process a given job at the same speed as existing machines, but have the capability to process other jobs that existing machines cannot process (Centeno and Armacost, 2004). Similarly, these new machines may not be able to process some jobs (older technologies) that existing machines can process. For example, the Probe workcenter in wafer testing, one of the major phases in the manufacturing process of integrated circuits, frequently involves a number of testing machines in parallel with different capabilities but with the same speed (Centeno and Armacost, 1997). This machine (Server) eligibility restrictions also exist in the service industry where various customers are entitled to many different grades of service levels. For example, credit card companies often have platinum or infinite members, who are more valued than the regular members and are usually entitled to premium services (Hwang et al., 2004).
The purpose of this research is to develop an optimal algorithm for scheduling jobs on m parallel machines in the presence of machine eligibility restrictions. The objective considered is minimizing the makespan. Following the three-field notation, the problem is denoted by
/ j/ max
Pm M C , where M denotes machine eligibility restrictions that the set of machines j M j can process job j (Pinedo, 2002). We address a special problem of Pm M C/ j/ max where machines and jobs can be classified into two levels: high and low levels. Each job is allowed to be processed by a particular machine only when the level of the job is no lower than the level of the machine. The addressed problem has been shown to be NP-hard by Hwang et al (2004).
Due to the complexity of the Pm M C/ j/ max problem, the optimal algorithm can be developed only for problems with unit-length jobs, i.e., the Pm p/ j =1,M Cj/ max problem. Pinedo (2002) discussed a makespan minimization problem on parallel identical machines with nested machine eligibility restriction. The sets M are nested if the functionality of machines may overlap, but j never partially. He proposes the least flexible job (LFJ) rule and demonstrates that the rule is optimal for Pm p/ j =1,M Cj/ max. Glass and Mills (2006) improved Pinedo’s algorithm with a new lower bound and further discussed other scheduling objective functions on the same problem. For uniform parallel machines, Lin and Li (2004) developed polynomial time algorithms to solve the makespan minimization with jobs requiring identical processing. Li (2006) improve their algorithms and extend their models to cover various other scheduling objectives.
On the other hand, research on machine eligibility restrictions with general jobs (non-unit-length jobs) focus on developing heuristics for various objectives. Centeno and Armacost (1997) consider a maximum lateness problem where jobs have non-zero release times. They discuss a problem in the industrial setting where due dates are equal to release dates plus a constant. Later,
they study an on-line makespan minimization problem with jobs having non-zero release times (Centeno and Armacost, 2004). As an application in service industry, Hwang et al. (2004) consider a parallel machine scheduling problem under different grades of service levels. They investigate the worst-case performance of the longest processing time (LPT) algorithm and provide a LG-LPT (lowest grade-longest processing times first) rule for the problem. The LG-LPT rule, which is slightly modified from LPT, is to first sequence jobs based on the priority of the grade of service levels and then sequence the jobs within the same level in the LPT order.
To the best of our knowledge, the optimal algorithm has not been developed for the / j/ max
Pm M C problem with non-unit-length jobs. In the third part of this research, we consider a two level system where high level machines can process all the jobs and low level machines can process only those jobs with low level. We will propose an algorithm to obtain the optimal solution to the problem.