A graph-oriented approach for the minimization of the number of late jobs for the parallel machines scheduling problem

A graph-oriented approach for the minimization of the number of late jobs for the parallel machines scheduling problem
of 8
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
  Discrete Optimization A graph-oriented approach for the minimizationof the number of late jobs for the parallel machinesscheduling problem Claudio Thom  as Bornstein  * , Luciane Ferreira Alcoforado, Nelson Maculan COPPE/Systems Engineering, Federal University of Rio de Janeiro, C.P. 68511, 21941-972 Rio de Janeiro, Brazil  Received 3 December 2002; accepted 2 June 2003Available online 12 March 2004 Abstract An O ð n 2 Þ  algorithm is presented for the  n  jobs  m  parallel machines problem with identical processing times. Duedates for each job are given and the objective is the minimization of the number of late jobs. Preemption is permitted.The problem can be formulated as a maximum flow network model. The optimality proof as well as other propertiesand a complete example are given.   2004 Elsevier B.V. All rights reserved. Keywords:  Parallel machines scheduling problem; Preemptive scheduling; Combinatorial optimization 1. Problem formulation The paper examines the sequencing of   n  jobs on m  identical parallel machines so as to minimize thenumber of late jobs. This problem showed up inthe electroplating sector of an aircraft mainte-nance company, responsible for the inspection andrepair of a great part of the engines of Brazilianaircrafts.The electroplating sector consists of a series of identical containers where small parts of the engineare chromed using a galvanic current. To simplifyit will be assumed that each container is able tohold only one item. The parts are of similar size sothat the duration of the electroplating process canbe considered constant. The process can be inter-rupted at any time and continued later on. Set-uptimes are within the tolerance range of processingtimes so that they need not to be considered. Inthis paper the containers and chromed parts willbe called machines and jobs respectively.Aircraft engines are very expensive so that air-lines have great interest in minimizing the numberof engines at storage. Of course the less time theengine spends at the shop the less spare engines areneeded. The competition between the maintenancecompanies has resulted in the reduction of com-pletion times leading to smaller due dates. Duedates have to be strictly observed and the com-pliance with given deadlines plays an importantrole to guarantee the competitiveness of the com-panies. At the time the study was done the main * Corresponding author. Fax: +55-21-2290-6626. E-mail addresses:  ctbornst@cos.ufrj.br (C.T. Bornstein),maculan@cos.ufrj.br (N. Maculan).0377-2217/$ - see front matter    2004 Elsevier B.V. All rights reserved.doi:10.1016/j.ejor.2003.06.045European Journal of Operational Research 165 (2005) 649–656www.elsevier.com/locate/dsw  target of the company was zero tardiness. Severaldiscussions with the management of the electro-plating sector lead us to the conclusion that thisobjective could be best attained by minimizing thenumber of late jobs.Section 2 introduces the notation and assump-tions of the problem and makes a revision of thebibliography. Section 3 presents a network flowmodel showing that among the maximum flowsolutions there exists at least one solution thatminimizes the number of late jobs. A polynomialalgorithm P1, which is able to find this solution inO ð n 2 Þ  time is developed in Section 4. Section 5gives an outline of the optimality proof as well asother properties of P1.The result of P1 is the allocation of jobs tomachine time modules which represent the avail-able resources. An exact schedule, allocating jobsto specific machines is given by algorithm P2 andwill be presented in Section 6. P2 starts from thesolution given by P1. A complete example is pre-sented at Section 7 and finally Section 8 gives someconclusions as well as possible extensions of thework. 2. Notation and assumptions Let  d   j ,  p   j  and  C   j  be the due date, processing andcompletion time of job  j  respectively. Let thevariable  U   j  be  U   j  ¼  0 if   C   j 6 d   j  and  U   j  ¼  1 inthe case job  j  is late. For the given problem theobjective function is the minimization of  P U   j .Additionally  d   j ,  p   j ,  C   j ,  n , and  m  will be consideredpositive integers.The following assumptions are made: •  A machine can work on only one job and each job can be processed by at most one machine ata time. •  Preemption is permitted. •  n P m . •  All jobs are available at time  d  0  ¼  1. •  p   j  ¼  p   8  j . •  p   þ 1 6 d  1 6 d  2 6    6 d  n , i.e., we consider the jobs numbered in the non-decreasing order of the due dates.According to Lawler et al. (1993) the uniformparallel machine problem  Qm =  pmtn = P U   j  isstrictly polynomial. Lawler (1979) shows that themore general problem  Qm =  pmtn = P w  j U   j  whereweights  w  j  are admitted, can be solved in pseudo-polynomial time: O ð n 2 ð P w  j Þ 2 Þ  if   m  ¼  2 andO ð n 3 m  5 ð P w  j Þ 2 Þ  for  m P 3. Lawler and Martel(1989) present an O ð n 3 Þ  algorithm for the Q 2 =  pmtn = P U   j  problem. Here an algorithm willbe presented for the more restricted  Pm =  pmtn ;  p   j  ¼  p  = P U   j  case. The algorithm is able to find theoptimal solution in O ð n 2 Þ  time for any given valueof   m .Small variations of this problem may increasecomplexity considerably. For example, the  P  =  pmtn = P U   j  problem, where  m  is a variable, isNP-hard in the ordinary sense (see Lawler, 1983;Lawler and Moore, 1969). The consideration of different weights for jobs leads to a higher level of complexity even for the one machine problem.Karp (1972) included the 1 == P w  j U   j  in a list of NP-complete problems.If preemption is not permitted, the problem getsalso a much higher degree of complexity. Kahl-bacher and Cheng (1993) show that the problem of scheduling jobs on  m  parallel machines to mini-mize the number of late jobs is NP-hard. Ho andChang (1995) propose three heuristics to solve thisproblem. For the 1 == P U   j  and 1 =  p   j  ¼  1 = P U   j problems, Moore (1968) and Monma (1982)developed, respectively, O ð n log n Þ  and O ð n Þ  algo-rithms.The relaxation of assumptions concerning arri-val times leads to a great increase in complexity.According to Lawler et al. (1993) the 1 = r   j = P U   j problem is strongly NP-hard. Du et al. (1989)show that the  P  2 =  pmtn ; r   j = P U   j  is also NP-hard.For the single machine problem with different due-dates and arrival times Dauz  ere P  er  es (1995) give aheuristic and a lower limit.Considering the minimization of total tardinessinstead of min P U   j  also increases complexity.Cheng and Sin (1990) mention that the minimumweighted tardiness problem is NP-complete evenfor a single machine. The two machine-problemremains NP-complete even if preemption is per-mitted and the weights are equal. 650  C.T. Bornstein et al. / European Journal of Operational Research 165 (2005) 649–656   The problem of scheduling jobs to minimize thenumber of late jobs may also consider some specialcases. For example, Sauer et al. (1997) consider thepossibility of lot-splitting. In Sharary and Zaguia(1993) jobs are subject to precedence constraints.Peha (1995) considers diverse performance objec-tives:weightednumberoftardyjobsandcompletiontime.A review in parallel-machine scheduling can befound in Cheng and Sin (1990) and more recentlyin Lam and Xing (1997). The latter tries to linkparallel machine scheduling with the more recenttrends like just-in-time, flexible manufacturing,computer control etc. An extensive survey onscheduling due dates was made by Baker andScudder (1990) and Cheng and Gupta (1989).Some material on parallel machines can also befound in the more general books of Conway et al.(1967), Rinnooy Kan (1976), Morton and Pentico(1993), Pinedo (1995) and Brucker (1998). 3. Network flow model In this section a network flow model based onFedergruen and Groenevelt (1986) is presented.Originally, their model admitted different pro-cessing and arrival times for each job. As alreadymentioned, here, equal values will be assumed. Themodel may be represented by a graph  G   ¼ ð  N  ;  M  Þ (see Fig. 1).The model is formulated as a resource alloca-tion model, where total machine time  m ð d  n    d  0 Þ  ispartitioned in modules  T  1 ; T  2 ; ... ; T  n  where eachmodule  T   j  represents the available machine timeduring the time interval  ð d   j  1 ; d   j  . Of course, if  d   j  ¼  d   j  1  then  m ð d   j    d   j  1 Þ ¼  0 and there is noneed to consider  T   j .Fig. 1 shows the network with nodes 1 ; 2 ; ... ; n representing the jobs,  s  and  t   representing thesource and sink. On the top of the figure maximumcapacities of each of the three kind of arcs arerepresented. Arcs  ð  s ; i Þ  and  ð T   j ; t  Þ  have maximumcapacity  p   and  m ð d   j    d   j  1 Þ  respectively. Theassumption that each job can be processed by atmost one machine at a time leads to the maximumcapacity  d   j    d   j  1  for arcs  ð i ; T   j Þ . Only jobs  k  P  j have access to module  T   j  because only for these jobs the condition  d  k  P d   j  is satisfied.The main result obtained by Federgruen andGroenevelt (1986) says that if the maximum flow isequal to P n j ¼ 1  p   j  then there exists a sequencewithout tardiness, i.e., P U   j  ¼  0. If the maximumflow does not attain this upper limit there will be atleast one tardy job. Does the max flow solutionprovide a sequence which minimizes the number of late jobs? The following example shows that thisdoes not happen necessarily. Example 1.  The example considers  m  ¼  1,  n  ¼  4and  p   ¼  3 with  d  1  ¼  4,  d  2  ¼  6,  d  3  ¼  8 and  d  4  ¼  11.Let  x ij  and  u ij  be the flow and maximum capacityof arc  ð i ;  j Þ  respectively.Fig. 2 shows a max flow solution where P U   j  ¼  2. Nevertheless there may exist anothermax flow solution with a smaller number of late jobs. Fig. 3 presents such a solution where P U   j  ¼  1. Not only does a max flow solution notguarantee the minimization of the number of tardy jobs but also the latter does not guarantee that amax flow solution is obtained. To see this fact, itis sufficient to reduce by one the flow along thepath  s    1    T  1    t   for the solution represented byFig. 3.Although, in general, a max flow algorithm willnot necessarily obtain a solution that minimizes  … … … … s 12 nt  i T 1 T 2 T i T n s i t d  i  –d  i- 1  m(d   j  –d   j- 1 )  p T  j Fig. 1. Network flow model. C.T. Bornstein et al. / European Journal of Operational Research 165 (2005) 649–656   651  the number of late jobs, one may show that thereexists at least one max flow solution where this willhappen. Suppose a min P U   j  ––solution exists. If this solution does not maximize the flow, it can beshown that there must exist a path  s    i    T   j    t  along which additional flow can be sent fromsource to sink without changing P U   j . Proceedingin this way always ends up generating a max flowsolution. In the next section an algorithm which isable to produce such a solution will be presented. 4. Algorithm P1 Analogous to the traditional augmenting pathalgorithm (see Ahuja et al., 1993), algorithm P1chooses a path  s    i    T   j    t   to increase the flow.Let LT be the list of jobs without tardiness and  r  ij the residual capacity of arc  ð i ;  j Þ . The initializationis obtained with LT  ¼ ;  and a zero flow. Thus, theinitial value of   r  ij  is equal to the maximumcapacity of arc  ð i ;  j Þ .P1 is a backward algorithm, i.e., it begins byallocating a job  n  to  T  n . If there is need for addi-tional processing time, job  n  will also be allocatedto  T  n  1 ; T  n  2 ; ...  until either the job is completed orthere is no more available processing time. Thelatter means that all available resources T  n ; T  n  1 ; ... ; T  1  have been exhausted. In this casethe algorithm stops at step 2.3. If job  n  is com-pleted the algorithm will consider job  n    1examining  T  n  1 ; T  n  2 ; ...  Continuing this way weeither complete job 1 or we exhaust processingtime. These two situations correspond respectivelyto the two stopping criteria at steps 3 and 2.3.Let a resource  T  ^  j  be called less available than  T   j ,if   j  <  ^  j  meaning that  T  ^  j  can be used by less jobsthan  T   j . It is quite intuitive that the more available,the more valuable a resource may be considered.The rationale behind algorithm P1 is its parsimo-nious attribute: it tries to spend the less availableresources first. For each job  k   the order in whichmachine time modules are examined is: T  k  ; T  k   1 ; ... ; T  1 .1. Initialization: LT  : ¼ ; ;  r   si  : ¼  p  ;  r  ij  : ¼  d   j  d   j  1 ;  r   jt   : ¼  m ð d   j    d   j  1 Þ 2. For  i  : ¼  n  to 1 do2.1.  j  : ¼  i 2.2. While  r   si  >  0 and  j P 1 do2.2.1.  d  : ¼  min f r   si ; r  ij ; r   jt  g 2.2.2. If   d  >  0 then2.2.2.1.  r   si  : ¼  r   si    d  r  ij  : ¼  r  ij    d  r   jt   : ¼  r   jt     d  j  ¼  j    12.3. If   r   si  >  0 then stop else LT  : ¼  LT  [ f i g 3. endAt each iteration a flow of   d  will be sent alongthe path  s    i    T   j    t  . As in the traditional aug-menting path algorithm  d  is equal to the smallestresidual capacity of the path. At step 2.2.2 thevalues of the  r  ij  along the path are updated. In the s t 1234T1T2T3T4 (3,3)(2,3)(2,3)(3,3)(3,3)(2,2)(2,2)(3,3)(3,3)(2,2)(2,2)(3,3) i j (x ij ,u ij ) Fig. 2. Max flow solution with two late jobs. s t1234T1T2T3T4 (1,3)(3,3)(3,3)(3,3)(1,3)(1,2)(2,2)(3,3)(3,3)(2,2)(2,2)(3,3)(1,2)(2,3) i j (x ij ,u ij ) Fig. 3. Max flow solution with one late job.652  C.T. Bornstein et al. / European Journal of Operational Research 165 (2005) 649–656   pseudo-code of the algorithm and in the followingsections  j  instead of   T   j  is used to simplify notation. 5. Some properties of the algorithm P1 5.1. Complexity The algorithm has an outer loop which beginsat line 2. In the worst case this loop may be exe-cuted  n  times. The inner loop, beginning at line 2.2may also be carried out, in the worst case,  n  times.Therefore the complexity is O ð n 2 Þ . 5.2. Algorithm P1 is able to find a max flow solution Let us first consider the stopping criterion givenby line 3. In this case we have  r   s 1  ¼  0 meaning that r   sn  ¼  r   s ; n  1  ¼  ¼  r   s 1  ¼  0, i.e., we generated a flow  x  which is equal to the capacity of the cut ½f  s g ; f  N     s g . Fig. 4 indicates the minimum cutobtained by this stopping criterion.The other stopping criterion given by step 2.3means that there exists a  k   2 ½ 1 ; n   so that  r   sk   >  0indicating that machine resources were exhaustedbefore all jobs could be completed. In this casethere exists a  ½ S  ; S    cut as shown in Fig. 5, with S   ¼ f  s ; 1 ; 2 ; ... ; k  ; T  1 ; T  2 ; ... T  k  g  and  S   ¼ f k   þ  1 ; ... ; n ; T  k  þ 1 ; ... T  n ; t  g  so that the residual capacity of the ½ S  ; S    cut (i.e., the sum of the residual capacities of the increment arcs) is equal to zero. This is suffi-cient to guarantee a max flow solution (see Ahujaet al., 1993).Remembering that total available machine timeis constant and total processing time produced byany schedule can always be represented by a flow  x it is easy to see that algorithm P1 also minimizesmachine idle time since it generates a solution thatcorresponds to a maximum flow  x  . 5.3. Algorithm P1 is able to minimize the numberof late jobs Suppose that the flow  x  obtained by P1 doesnot minimize P U   j . In this case the stopping cri-terion necessarily corresponds to step 2.3 (see Fig.5) meaning that  9 k   2 ½ 1 ; n j r   sk   >  0. This situationcorresponds to  ð n    k  Þ  jobs completed withouttardiness and it is possible to assert that  x  <  ð n    k   þ 1 Þ  p  .According to the assumption there must existanother solution with, at least,  ð n    k   þ  1 Þ  jobscompleted without tardiness. The correspondingflow  ~  x  would be  ~  x P ð n    k   þ  1 Þ  p  . This results in ~  x  >  x  rejecting conclusions of Section 5.2. 6. Algorithm P2 The solution  x  , given by algorithm P1, endswith the allocation of jobs to resources  T   j . Theamount of resource  T   j  actually used is given by theflow  x   jt   with  x   jt  6 m ð d   j    d   j  1 Þ .  … … … … s 12 nt i T 1 T 2 T i T n Fig. 4. Minimum cut.  …  … …  … s 12 nt k  T 1 T 2 T k  T n Fig. 5. Residual capacity of   ½ S  ; S    cut ¼ 0. C.T. Bornstein et al. / European Journal of Operational Research 165 (2005) 649–656   653
Similar documents
View more...
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks