A BRANCH-AND-BOUND ALGORITHM FOR ... - Semantic Scholar

3 downloads 0 Views 54KB Size Report
In this paper, a Branch-and-Bound (B&B) algorithm is presented to solve the problem of minimizing the maximum completion time Cmax on unrelated parallel ...
A BRANCH-AND-BOUND ALGORITHM FOR PARALLEL MACHINE SCHEDULING PROBLEMS Ameer Salema, Georgios C. Anagnostopoulosb, and Ghaith Rabadic a

Department of Mechanical Engineering, The University of Qatar, Doha-Qatar, P. O. Box: 2713, Email: [email protected] b School of Electrical Engineering and Computer Science, University of Central Florida, Orlando-Florida 32816, Email: [email protected] c Department of Industrial Engineering and Management Systems, University of Central Florida, Orlando-Florida, 32816, Email: [email protected]

Keywords: Scheduling; makespan; unrelated machines; machine eligibility; branch and bound ABSTRACT In this paper, a Branch-and-Bound (B&B) algorithm is presented to solve the problem of minimizing the maximum completion time Cmax on unrelated parallel machines with machine eligibility restrictions when job preemption is not allowed. A customized lower bound, a search and a branching strategy are developed for the B&B. A machine eligibility factor is also introduced to represent the percentage of jobs eligible across all machines. Multiple instances of the problem with different machine, job, and eligibility factor configurations are generated and solved. The B&B algorithm is able to solve up to 8 machines and 40 jobs within a reasonable time. To evaluate the performance of the B&B algorithm, the number of nodes examined is used as a measure of performance. It was established through experimentation that the B&B algorithm’s performance increased with increasing eligibility factor.

1. INTRODUCTION Scheduling jobs on unrelated parallel machines is a common problem, where a set of machines is available to process the jobs simultaneously. The unrelated parallel machine problem is a generalization of both the uniform and identical parallel machine problems. When the machines are identical, processing a certain job on any machine takes the same time. In case of uniform machines, the speed at which a machine processes a job is proportional to other machines by a speed factor. In the general case of unrelated machines, the processing time for a job on a machine is independent of its processing time on other machines. The primary objective of this research is to develop a Branch-andBound algorithm (B&B) to find optimal solutions for the unrelated parallel machine problem with machine eligibility restrictions, where the objective is to minimize the maximum completion time. When machine eligibility restrictions are considered, certain jobs are eligible to be processed on certain machines only. The problem with unrelated parallel machines can have many applications. In a manufacturing plant, for example, many machines

may be able to process a job but with different speeds depending on the machines’ technology. Additionally, machine eligibility restrictions can exist in airport scheduling, where planes need to be scheduled to gates. Planes correspond to jobs, and gates to machines. Depending on the size of the plane, certain gates may not be able to accommodate large-sized planes. The literature of parallel machine scheduling problems has been extensively reviewed by (Cheng and Sin 1990). (Garey and Johnson 1979) showed that scheduling jobs on two identical machines to minimize the makespan is NPhard. Clearly, the problem of unrelated machines is also NPhard since it is a generalization of the former problem. When the machine eligibility constraint is relaxed, the problem reduces to the problem without machine eligibility restrictions. Many of the results reported in the literature address the unrelated parallel machine problem without machine eligibility restrictions, which is denoted as Rm // Cmax. (Horowitz and Sahni 1976) developed a heuristic that is similar to (Sahni’s 1976) for identical machines. (Ibarra and Kim 1977) developed the earliest completion time heuristic

(ECT) upon which four other heuristics were based. For more details about approximation algorithms on the parallel machine scheduling problems without machine eligibility restrictions see (Davis and Jaffe 1981), (De and Morton 1980), (Potts 1985), and (Hariri and Potts 1991). For more on exact algorithms see (ven de Velde 1993) and (Martello et al. 1997).

The MIP can be used to optimally solve the problems addressed in this paper. However, when the number of machines and/or the number of jobs become large, the MIP becomes too large to be solved in a reasonable amount of time. In this research a B&B is developed to solve the problem more efficiently for large number of jobs and machines.

In general, there has been little treatment of machine eligibility restrictions in the literature. Up to best of the authors’ knowledge, there has been no results reported that consider solving the problem of minimizing Cmax on parallel machines with machine eligibility restrictions.

3. BRANCH-AND-BOUND

