A procedure for the one-machine sequencing problem with dependent jobs

A procedure for the one-machine sequencing problem with dependent jobs

EUROPEAN JOURNAL OF OPERATIONAL RESEARCH ELSEVIER European Journal of Operational Research 81 (1995)579-589 Theory and Methodology A procedure for ...

650KB Sizes 7 Downloads 28 Views

EUROPEAN JOURNAL OF OPERATIONAL RESEARCH ELSEVIER

European Journal of Operational Research 81 (1995)579-589

Theory and Methodology

A procedure for the one-machine sequencing problem with dependent jobs St6phane Dauzbre-P6r~s Laboratoire d'Automatique et d'Analyse des Systdmes du CNRS, 7, Avenue du Colonel Roche, 31077 Toulouse Cedex, France

Received July 1991; revised June 1993

Abstract

The problem of minimizing the makespan on one machine with possible dependencies between jobs is considered. We enlarge the notion of precedence constraint by considering a minimal duration between the start times of each pair of dependent jobs. We propose an exact algorithm where this duration is taken into account. This algorithm is based on Carlier's algorithm [2], closely related to that of McMahon and Florian [10], for the One-Machine Sequencing (OMS) problem with independent jobs. Computational results are reported showing the efficiency of our procedure. Keywords: Scheduling; Algorithm; Combinatorial optimization

1. Introduction

The One-Machine Sequencing (OMS) problem with release dates ri, processing times Pi, and due dates d i has been extensively studied in the literature. Although Lenstra et al. [9] showed that the general 1 / r j / L m a x problem (where Lmax is the maximum lateness) is strongly ~4F~-hard, some special cases such as 1 / p m t n , r j / L m a x (Horn [6]) and 1/rj, pj = P / L m ~ (Garey et al. [5]) can be solved with polynomial-time algorithms, and remain well solved when precedence constraints arise. Various enumerative methods exist for solving 1/prec, rj/Lm~ x. One approach is proposed by McMahon and Florian [10], improved by Lageweg et al, [7] who replace due dates with delivery times qi, and Carlier [2] who presents one of the most efficient algorithms for this problem. Besides, Zdrzalka and Grabowski [12] consider extensions of these methods to 1/prec, rj/fmax (where fma~ is a maximum cost). The OMS problem is often used for solving more complex multi-machine problems (see Adams et al. [1]). In this case, dependencies between jobs may exist (see Dauzere-Peres and Lasserre [3]). For example, when looking at a particular machine, some jobs in conflict on t h a t machine m a y not be independent. Their start times must satisfy a relationship of the form Sj - S i > pij (where Si and Sj respectively denote the start times of jobs Ji and Jj), for some scalar Pij due to the ordering of jobs on the other machines. This constraint is more complex than just classical precedence constraint Sj - S i > Pi, considered in the previous methods, which simply states that Jj cannot precede Ji- In this case, a straightforward extension 0377-2217/95/$09.50 © 1995 Elsevier Science B.V. All rights reserved SSDI 0377-2217(93)E0322-O

S. Dauzdre-P~r~s/ European Journal of Operational Research 81 (1995) 579-589

580

of eve13/algorithm for OMS problems consists of updating some release and due dates, and then applying the algorithm with the updated parameters. We propose an exact algorithm which takes the value Pit into account. Our method is based on Carlier's algorithm which was proved to be optimal and gives very good computing times up to 1000 jobs. We shall see, in the sequel, that with our new type of constraint (where Pij can be greater than Pi), optimality is no longer guaranteed in Carlier's algorithm and besides, an underestimated makespan can be calculated. We first recall this procedure before describing our method.

2. Carlier's algorithm 2.1. The OMS problem The problem is as follows. Independent jobs are to be processed on a machine with the objective of minimizing the makespan Cmax, i.e. the time needed for processing all jobs, subject to the constraint that the machine can process only one job at a time. For each job Jg, Pi, ri and S i respectively denote the processing time, release date and start time, and qi the time to be spent for Ji in the system after the end of its operation on the machine (delivery time). I denotes the set of jobs and Cmax the makespan. The problem can be stated as: min Cmax

Ji ~ I,

Si ~ ri, Cmax -

Si >- qi -1-Pi,

Si-Sy>p i

or

Si-Si>Pi,

(Ji, J j ) ~ I × I ,

