SGP HEURISTICS FOR ONE MACHINE SCHEDULING PROBLEM

SGP HEURISTICS FOR ONE MACHINE SCHEDULING PROBLEM Kristina Šorić, Višnja Vojvodić Rosenzweig Faculty of Economics, Kennedyev trg 6, 10000 Zagreb, Croa...
Author: Prudence Moore
2 downloads 0 Views 143KB Size
SGP HEURISTICS FOR ONE MACHINE SCHEDULING PROBLEM Kristina Šorić, Višnja Vojvodić Rosenzweig Faculty of Economics, Kennedyev trg 6, 10000 Zagreb, Croatia e-mail: [email protected], [email protected] Zlatko Drmač Department of Mathematics, Bijenička 30, 10000 Zagreb, Croatia e-mail: [email protected]

Abstract Each of N jobs is to be processed on a single machine. Only one job can be processed at any given time. Each switch from one job to another requires sequence dependent setup time. The objective is to find a processing order which minimizes the makespan. Let call this problem the OMSC problem. OMSC problem is defined as a grouping problem. A heuristics called SGP Heuristics and based on spectral graph partitioning is presented with some computational results. Key words: single machine scheduling problem, sequence dependent setup times, grouping problem, heuristics

1. Introduction: Definition of Grouping Problem in Vision The OMSC problem defined above is modeled as a perceptual grouping problem in vision. For our purpose, the problem of grouping can be well motivated by considering the set of points shown in Figure (1).

Figure (1). How many groups? Typically, a human observer will easily perceive three groups of objects in the image. On the other hand, there has been a tremendous amount of effort devoted to achieving the same level of performance in computer vision. Prior literature on the related problems of clustering, grouping and image segmentation is huge. In this paper we are using the results obtained in [2] by Shi and Malik. They treat image segmentation

as a graph partitioning problem and propose a criterion of normalized cut for segmenting the graph. A graph G = (V , E ) , where the nodes are the points of an image and an edge is formed between every pair of nodes with the weight w(i,j) representing the similarity between them, can be partitioned into two disjoint sets, A, B, A ∪ B = V , A ∩ B = φ by simply removing edges connecting the two parts. But, Shi and Malik propose a new measure of disassociation between two groups. Instead of looking at the value of total weight connecting the two partitions, their measure computes the cut cost as a fraction of the total edge connections to all the nodes in the graph. They call this disassociation measure the normalized cut (Ncut):

Ncut ( A, B ) =

cut ( A, B ) cut ( A, B ) + asso( A,V ) asso( B, V )

where asso( A,V ) = ∑ w(u , t ) is the total connection from nodes A to all nodes in the u∈ A,t∈V

graph and asso( B, V ) = ∑ w(u, t ) is similarly defined. In the analogous way, they u∈B ,t∈V

define a measure for total normalized association within groups for a given partition:

Nasso( A, B ) =

asso( A, A) asso( B, B) + asso( A,V ) asso( B, V )

where asso(A,A) and asso(B,B) are total weights of edges connecting nodes within A and B respectively. A very important property of these definitions is Ncut ( A, B) = 2 − Nasso( A, B ) . Hence, minimizing the disassociation between the groups is equivalent to maximizing the association within the group. Given a partition of the nodes of a graph, V, in two sets A and B, let x be an N = | V | dimensional indicating vector where the ith component is 1 if node i is in A, and –1 otherwise. Let d (i ) = ∑ w(i, j ) be the total connection from node i to all other j

nodes, D an N x N diagonal matrix with d on its diagonal, W be an N x N symmetrical matrix with wij = w(i, j ) as elements.

From [2] we have the following grouping algorithm: (1)

Given a set of points, set up a weighted undirected graph G =( V,E ) , compute the weight on each edge and summarize the information into W and D

(2) (3) (4)

Solve ( D − W ) y = λDy for generalized eigenvectors with the smallest eigenvalues Use the eigenvector with second smallest eigenvalue to bipartition the graph Decide if the current partition should be subdivided and recursively repartition the segmented parts .

2. OMSC Problem

We model the OMSC problem as a mixed-integer programming problem. The processing time for the job J i is pi , i = 1,…,N, and the setup time from job J i to job J j is δ ij , i,j = 1,…N, i ≠ j . Let 1, if job J i is kth in the sequence i, k = 1...n xik =  0, otherwise 1, if job J i is (k − 1)th in the sequence, job J j kth in the sequence , z ijk =  0, otherwise k = 2...n, i ≠ j t k ≥ 0 the moment of starting the processing of kth job in the sequence The model is the following one: n

min t n + ∑ p j x nj j =1

n

t k − t k −1 ≥ ∑ pi xik −1 + ∑∑ δ ij z ijk , k = 2...n i =1

i

n

∑x

k j

= 1 , j = 1...n

∑x

k j

= 1, k = 1...n

k =1 n j =1

n

∑z j =1 n

k ij

∑z i =1

k ij

j ≠i

= xik −1 , i = 1...n , k = 2...n

= xik , i = 1...n , k = 2...n z ijk , xik ∈ {0,1}, t k ≥ 0

3. Defining One Machine Scheduling Problem (OMSC) as a Grouping Problem

To define One Machine Scheduling Problem as a grouping problem let jobs be the nodes of a graph, the setup times be the weights on edges: δ 12 J

J1

2

δ 21 δ 13

δ 32

δ 23

δ 31

J3

Since in a sequence dependent scheduling problem case, the affinity matrix is not a symmetric matrix, in order to obtain it, we can do the following: between any two nodes i and j, put a node (i,j) such that the weight on the edge connecting nodes i and (i,j) is the setup time δ ij and the weight on the edge connecting nodes (i,j) and j is the setup time δ ji : δ 12

δ 21

(1,2)

J1

δ 13

J2

(1,3)

δ 31

δ 23

(2,3)

J3

δ 23

δ 32

4. SGP Heuristics for OMSC Problem

In order to obtain an approximate solution for OMSC problem defined above, the SGP Heuristics is defined as follows: (1) After applying the grouping algorithm, we get a bipartition of the graph

(2) Treating every part of the bipartition as a separate one machine scheduling problem, find the optimal solution for both of them (3) Pass from one batch to another regarding the minimal setup time from the first job in one and the last job in another batch of jobs: for example, take min{δ 24 , δ 71 } δ 24

δ 71 J1 , J 3 , J 5 , J 2

J4, J6, J7

(4) For more jobs, recursively repartition of segmented parts. 5. Computational Results and Concluding Remarks

At the end we present some computational results indicating the integrality gap at about 1-2%. We took 4, 5, 8 and 10 jobs and for each number of jobs, we generated 10 instances. To resolve the grouping problem we used the software Matlab, while for resolving the obtained optimization subproblems (two parts of the bipartition of the graph), we used Cplex. At every instance we applied only the bipartition of the graph. The obtained results are presented in the following table: Number of jobs

4 5 8 10

Average optimality gap vh − v * ⋅ 100% v* 1.875 1.4329 1.234 1.213

The solution times are obtained summarizing the solution time needed for obtaining the bipartition of the graph by Matlab and the solution time needed for obtaining the optimal solutions for the bipartition subproblems by Cplex. The results are in the following table: Number of jobs 4 5 8 10

Average CPU time for Branch and Bound Algorithm 12.00 26.10 1674.60 18345.80

Average CPU time for SGP Heuristics 15.30 17.10 45.20 64.70

Also, for 20 jobs, the grouping algorithm took few minutes while the branch and bound algorithm takes more than five hours (we put the time limit). 6. Future Work

Some open questions and future work will be considered very soon. We should make the complete software using the necessary procedures from Matlab and Cplex. After that, we should perform more experiments with more jobs comparing the SGP Heuristics with known heuristics from the literature as Tabu search, Local search, Simulated annealing and others. Also, in this work we applied only the bipartition of the graph. We should see what would happen if we applied some repartition for more jobs. References

[1] G.L. Nemhauser, L.A. Wolsey (1988), “Integer and Combinatorial Optimisation”, John Wiley & Sons [2] Jianbo Shi, Jitendra Malik , “Normalized Cuts and Image Segmentation” , Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, San Juan, Puerto Rico, June 1997. [3] K. Šorić, " The CLWS Heuristic for Single Machine Sequencing Problem", European Journal of Operational Research" , 1999, Vol. 120, No. 2, pp. 352-358

Suggest Documents