The paper is organized as follows: Section 2 includes an integer programming formulation for the problem addressed in this research. Section 3 includes a description of the B&B including the search strategy and the derivation of the lower bound. Section 4 presents the computational results and finally conclusions are drawn in Section 5. 2. INTEGER PROGRAMMING FORMULATION The unrelated parallel machine scheduling problem is formulated as a zero-one mixed integer program (MIP) as follows:

Minimize

C max

Subject to:



∑ j =1

X jk = 1

Pjk X jk ≥ 0

∀ k ∈M j 1

≤j≤n

1

≤j≤n

k ∈M j

X jk ∈ {0,1}

and

k ∈M j Where X jk is equal to 1 if job j is assigned to machine k and 0 otherwise Pjk is the processing time of job j on machine k

M j is the set of machines that is eligible to process job j C max is the makespan

B&B is one of the most common methods to find optimal solutions for combinatorial optimization problems such as scheduling problems. In any B&B, three components are needed: a lower bound (LB) expression, a search and a branching strategy. In this procedure, the problem is partitioned into subproblems (nodes) that represent partial job assignments. The nodes are branched further until a complete solution is obtained. If LB is not used, a full enumeration of all possibilities takes place. Thus, a LB is calculated for each node. If the value of the calculated LB is greater than the best complete solution “found so far”, the node is eliminated. The procedure is repeated until the search tree is exhausted and the optimal solution is found. 3.1 Branching Strategy

n

C max -

In the problem addressed here, n jobs must be processed using m unrelated machines. Once a set of jobs is assigned to a machine, it is not necessary to find the job sequence on that machine, since the objective is to minimize Cmax and there is no sequence-dependent setup time. In order to find an optimal assignment of jobs to machines, a B&B is developed.

The search starts with a blank schedule Q0, where no jobs are assigned. For a problem with n jobs (j1, j2, ..., jn) and m machines (k1, k2, ..., km), the sequence [k1, k1, k2, k1, ... kh], means that (j1, j2, j4) are assigned to machine k1, j3 is assigned to machine k2, and jn is assigned to machine h. At the first level of the tree, mn branches are created. At level l of this tree, each node contains l jobs assigned, and can be branched into m(n - l) nodes. When the last level of the tree is reached, the number of branches will be zero because at that point n = l. If this procedure is carried out completely, n! nodes will be generated at level n. In fact, if this happens, a full enumeration of all sequences takes place. Therefore, a bounding procedure is needed to reduce the number of nodes in the tree. 3.2 Lower Bounds The lower bound (LB) used in the B&B is given by (1): LB =

1 n ∑ min ( Pjk ) m j =1 k =1,...,m

(1)

Proof: On grounds of simplicity, the proof presented below ignores machine eligibility. However, the result also applies, when machine eligibility holds. Assuming, without the loss of generality, that no jobs have been scheduled, the completion time of the last job on machine k is given by (2): Nk

Ck = ∑ Pjk ,i , k

(2)

i =1

where Nk is the number of jobs scheduled on machine k, P,jk is the processing time of job j on machine k and jik is the ith job scheduled on machine k. For a total of m machines, the cost function is to minimize Cmax, which is defined as Cmax = max{C1 ,..., Cm } (3) If vector c∈Rm is defined with components Ck, then the cost function can be rewritten as C max = c

(4)



According to (Golub and Van Loan 1996), the following holds for any vector c∈Rm

c1 m

=

1 m ∑ Ck ≤ c m k =1

Eq. 7  → LB =

j = 1..n 1 n ∑ min{Pj ,. }≤ c∗ m j =1

(8) ∞

The expression for the LB defined in (8) can be shown to correspond to the optimal Cmax of a scheduling problem featuring identical machines with P=[ min{P1,.} min{Pn,.} ] when preemption is allowed. g 3.3 Searching Strategy The B&B is equipped with a depth-first search strategy. That is, after branching at a certain level, a node is selected and branched again for all possible nodes, another node is selected at the new level and branched, and so on until the last level is reached and a complete solution is obtained. The complete solution is marked as “best so far”, and the algorithm tracks back and eliminates nodes with a LB worse than the “best so far” solution. Otherwise, the algorithm branches another node and proceeds forward. At any level, a node with the smallest LB is selected for branching, since it has more potential to end up with a small objective function value than a node with a large LB. 4. COMPUTATIONAL STUDIES



1 m Nk P( j )* , k ≤ c∗ ∑∑ m k =1 i =1 k ,i



(6)

where (jm,n)* is the nth job scheduled on machine m in an optimal schedule. If as kj* denotes the machine on which job j will be processed in an optimal schedule, then for n jobs, equation (6) can be rewritten as



j

(5)

Inequality (5) also applies to any minimizer c* of Cmax that corresponds to an optimal schedule. Utilizing (2) and (5) we obtain the following:

1 n Pj , k * ≤ c∗ ∑ j m j =1

min{Pj ,. }≤ Pj ,k *

(7)

However, if min{Pj,.} is the minimum entry of the processing matrix P in row j, we get

The B&B algorithm is implemented in C++ on a Pentium 450 MHz personal computer. Three factors are considered: number of jobs n, number of machines m, and the eligibility factor ρ. The processing times are drawn from a uniform distribution on [10, 100] and are represented by a matrix P of size m × n. To account for machine eligibility, a binary matrix Pe is created of size m × n with binary entries from a11 to amn. If akj = 1, then job j is eligible to be processed on machine k; otherwise it is not eligible (i.e., akj = 0). The factor ρ is the percentage of eligible jobs on one or more machines and equals the total number of 1’s divided by mn. The factors and their levels are as follows n: m: ρ:

10, 20, 30, 40 2, 4, 6, 8 0.2, 0.5, 0.8

Ten replications were conducted for each problem configuration and a total of 480 problem instances were examined.

The measure of performance selected to evaluate the performance of the B&B is the number of nodes examined. This measure was selected over the CPU time due to extreme dependence on hardware of the latter. The computational results for the experiment are included in Table 1. Note that some ρ values are not applicable for certain m values. More specifically, it has to hold ρ>1/m in order to have a valid, non-trivial problem. Figures 1-a through 1-d summarize the computational results. Test #

m

n

ln (Avg. nodes examined)

combinations exist, and thus, the more nodes will be examined. Interestingly enough, both figures display that for ρ≥0.5 the average number of nodes examined seems to be of comparable order of magnitude regardless of n or m considered separately. This fact implies that the LB utilized is mostly effective for sparse eligibility matrices Pe, that is, for low values of ρ. m= 2 14 12 Ln (Avg. nodes examined)

4.1 Results

10 8 0.8 6 4 2 0

2 10 2 20 2 30 2 40 4 10 5.167 4 20 9.811 4 30 13.34 4 40 16.50 6 10 3.034 6.463 6 20 4.320 11.34 6 30 5.835 17.23 6 40 6.528 19.61 8 10 4.158 6.923 8 20 6.700 13.96 8 30 10.59 18.67 8 40 13.75 21.73 Computational results

ρ = 0.8 3.756 6.939 8.682 13.22 5.999 12.39 17.30 17.18 7.175 12.60 18.54 21.11 7.319 14.21 19.41 23.77

The natural logarithm for the average number of nodes examined was calculated for more readability. Figures 1a through 1-d, show the relationship between the number of jobs and the average number of nodes examined for different values of ρ. Furthermore, in order to study the behavior of the algorithm as the number of machines increases, the average number of nodes for all job sizes is calculated for different values of ρ as shown in Figure 2.

0

5

10

15

20

25

35

40

45

Figure 1-a

m =4

20 18 16 14 12

0.5

10

0.8

8 6 4 2 0 0

5

10

15

20

25

30

35

40

45

n

Figure 1-b

m =6 25

20

15

0.2 0.5 0.8

10

5

0 0

5

10

15

20

25

n

By observing both Figures 1 and 2 it is obvious that, as the number of jobs and/or the number of machines increases, the average number of nodes examined increases too. Additionally, the lower the value of ρ, the lower the average number of nodes examined, since the higher the percentage of eligible jobs, the more

30

n

Ln (Avg. nodes examined)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Table 1.

ρ = 0.5

Ln (Avg. nodes examined)

ρ = 0.2

Figure 1-c

30

35

40

45

machines with sequence-dependent setup times and machine eligibility restrictions.

m=8

Ln (Avg. nodes examined)

25

REFERENCES

20

15

0.2 0.5 0.8

10

5

Davis, E., and Jaffe, J. 1980. “Algorithms for Scheduling Tasks on Unrelated Processors”. Journal of the Association for Computing Machinery, Vol. 28: 721-736.

0 0

5

10

15

20

25

30

35

40

45

n

Figure 1-d Avg(ln(avg(nodes examined)))

Cheng, T. and Sin, C. 1990. “A State-of-the-Art Review of Parallel-Machine Scheduling Research”. European Journal of Operation Research, Vol. 47: 271-292.