Ji4:Ji.

2.2. Carlier's algorithm In this section, we describe Carlier's algorithm in some detail. It is a Branch and Bound method where each node is evaluated by using Schrage's algorithm.

Schrage's algorithm U: Set of jobs already scheduled. 0: Set of all other jobs. Step 1. Set t = minji ~ iri, U = ~. Step 2. At time t, schedule among 'ready' jobs Ji(ri < t) of U, the job Js with the greatest qi. Step 3. Set: U = U U {Jj}; S j = t ; t = m a x ( S j +pj, minjk~vrk). If U is equal to 1, the algorithm stops; otherwise go to Step 2. Carlier's procedure is based on this algorithm and on the following theorem.

Theorem. Let Cmax be the makespan of Schrage' s schedule. If the schedule is not optimal, there is a critical job Jc and a critical set J such that hj = min ri + ~_~ Pi q- min qi > Cmax - P c . Ji EJ

Ji~J

Ji ~J

S. Dauzdre-P~r~s / European Journal of Operational Research 81 (1995) 579-589

581

Consequently, the distance to the optimum from Schrage's schedule is less than p~; moreover, in an optimal schedule, either J~ will be processed before all jobs of J, or J~ will be processed after all jobs of J. Acually, a counterexample of part b of the original theorem presented in [2] is given in [11], together with the correct statement of this theorem and its proof.

Proposition 1. Let S be one Schrage schedule. I f S has a critical path P = [ J / x " ' " Jip] such that V J: ~ P\{Ji,}, q: > qi~, then, this schedule is optimal. Let us number the jobs in the order of the Schrage's sequence. If c exists, it is the greatest subscript in a critical path P = [J1,..., Jp] such that qc < qp and J = [ J c + l , . - - , Jp] (if c does not exist, by convention Jc. = 0). A path [Ji.1 . . . . . Ji p ] , is defined as a subsequence of the sequence determined w i t h Schrage's . . . • algorithm (modified Schrage s algorithm after Section 3.2) such that S il ==Sil - 1 + PiI - -= VJi l ~ [Ji2 , . . . , J~p ]. 1 A critical path P is a path whose length is the longest and equal to the makespan Cmax: Cmax = r 1 + ~Ji E PPi -F qp. Moreover, in Schrage's schedules, r I = min~ ~ ?ri (see [2]).

Carlier's algorithm. Each node y of the tree is associated to a one-machine problem with a lower bound f r ( f is the value of the current lower bound). The upper bound F is the value of the best solution known so far. N = set of nodes. Initialization: N = ¢ and 3 , = 0 . Apply Schrage' s algorithm and compute th e makespan Cmax. Search for J¢ and J. f o = h : • f =fo. F=Cmax" While Jc vs O, Step 1. Consider two new problems, one in which Jc has to be processed before all jobs of J by setting qc=max[qc, ~ Pr +qp), x

jr~j

and another in which Jc has to be processed after all jobs of J by setting rc=max(rc,minrr+ ~_,P~). Jr ~J

Jr ~J

.

For each problem, we compute the lower bound ft3 = max(f, hjutjo~) and add a new node [3 to N (with its lower bound ft~) if ft3 < F. Step 2. J c = 0 . f e = 0 . While (Jc = O) and ( N 4=¢) and (F > f y ) , search in N for the node y with the lowest bound, remove 3" from N, apply Schrage's algorithm and search for Jc, J and f ( f = max(re,h:)). hjutjc~ is computed with the modified r c or qc. After each run of Schrage's algorithm, the solution is stored if less than F. The algorithm stops in a node, i.e. an optimal solution has been found for this node, if Proposition 1 is verified. This method gives an optimal solution, with very good computing times, until 1000 jobs. Moreover, the extension of precedence constraints of the form Sj - S; >Pi is known to be straightforward (see Lageweg

582

S. Dauz~re-Pdr~s/ European Journal of OperationalResearch 81 (1995)579-589

Table 1 Jobs Release dates Processing times Delivery times

11

J2

13

&

/5

J6

0 4 9

2 4 10

5 2 13

8 1 6

10 3 7

15 2 6

et al. [7]), it suffices to update release dates and delivery times such that rj > r i q-Pi and qi > qj +Pj, whenever Ji precedes Jj. Let us take a simple example which will be useful in Section 3.

Example 1. W e c o n s i d e r 6 j o b s w i t h d a t a as g i v e n i n T a b l e 1. S c h r a g e ' s a l g o r i t h m gives t h e s e q u e n c e (J1, J2, J3, Js, J4, J6) w i t h t h e m a k e s p a n Cmax = 23, w h i c h :is o p t i m a l b e c a u s e Cmax = r 6 + P6 -I- q6.

3. The dependent jobs algorithm 3.1. The OMS problem with dependent jobs

Before anything else, let us explain when and why dependencies between jobs appear in a classical job-shop problem and for a machine by machine scheduling method. When OMS problems have been solved on some machines, i.e. jobs are sequenced on these machines, paths are created between some operations that were independent and which must be processed on a machine not yet sequenced. For example, in the well-known Shifting Bottleneck procedure (Adams et al. [1]), the existence of such relations is obvious (see [3]). In the example of Fig. 1, 5 jobs and 4 machines are considered with operations (i, j, k), where (i, j, k) represents the j-th operation of the job Ji which must be processed on machine k.

,o

t

',

*

,

~1

• ......

D

Q

CONJUNCTIVE ARCS. DISJUNCTIVE ARCS. Fig. 1.

I

~



0

S. Dauz~re-PJrds~European Journal of Operational Research 81 (1995) 579-589

• .......

CONJUNCTIVE DISJUNCTIVE Fig. 2.

583

ARCS. ARCS.

In Fig. 2, with machines 2 and 4 already sequenced, jobs 2 and 5 are not independent since there is a path between operations (2, 2, 3) and (5, 2, 3) (path (2, 2, 3); (2, 3, 2,); (3, 2, 2); (3, 3, 4); (5, 1, 4); (5, 2, 3)), and thus the start time of (5, 2, 3) depends on the start time of (2, 2, 3): S(5,2,3) > S(a,2,3) +P(2,2,3) +P(2,3,2) -t/)(3,2,2) +P(3,3,4)q-P(5,1,4)" In other words, if we have to sequence jobs J2, J4 and J5 on machine 3, the schedule must be such that J5 is processed after J2, and their start times must verify the previous relation. The length of the longest path between dependent operations is the minimal duration between their start times. In the literature on one-machine problems, some methods may take account of eventual precedence constraints (see Section 2) of the form S~ - S i > Pi if Ji precedes Jy. But we would like to consider more general precedence constraints of the form S y - S i >Pij, where Ply could be greater than Pi"

Let Ji and Jj be two dependent jobs, let r i and rj be their release dates, Piy the minimal duration between the beginning of J i and Jj, and ry = Piy + rr If Ji is scheduled such that S i > ri, then the real release date of Ji becomes rj = Pij + Si > rj. But, in any algorithm for OMS problems, the value ry is not updated when S/ is known, and therefore, the makespan computed could be less than the real one. Let us illustrate this point with the problem given in example 1 at the end of Section 2. If P35 = 5 is the minimal duration between the start times of jobs J3 and Js, the sequence determined with Carlier's algorithm is the one given in Example 1 with Cma~ = 23. In fact, since S 5 > S 3 q- P35, Crnax = 25. Moreover, one can see that the sequence (J1, J2, J3, J4, Js, J6) has a lower makespan Cma~= 24. The value Piy has the following properties: 1. Pij =Pji = 0 ** Ji and Jy are independent. 2. Pij ~ 0 ** Ji is before Jy ~ Pyi = O. 3. Pi] --/=0 and Pjk =/=0 =* Pik ~ O. 4. pij --/=O ~ rj >__ri -t- pij. The OMS problem with dependent jobs can be stated as: min Cmax S~ >_ri, Ji ~ I, Cmax - Si >--qi d-Pi,

Si-Sy>-pjor Sy - S i >_Pij

Sj-Si>Pi, if piy :~ 0.

(Ji, J y ) ~ I × I ,

Ji=~Jj,

584

S. Dauz~re-P~r~s/European Journal of Operational Research 81 (1995) 579-589

To take the new inequalities into account in Carlier's algorithm, our modifications consist of: • updating the release dates of the jobs each time we choose one in Schrage's algorithm; • trying to decrease the modified release dates of dependent jobs which are on a critical path.

3.2. The dependent jobs algorithm Our first modification is made in Schrage's algorithm where, each time a job J; is added to the sequence (so that its start time is known), we update the release date of one or more jobs among the jobs not yet chosen.

Modified Schrage's algorithm. U: Set of jobs already scheduled. U: Set of all other jobs. pij(Ji, Jj ~ I): Minimal duration between Ji and Jy Step 1. Set t = minji ~ ~ri, U = ~. Step 2. A t time t, schedule among 'ready' jobs Ji, (rk < t) of U, the job Ji with the greatest qk. Step 3. Set: U = U ~{Ji}; for all Jj ~ U, if (Pii ~ 0) and (rj < t +Piy) then rj = t -kpij S i = t; t = max(S i +pi,minjk ~ grk). I f U is equal to I, then stop; otherwise, go to Step 2. Updating of some dependent jobs is done in Step 3. Now, in Step 2, we guarantee to choose a real 'ready' job and not one with an underestimated release date. Looking at example 1, this modification prevents us from computing the sequence with Cmax = 25, and enables us to find the one with Cma~ = 24. A critical path P = [Ji.,..., Ji ] in a sequence determined by modified Schrage's algorithm is also a path with maximal value equalPto the makespan Cmax = r;l + Ej, k~ppik. -t-qip (where r',l denotes the release date of Jil after modified Schrage's algorithm). It appears that the release date ry of a job Jy could depend on the start time S i of another job Ji. A n d it is interesting to decrease Si, and then perhaps Sj, if Ji is On a critical path, in order to diminish the makespan. Necessary conditions can be deduced.

Necessary conditions: Let rk, r~ (Jg ~ I ) be the values of the release dates respectively before and after modified Schrage's algorithm. To be able to reduce the release date of a job on a critical path in reducing Si, Ji must satisfy the following conditions: (i) Piy :/: 0 and r} = S i + Pis; (ii) r~ :g rj; (iii) job Jj on a critical path. Condition (i) just states the dependence of Ji and Jy. Condition (ii) ensures that a decrease of S i will reduce the release date of Jy (and also ensures that S i > ri). If Condition (iii) is not satisfied, there is no advantage in reducing r}, i.e. reducing S i. Our problem is now, in Carlier's algorithm, how to decrease Si, if job Ji satisfies these conditions? We consider Ji as the end of an artificial critical path. The latter is defined as the longest path P ' = [Jz . . . . . Ji] ended by Ji (Si = r~ + Ejk~e,\{ji}pk), and such that Ji verifies the necessary conditions with a job either on a real critical path, or on another artificial critical path. Then, we use the following proposition.

Proposition 2. Let S be a modified Schrage's schedule, and let Ji~ be the end of an artificial critical path P' = [Jil . . . . , Jip]. The start time Si, can be reduced, without increasing the makespan, only if there is:

S. Dauz~re-Pgr~s ~European Journal of Operational Research 81 (1995) 579-589

585

1. a j°b Ji, ~ [Ji~, " " , Ji -1] such that pi p = 0 and q it + Pil < Cmax -- rip --Pip or 2. a job Jk which verifies the necessary conditions with a job in P', and such that its start time can be reduced (i.e., condition 1 or condition 2 is verified for Jk)" In the first ease, Jit is moved after Jip: In the second, S k is decreased and modified Schrage's algorithm is applied. Proof. 1: S i = ri. + E kp Z l 1P i . Obviously, if a job Ji. is moved after J i , this value will decrease. However, Ji. and Ji naust~be independent (Pi,i = 0 ) . Now', suppose that JgPis after J~ in a schedule and that qi't +Pi~ >- PCmax- ri; -Pi~. The length o] the path [Jip,..., Ji~] is grea'ter than or ~qual to Sip "q-Pip "q-Pit q- qil

>--

Sip "q-Pip "q-Pit -b Cma x -- rip -- Pip -- Pit

=

Sip -]- Cmax -- rip

Sip -[-Pip -}- Pi I + qi t 3> Cmax,