De, P., and Morton, T. 1980. “Scheduling to Minimize Makespan on Unrelated Processors”. Decision Sciences, Vol. 11: 586-602.

18 16 14 12 10 8 6 4 2 0

0.2 0.5 0.8

Garey, M. R.; and Johnson, D. S. 1979. “Computers and Intractability: A Guide to the Theory of NP-Completeness”. W. H. Freeman and Company. Golub, G.H. and Van Loan, C.F. 1996. “Matrix Computations”, 3rd Ed., The Johns Hopkins University Press.

0

2

4

6

8

10

m

Hariri, A. and Potts, C. 1991. “Heuristics for Scheduling Unrelated Parallel Machines”. Computers and Operations Research, Vol. 18: 313-321.

Figure 2

5. CONCLUSIONS The unrelated parallel machine problem with machine eligibility restrictions is studied in this paper. Although machine eligibility constraints are common in practice, there has been little work done when such constraints exist. In this paper, therefore, a B&B was developed to minimize the makespan on unrelated parallel machines with machine eligibility restrictions. The performance of the B&B, which is expressed by the average number of nodes examined, was tested for different problem configurations of m, n, and ρ. It was noted that the B&B’s performance improved significantly as the eligibility factor decreased below 0.5. Future research can be focused on the discovery of higher quality lower bounds to enhance the performance of the B&B. Moreover, similar ideas, like the ones examined in this article, can be applied to other variations of the problem at hand. Along these lines, the authors are currently in the process of developing a B&B algorithm for the problem with unrelated parallel,

Horowitz, E. and Sahni, S. 1976. “Exact and Approximation Algorithms for Scheduling Nonidentical Processors”. Journal of the Association for Computing machinery, Vol. 23: 317327. Ibarra, O. and Kim, C. 1977. “Heuristic Algorithms for Scheduling Independent Tasks on Nonidentical Processors”. Journal of the Association for Computing machinery, Vol. 24: 280-289. Martello, S.; Soumis, F.; and Toth, P. 1997. “Exact and Approximation Algorithm for Makespan Minimization on Unrelated Parallel Machines”. Discrete Applied Mathematics, Vol. 75: 169-188. Potts, C. 1985. “Analysis of A Linear Programming Heuristic for Scheduling Unrelated Parallel Machines”. Discrete Applied Mathematics, Vol. 10: 155-164. Salhi, S. 1976. “Algorithms for Scheduling with Independent Tasks”. Journal of the Association for Computing Machinery, Vol. 23: 116-127. Ven de Velde, S. 1993. “Duality-Based Algorithm for Scheduling Unrelated Parallel Machines”. ORSA Journal of Computing, Vol. 5: 192-205.

Authors’ Biographies a. Ameer Salem got his B.Sc. in Mechanical Engineering at the University of Qatar in 1991. From 1991 to 1992 he worked as a teaching assistance for the same university. In 1995 he received his M.S. in Industrial Engineering at New Mexico State University, Las cruses, New Mexico. In 1999 he received his Ph.D. in Industrial Engineering at the University of Central Florida, Orlando, Florida. Currently he is working as a faculty member in the Department of Mechanical Engineering at the University of Qatar. His main research interests are Operations Research and Scheduling. b. Georgios Anagnostopoulos received his Eng. Dipl. in 1994 from the Department of Electrical Engineering and Computer Technology, University of Patras, Patras, Greece, and his MSEE in 1997 from the School of Electrical Engineering and Computer Science, University of Central Florida, Orlando, Florida. He is currently a Ph.D. candidate in the same department and works as a software engineer for Lucent Technologies. His main research interests are machine learning, pattern recognition, artificial neural networks, evolutionary computation, coevolution, intelligent agents and scheduling. c. Ghaith Rabadi received his B.Sc 1992 in Industrial Engineering from the University of Jordan, Amman, Jordan, and his M.S. in 1996 in Industrial Engineering from the college of Engineering and Computer Science, University of Central Florida, Orlando, Florida. He also received his Ph.D. in Industrial Engineering in 1999 from the college of Engineering and Computer Science, University of Central Florida, Orlando, Florida. Currently, he holds a post doctoral position at the Department of Industrial Engineering and Management Systems at the University of Central Florida where he works on projects funded by NASA Kennedy Space Center. His main research interests are Operations Research, Scheduling, Machine Learning, and Simulation.