because Si _> r~. T h e n the makespan of this schedule could never be lower than Cma~. P P , • 2: Except condition 1, the only way of decreasing Sip in one Schrage schedule is to change the critical path, i.e. to reduce the release dates of jobs on P'. [] Because of condition 2 in the previous proposition, we are going to search for new artificial critical paths. This procedure will be repeated until no more critical paths are added. In the branch and bound method, we will search for the first artificial critical path P' (i.e., whose last job is sequenced before the last jobs of other artificial critical paths) where condition 1 is verified. If this path exists, we know that condition 2 is not verified because there would be another artificial critical path before P', in which condition 1 would be verified. As in Carlier's algorithm and for a real critical path, two nodes will be created for the job Ji~ which verifies condition 1, and with the largest subscript (1 > k, VJik verifying condition 1). Note that pifik = 0 (VJik ~ [Jit+l . . . . . Jip-1])' otherwise the job Jik for which Pitik ~ 0 would also verify condition 1, and with a larger subscript. In the first node, Ji.t will stay before J /p, but not always before [Ji l + 1 . . . . . Ji p - - I .] since the theorem is no longer valid. Therefore, qi t cannot be increased as in Carlier's algorithm. Instead, p~l ~~p will be set to pg1 to create a precedence relation between Ji l and Ji.p Ji I will be processed after Ji p in the second node. However, every job in [Ji . . . . . . . Ji .] does not verify condition 1 and therefore has to be processed before Ji.p Hence, Ji.l must'b~e set a~t-dr all jobs of J = [Ji./ + 1 , . . . , Ji p ]- As previously, the minimal durations Pikil (VJi~ ~ J) will be set to pi k. This modification is illustrated on the following example. Example 2. The data are given in Example 1. As we saw previously, modified Schrage's algorithm gives a makespan of 24 with the sequence (J1, Je, J3, J4, J5, J6). Since J3 verifies the necessary conditions (i.e. P35 ~ 0, r~ = 5 3 -[-P35, r~ ~ r 5 and J5 is on the critical path), it is the end of an artificial critical path. Then, a sequence will be created in which Ja will be processed after J3 (J1, J3, J2, Js, J4, J6), because q2 + P a < 24 - r 3 - P 3 , with Cmax = 23 which is optimal (Cmax = r 6 q-P6 -b q6)Finally, the dependent jobs algorithm is based on the following proposition.

Proposition 3. Let S be one Schrage schedule, and let P = [ J D - . - , Jp] be a real critical path. I f this path does not contain any dependent jobs, or if there are no jobs which verify the necessary conditions and Proposition 2, then the theorem is valid. Proof. If P is a real critical path, then the makespan Cma x = r~ + EJi ~ PPi q- qp" Let h , be m i n j i ~ e r ~ + ) ~ . j i ~ e P i -[- m i n y ~ e q i. • If there is no critical job Jc such that qc < qp, then qp = m i n ~ e q i. Therefore Cma~ = hp since r~ = m i n j / E er~ (by construction of Schrage schedules, see [2]). No job verifying the necessary condi-

S. Dauz~re-P&&~European Journal of OperationalResearch 81 (1995)579-589

586

tions with a job in P also verifies the conditions in Proposition 2. Hence, modified release dates of jobs on P cannot be reduced without permanently increasing the makespan. Consequently, hp is a lower bound and the schedule is optimal • If Jc exists (c is the largest subscript such that q~ < qp), let J be [Jc+l . . . . . Jp]. Then, r; > S~, V J i E J, otherwise J¢ would have been set after at least one job of J in modified Schrage's algorithm (because qc < qi, VJi ~ J, since c is the largest subscript verifying qc < qp). As in the previous case, if conditions in proposition 3 are verified, no modified release dates can be reduced such that relation r; > S~,VJ i ~ J, is no longer verified, Therefore, in every schedule where Jc is placed in J , the makespan C'ax is greater than Cmax: C~ax_> min r;+ ~ p i + p ~ + q p > S c + p c + Ji ~ J

JiEJ

~ pi+qp=Cmax . JiEJ

Hence, in an optimal schedule, J~ has to be processed before or after all jobs of J.

[]

Actually, for each job Ji verifying the conditions in Proposition 3, one can set r i = r~, and Proposition 3 becomes the theorem. In our branch and bound algorithm, we are going to create every possible way of decreasing the start times of jobs on a real critical path P, before applying the theorem to it. It is necessary to consider all the artificial critical paths before P, and to use Proposition 2.

Dependent jobs algorithm. To each node y of the tree is associated a one-machine problem with a lower bound f ~ ( f is the value of the current lower bound). The upper bound F is the value of the best solution known so far. N = Set of nodes. Initialization: N = ~J and 3,=0. Apply modified Schrage algorithm to the problem (new release date r') and compute the makespan Cm~. For all Yi which satisfy the necessary conditions, create an artificial critical path. I f it exists, search for the first critical path in which Jc ¢ O, i.e., the critical path whose last job is sequenced before all the last jobs o f other critical paths in which Jc ~ O. J = [Jc +1,..,Jp] • • IfJp is the end of an artificial criticalpath, search f o r J c such thatPcp = O, q¢ +Pc < Cr, ax -- rp --Pw and c maximal. • IfJp is the end of a real criticalpath, search for Yc such that qc
(1)

and another one in which Jc is required to be processed after all jobs of J by setting Pkc =Pk

VJk ~J"

(2)

I f Jp is the end of a real critical path, consider two new problems, one in which ]~ is required to be processed before all jobs of J by setting q c = m a x ( q c , ~ Pr + q p ) , Jr EJ

(3)

S. Dauz~re=Pdr~s~European Journal of Operational Research 81 (1995) 579-589

587

and another in which Jc has to be processed after all jobs of J by setting rc=max(rc,minr'r + ~ Pr)" \

JrEJ

Jr~J

(4)

I

For each problem, we compute the lower bound f~ = max(f, hj u cJc~) and add a new node fl (with the values r and not r') to N if f t~ < F. Updating of r, q and minimal durations p before adding/3. Step 2. J¢ = O. fv = O. While (Jc = O) and ( N v~ O) and (F >re), search in N for the node y with the lowest bound, remove y from N, apply modified Schrage's algorithm (r'-values). I f it exists, search for the first critical path in which Jc =~ 0. J = [ J~ + 1. . . . . Jp] and f = max(fv, h j). • IfJp is the end of an artificial critical path, search for J¢ such that p~, = O, q¢ +Pc < Cma~--rppp, and c maximal. • lfJp is the end of a real criticalpath, searchforJ c such that q~ 0 and rj < r i +Pij. 3. qi = qy + Pj + Pij --Pi, whenever Pij > 0 and qi < q~ + Pj + Pij --Pi" To improve the efficiency of the procedure, minimal durations are also modified when Jp is the end of a real critical path. Expression (2) is appended to expression (4), and Pck =Pc

VJk ~ J

(5)

is appended to expression (3). Actually, these two appendings also guarantee the correctness of the algorithm, i.e. that the imposed precedence constraints remain satisfied in the further iterations.

3.3. Computational experiments We tested this procedure on job-shop problems solved with the Shifting Bottleneck procedure ([1]), and each time a One Machine problem had to be solved, we applied both Carlier's algorithm (CAR) and our algorithm (DEP), and compared the corresponding results. As described in Section 3.1, the makespan given in CAR corresponds to the length of the longest path without taking the dependencies into account, and is actually a lower bound. To obtain the real makespan, we need to introduce the dependencies in the sequence. In Table 2, we gave some problems where a difference between the solutions given by CAR and D E P appears. Even if it occurs rarely (128 cases out of 3117), the variation can be large (see problem 7). Besides, we did not consider the case in which the real makespan in CAR and the makespan in D E P are the same, but greater than the lower bound. Although D E P is an exponential algorithm, like CAR, computing times are always less than 1 sec, and very few problems (7 out of 3117) need more than 100 microruns. Moreover, in nearly 87% of cases, the number of microruns is lower than or equal to the one in CAR. This number can be lower in DEP

S. Dauzdre-Pdr~s~European Journal of Operational Research 81 (1995) 579-589

588 Table 2 Problem 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Number of operations

Number of dependencies

CAR Value a

Microruns b

DEP Value

Microruns

Lower bound

10 10 10 10 20 20 20 20 20 20 20 20 20 50 50 50 50 100 100 100

6 10 22 21 75 71 83 74 70 68 64 67 75 438 454 412 503 1841 1953 1404

1524 1540 1543 1511 1553 1372 1514 1434 1409 1447 1407 1464 1470 2969 2823 2988 3148 5437 5674 5629

1 2 1 1 1 4 3 1 2 1 1 5 7 75 29 1 1 1 1 1

1473 1523 1529 1490 1531 1347 1402 1384 1372 1406 1347 1420 1403 2834 2762 2868 2958 5401 5618 5506

3 12 14 6 1 153 43 13 1 27 3 67 12 481 14 337 328 129 19 1

1473 1523 1509 1476 1531 1347 1402 1384 1372 1403 1347 1401 1403 2816 2745 2807 2907 5401 5618 5506

a Value : Makespan of the best schedule obtained. b Microruns : Number of Schrage's algorithms applied.

b e c a u s e t h e o p t i m a l s e q u e n c e is s o m e t i m e s f o u n d f a s t e r t h a n in C A R , since t h e r e l e a s e d at es are u p d a t e d in S c h r a g e ' s a l g o r i t h m .

4. Conclusion W e e n l a r g e d t h e n o t i o n o f precedence constraints b e t w e e n jobs, by d e f i n i n g t h e c o n c e p t o f m i n i m a l d u r a t i o n b e t w e e n start t im e s o f d e p e n d e n t jobs. T h e n , w e p r e s e n t e d a p r o c e d u r e for O M S p r o b l e m s i n c l u d i n g p r e c e d e n c e constraints. T h e a l g o r i t h m gives results w h i c h ar e at least as g o o d as t h o s e o b t a i n e d with t h e p a r e n t , i.e. C a r l i e r ' s a l g o r i t h m [2], an d m u c h b e t t e r in s o m e cases. M o r e o v e r , c o m p u t i n g t i m es are m o s t o f t e n e q u i v a l e n t . This a l g o r i t h m c o u l d b e u s e d in m u l t i - m a c h i n e p r o b l e m s for m e t h o d s w h i c h solve O M S p r o b l e m s iteratively, like in A d a m s et al. [1], w h e r e t h e s e n e w p r e c e d e n c e co n st r ai n t s arise.

Acknowledgment W e w o u l d like to t h a n k t h e r e f e r e e s for t h e i r c o m m e n t s an d suggestions t h a t h e l p e d us a lot to i m p r o v e t h e original version.

References [1] Adams, J., Balas, E., and Zawack, D., "The shifting bottleneck procedure for job shop scheduling", Management Science 34 (1988) 391-401.

S. Dauzdre-P~r~s / European Journal of Operational Research 81 (1995) 579-589

589

[2] Carlier, J., "The one-machine sequencing problem", European Journal of Operational Research 11 (1982) 42-47. [3] Dauz~re-P6r~s, S., and Lasserre, J.B., "A modified shifting bottleneck procedure for job shop scheduling", International Journal of Production Research 31 (1993) 923-932. [4] Dauz~re-P6r~s, S., "A procedure for the one-machine sequencing problem with dependent jobs", Rapport LAAS 90382, L.A.A.S., Toulouse, 1990. [5] Garey, M.R., Johnson, D.S., Simons, B.B., and Tarjan, R.E., "Scheduling unit-time tasks with arbitrary release times and deadlines", SIAM Journal on Computing 10 (1981) 256-269. [6] Horn, W.A., "Some simple scheduling algorithms", Naval Research Logistics Quarterly 21 (1974) 177-185. [7] Lageweg, B.J., Lenstra, J.K., and Rinnooy Kan, A.H.G., "Minimizing maximum lateness on one machine: Computational experience and some applications", Statistica Neerlandica 30 (1976) 25-41. [8] Lawler, E.L., Lenstra, J.K., Rinnooy Kan, AM.G, and Shmoys, D.B., "Sequencing and Scheduling: Algorithms and Complexity", Report BS-R8909, Centre for Mathematics and Computer Science, Amsterdam, 1989. [9] Lenstra, J.K., Rinnooy Kan, A.H.G., and Brucker, P., "Complexity of machine scheduling problems", Annals of Discrete Mathematics I (1977) 343-362. [10] McMahon, G., and Florian, M., "On scheduling with ready times and due dates to minimize maximum lateness", Operations Research 23 (1975) 475-482. [11] Nowicki, E., and Zdrzalka, S., "A note on minimizing maximum lateness in a one-machine sequencing problem with release dates", European Journal of Operational Research 23 (1986) 2667-267. [12] Zdrzalka, S. and Grabowski, J., "An algorithm for single machine sequencing with release dates to minimize maximum cost", Discrete Applied Mathematics 23 (1989) 73-89.