heuristics for generalized shop scheduling problems based on decomposition

27
Heuristics for Generalized Shop Scheduling Problems Based on Decomposition Karin Kr¨ uger Otto-von-Guericke-Universit¨ at, Fakult¨ at f¨ ur Mathematik, PSF 4120, 39016 Magdeburg, Germany Yuri N. Sotskov Institute of Engineering Cybernetics, Academy of Sciences of Belarus, Surganov St. 6, 220012 Minsk, Belarus Frank Werner Otto-von-Guericke-Universit¨ at, Fakult¨ at f¨ ur Mathematik, PSF 4120, 39016 Magdeburg, Germany Abstract: In this paper we consider generalized shop scheduling problems, where arbitrary precedence constraints among the operations are given (general shop), sequence-dependent changeover times between the processing of operations are taken into consideration, mul- tiprocessor requirements of operations can occur and, in each technological stage of a job, several identical machines of the corresponding type may be available (hybrid or flexible shop). Also the number of machines of each type that are used is not fixed a priori. The objective is to minimize an arbitrarily given non-decreasing function in the completion times of the operations and in the numbers of identical machines of each type which have been used. By applying the mixed multigraph model, we propose two heuristic decomposition procedures and several algorithms for constructing and improving a schedule. The devel- oped algorithms have been tested on a set of problems with up to 20 jobs and up to 10 machine types. corresponding author: Dr. Frank Werner tel: +49 391 6712025 fax: +49 391 6711171

Upload: ifn-magdeburg

Post on 12-May-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Heuristics for Generalized ShopScheduling Problems Based on

Decomposition

Karin Kruger

Otto-von-Guericke-Universitat, Fakultat fur Mathematik,

PSF 4120, 39016 Magdeburg, Germany

Yuri N. Sotskov

Institute of Engineering Cybernetics, Academy of Sciences of

Belarus, Surganov St. 6,

220012 Minsk, Belarus

Frank Werner

Otto-von-Guericke-Universitat, Fakultat fur Mathematik,

PSF 4120, 39016 Magdeburg, Germany

Abstract: In this paper we consider generalized shop scheduling problems, where arbitraryprecedence constraints among the operations are given (general shop), sequence-dependentchangeover times between the processing of operations are taken into consideration, mul-tiprocessor requirements of operations can occur and, in each technological stage of a job,several identical machines of the corresponding type may be available (hybrid or flexibleshop). Also the number of machines of each type that are used is not fixed a priori. Theobjective is to minimize an arbitrarily given non-decreasing function in the completion timesof the operations and in the numbers of identical machines of each type which have beenused. By applying the mixed multigraph model, we propose two heuristic decompositionprocedures and several algorithms for constructing and improving a schedule. The devel-oped algorithms have been tested on a set of problems with up to 20 jobs and up to 10machine types.

corresponding author:Dr. Frank Wernertel: +49 391 6712025fax: +49 391 6711171

1 Introduction

In a general shop scheduling problem, n jobs have to be processed on m machines. Each jobconsists of a set of operations, where each operation has to be processed on a certain machinefor a given processing time without interruptions. There are given arbitrary precedenceconstraints between operations, and the objective is to minimize a non-decreasing function inthe completion times of the jobs. Such a problem has been considered for instance in Bruckerand Thiele (1995), Kleinau (1992) and Tanaev et al. (1994). In connection with differentapplications (e.g. in flexible manufacturing systems) often even more general schedulingproblems arise. One such generalization is multiprocessor tasks, where an operation canrequire more than one machine (processor) simultaneously. Sometimes one is concernedwith hybrid (flexible) shops, where different machine types are given and there exists aset of identical machines of each type. The processing of a job at a certain stage requiresthe processing of an operation on one of the identical machines of the corresponding type.Another ‘practical’ generalization is concerned with sequence-dependent changeover timesbetween the processing of certain operations of a job or setup times between the processingof certain jobs on a machine.

In this paper, we consider all the above generalizations simultaneously. If the processing ofan operation requires a machine of a certain type, exactly one of these identical machines isnecessary for processing this operation. The number of machines of each type which will beused is not a priori fixed, but is chosen as part of the problem, with these numbers influencingthe value of the objective function, which is nondecreasing in the completion times of thejobs and the number of machines used.

As it has been noted by MacCarthy and Liu (1993), ‘classical scheduling has tended toconsider scheduling problems in isolation from higher levels of the production planning andcontrol function’. The problem considered in this paper may combine the scheduling stagewith the production planning stage and may be used for an interaction between schedulingand decision making at a higher level. For instance, when similar production programs haveto be realized, one can influence the design of a suitable processing system which may helpto avoid bottlenecks in the production process. The influence of changes in the processingsystem can be investigated and recommendations can be derived to make the productionprocess more effective.

It should be noted that in various papers on scheduling theory the aim is to find specialcases of scheduling problems and to develop special (if possible, polynomial) algorithms. Inorder to construct faster algorithms usually a specific format of the input data is used whichmay not be appropriate for practitioners working in the field of production management.Contrary to this trend, we propose a rather general network model and software.

Since the problem considered is very general, no specific algorithms for it are available.Contrary to the special cases of shop scheduling problems (such as job shop or flow shop),one cannot expect to design algorithms that take advantage of concrete structural properties.

Therefore, our aim is to propose and compare some general strategies for solving the problem.For representing the input data, we use a generalization of the mixed (disjunctive) graphthat has widely been applied to job shop problems, see e.g. Brucker et al. (1994), Carlier andPinson (1989), Roy and Sussmann (1964): the vertex set Q of the mixed graph G = (Q,U, V )is the set of all operations, the arc set U represents the given precedence constraints between

1

operations and the edge set V represents resource constraints.

Basically, the application of this model means that a set of edges has to be orientated(an orientation of an edge [i, j] ∈ V leads to a settled precedence between two operationsi ∈ Q and j ∈ Q) in such a way that a feasible schedule with minimal objective functionvalue results. The usual mixed (disjunctive) graph model deals with operations that haveto be processed on exactly one machine and the assignment of the operations to machinesis supposed to be given in advance. In Tanaev et al. (1994) and Sotskov (1996, 1997) themore general mixed multigraph approach was proposed, which allows us to consider shopscheduling problems with both non-identical and identical machines, and the assignment ofthe operations to the machines has to be done by the algorithm that is applied.

In a practical problem there are a very large number of edges in the set V that have to betransformed. Therefore, here we use a decomposition of the set V of edges into subsets, whichleads to smaller subproblems that we solve heuristically in an acceptable time. Note thatheuristic decomposition approaches for job shop problems have been proposed by Adamset al. (1988), Chu et al. (1992), Krger et al. (1995) and Portmann (1988). The shiftingbottleneck procedure (Adams et al. 1988) is currently one of the most popular algorithmsfor the approximate solution of the job shop problem with minimization of the completiontime of the job completed last (makespan). A decomposition of the set of edges is done byconsidering in each step the set of edges incident with operations that have to be processedon the same machine. This leads to single machine problems with release dates and deliverytimes of the operations which are optimally solved by an enumerative algorithm. In theprocess of solving one-machine problems release and delivery times may change, and so therepeated solution of one-machine problems at a later time may reverse settled precedencesbetween operations.

For shop scheduling problems, often local search algorithms are used for the heuristic solu-tion. The basic variant is iterative improvement which works as follows. Starting with aninitial solution, a neighbour in a predefined neighbourhood is generated. If the neighbourhas a better objective function value than the initial solution, the neighbour is taken as thenew solution. Then the search is continued until no neighbour has a better objective func-tion value than the current solution, i.e. a local optimum has been found. To avoid earlystagnation in a local optimum, some metaheuristics such as simulated annealing (Laarhovenand Aarts 1987) or tabu search (Glover 1989) are often included. Applications of these ap-proaches to the job shop problem have been given for instance by Laarhoven et al. (1992)or Dell’Amico and Trubian (1993). Further heuristic algorithms for the job shop problemhave been reviewed by Blazewicz et al. (1996).

For more general problems, the only algorithms are those based on priority rules (see forinstance Morton and Pentico 1993). Even in connection with special shop scheduling prob-lems, priority based algorithms are used (see Dorndorf and Pesch (1995) in connection withgenetic algorithms for the job shop problem). Although they usually yield worse solutionsthan special algorithms for these problems such as the shifting bottleneck procedure, theiruse has advantages even for these special problems, namely ease of implementation as wellas robustness to problem changes. Ishii and Talavage (1994) use different priority rules forthe individual machines in connection with short-term scheduling in flexible manufacturingsystems. In this paper we also use priority rules for transforming edges in the subproblems tobe considered. In addition reoptimization procedures which may reverse settled precedences

2

between operations are included to improve partial or complete schedules.

The paper is organized as follows. In Section 2 we give a detailed formulation of the problem.The mixed multigraph model is introduced in Section 3. The two decomposition proceduresare described in Section 4. The procedures for generating and improving a feasible sched-ule are presented in Section 5. We describe procedures for the constructive and iterativedetermination of the number of machines used and the sequences of the operations on themachines. Finally, in Section 6 computational results are given and we present a comparisonof the algorithms relative to each other.

2 Formulation of the problem

We consider a generalized shop scheduling problem of processing n jobs J1, J2, . . . , Jn on aset of machines M = {1, 2, . . . , m}, where for each job Ji a release date ri ≥ 0 and a duedate di > ri are given. The set M contains non-identical as well as identical machines. Moreprecisely, the set M is divided into w mutually disjoint non-empty subsets M1,M2, . . . ,Mw,where each set Mk contains all wk available identical machines of type k = 1, 2, . . . , w. Thuswe have a set of w different machine types {1, 2, . . . , w} and for each type k, a set Mk of wk

identical machines: |Mk| = wk. Each job consists of a set of uninterrupted operations andan operation may need different machine types simultaneously to be processed: an operationi represents the simultaneous processing of a job on a machine of all necessary types andrequires a given processing time pi > 0.

We denote the set of all operations by Q = {1, 2, . . . , q} and the subset of all operations thatrequires processing on a machine of type k by Qk: the set Q is divided into w subsets Qk

that may be not disjoint. In the set Q of operations arbitrary precedence constraints aregiven which can be described as a binary relation →. Preemptions of an operation are notallowed and no machine can process two or more operations at the same time. All machinesthat process an operation i are occupied during the whole period [si, si + pi], where si is thestarting time of operation i.

If we have i → j for operations i, j ∈ Q, then for each feasible schedule the inequality

sj − si ≥ aij (1)

must hold, where aij is the given smallest possible time between si and sj. In addition tothe processing time pi, the value aij can include a transportation or changeover time whenchanging the job to another machine and/or setup times on some of the machines to startprocessing a job after having completed another one or some other specific data, which maydepend on both operations i and j. Thus, sequence–dependent setup (or changeover times)can be taken into consideration. The given value aij > 0 with i, j ∈ Q is allowed to be greateror smaller than the processing time pi of operation i ∈ Q or equal to pi. When aij < pi, wehave the situation that the time periods for processing two succeeding operations on differentmachines may partially overlap. If operation j is a successor of operation i (i.e. we havei → j), then operation i is not only started before operation j but also completed beforeoperation j. The latter has a consequence that aij ≥ pi − pj.

Each operation i ∈ Qk has to be processed on exactly one of the wk identical machines oftype k. Hence, while solving the problem the set Qk has to be divided into vk ≤ wk subsets

3

Qbk (k = 1, 2, . . . , w; b = 1, 2, . . . , vk) containing all operations that are processed on machine

b ∈ Mk. If two operations i and j belong to the same set Qbk in a feasible schedule, one of

the inequalitiessj − si ≥ aij or si − sj ≥ aji (2)

must hold. Otherwise, if two operations i and j have to be processed on the same machinetype k but belong to two different sets Qb

k and Qdk, there does not exist an a priori condition

(2) concerning their starting times.

Thus, to get a feasible solution, the following three steps are necessary:

1) determine the vector v = (v1, v2, . . . , vw) of the numbers of machines used, wherevk ≤ wk for each machine type k = 1, 2, . . . , w,

2) assign each operation to exactly one machine of each necessary type, and

3) sequence the operations on the machines to which they have been assigned.

The aim is to construct an optimal schedule, i.e. to minimize the value of a given objectivefunction F (v1, v2, . . . , vw, C1, C2, . . . , Cn), where Ci denotes the completion time of the lastoperation of job Ji. We assume that the function F is nondecreasing in each of its arguments.

3 The mixed multigraph model

We consider the weighted mixed multigraph G′ = (Q′, U, V ′), where Q′ = Q ∪ {0, ∗} isthe set of vertices (operations) including a fictitious initial operation 0 and a fictitious finaloperation ∗. U is the set of (directed) arcs, where each arc (i, j) ∈ U has the weight aij ≥ 0,and V ′ is the set of (undirected) edges. Contrary to the edge set V ′ of a mixed (disjunctive)graph considered by Brucker et al. (1994), Carlier and Pinson (1989) or Roy and Sussmann(1964), here V ′ may contain multi-edges [i, j]k, k ∈ {k1, k2, . . . , kh} ⊆ {1, 2, . . . , w}, with apair of weights aij > 0 and aji > 0. Such a multi-edge is a set of h (1 ≤ h ≤ w) parallel edges,where each edge [i, j]k has the same vertices i and j and the same pair of weights aij andaji. The parallel edges of a multi-edge belong to h different sets Qk ⊂ Q (k ∈ {1, 2, . . . , w}).The multi-edges [i, j]k ∈ V ′ define restrictions with respect to the machine types. An edge[i, j]k belongs to the set V ′ if and only if i ∈ Qk and j ∈ Qk. The arcs (i, j) ∈ U describe thegiven precedence constraints. The set U contains arcs from the fictitious operation 0 to alloperations having no predecessor operation and arcs from all operations having no successoroperation to the fictitious operation ∗. Note that aij = 0 for (i, j) ∈ U is only possible fori = 0 (in this case the release date of the job of operation i is equal to 0). In the case of(i, j) ∈ U with j = ∗, the weight aij is equal to the processing time or it can additionallyinclude a delivery time.

We solve the problem by transforming the edges V ′ as follows. If we replace an edge [i, j]k bythe arc (i, j)k (by the arc (j, i)k, respectively), we settle that operations i and j are processedon the same machine of type k and that operation i is processed before j (operation j isprocessed before i, respectively). This transformation of an edge is analogous to that for theusual disjunctive graph approach (see for instance Roy and Sussmann 1964). If operationsi and j will be processed on different machines of type k, we remove the edge [i, j]k from

4

the mixed multigraph G′ without adding any arc in the resulting multigraph. Our approachdiffers from the disjunctive graph approach by the latter transformation of the edge [i, j]k,which is allowed if wk > 1, since the assignment of operations i and j to the machines ofMk is not given in advance. By transforming one or more multi–edges of the set V ′ of themixed multigraph G′ = (Q′, U, V ′), we get another mixed multigraph G′

r = (Q′, Ur, V′r ) with

the same set of vertices, with the set of arcs Ur ⊆ U and with the set of edges V ′r ⊆ V ′.

Obviously, not all transformations of the multi–edges [i, j]k ∈ V ′ are feasible, since they maycontradict certain assumptions. For example, we may generate a circuit, or the number ofmachines of type k which are used can be greater than the given number wk of availablemachines. Necessary and sufficient conditions for the feasibility of such edge transformationsare given in Sotskov (1995).

In this paper, we simplify this model by replacing the above mixed multigraph G′ by themixed graph G = (Q′, U, V ), where each set of multi–edges [i, j]k is replaced by a single edge[i, j]. For this simplification, we consider only the same transformation for all edges from theset of parallel edges [i, j]k that are incident to the same vertices i and j, i.e. if i and j areput on the same machine for one machine type, then they are put on the same machine forevery other machine type they both need. Let us consider an example, for which no optimaldigraph Gs with the same transformation of the multi–edges [i, j]k exists.

Example 1: Let w = 3,M1 = {1, 2, 3},M2 = {4, 5},M3 = {6, 7}, Q = Q1 = {1, 2, 3}, Q2 ={1, 3}, Q3 = {1, 2}, a01 = a02 = a03 = 0, a1∗ = 10, a2∗ = a3∗ = 7, a12 = a13 = 10, a21 = a31 =a23 = a32 = 100 and

F (v1, v2, v3, c1, c2, c3) = 20v1 + 20v2 + 20v3 +max{c1, c2, c3}.

Figure 1

The multigraph G′ = (Q′, ∅, V ′) for this problem is shown in Fig. 1, where the edges fromthe set V ′ are marked with the corresponding type of machines. Note that the processingtime pi of an operation i ∈ Q is included into the corresponding values aij , j ∈ Q.

Optimal digraphs G1 and G2 for this problem with an objective function value of 97 arepresented in Fig. 2a and 2b.

Figure 2

For the digraph G1 (G2, respectively), there exists a pair of operations 1 and 3 (1 and 2), forwhich the multi–edges [1, 3]1 and [1, 3]2 ([1, 2]1 and [1, 2]3) are transformed in a different way.It is not difficult to verify that all other digraphs generated by the multigraph G′ either havea larger objective function value or are infeasible. For example, the digraph G3, shown in Fig.3, is infeasible since, on the one hand, operations 2 and 3 have to be processed by differentmachines of type 1 (due to the removal of edge [2, 3]1) but, on the other hand, operations 1and 3 have to be processed on the same machine of type 1 (due to the orientation of edge[1, 3]1) and operations 1 and 2 have to be processed on the same machine of type 1 (due tothe orientation of edge [1, 2]1).

Figure 3

5

Due to our simplification to replace G′ by G, we denote a multi–edge in the following as anedge. Consequently, transforming an edge [i, j] ∈ V means

• replacing it by an arc (i, j) with the weight aij, or

• replacing it by an arc (j, i) with the weight aji, or

• removing it from the set of edges (without adding an arc).

Depending on the chosen sequence of operations i and j for a feasible schedule, one of theinequalities (2) must be valid for all edges, which were replaced by arcs. Thus, in termsof the mixed multigraph model the problem of constructing an optimal schedule consistsin finding numbers vk ≤ wk of identical machines of each type k = 1, 2, . . . , w used, and avector (s1, s2, . . . , sq) of starting times of all operations such that condition (1) holds for allarcs (i, j) ∈ U , condition (2) holds for all edges [i, j] ∈ V which have not been removed, andthe value of the objective function F for this schedule is minimal.

Next, we introduce the earliest starting time of an operation i ∈ Q′ with respect to thedigraph Gr = (Q′, Ur, ∅). The earliest starting time si(Gr) of an operation i ∈ Q′ is given bythe maximal weight of a path in Gr that ends in vertex i. Now we introduce the notationof a conflict edge (Tanaev et al. 1994, Krger et al. 1995). An edge [i, j] of a mixed graphGr = (Q′, Ur, Vr) is called a conflict one if both inequalities

−aji < sj(Gr)− si(Gr) < aij

are valid. The above condition means that, if we orientate the edge [i, j], at least one startingtime of an operation will be increased.

Let P (G) be the set of all feasible circuit-free digraphs that can be constructed from themixed graph G = (Q′, U, V ) by choosing numbers vk ≤ wk, distributing the operations of Qk

to the sets Qbk and replacing the edges [i, j] ∈ V by arc (i, j) or (j, i) if i ∈ Qb

k and j ∈ Qbk.

For fixed numbers vk ≤ wk, a schedule s given by the vector of starting times (s1, s2, . . . , sq)is called a semiactive schedule if no operation can be started earlier without changing thesequence of operations on at least one machine. It is evident that we can find an optimalschedule for a given regular criterion among the semiactive schedules with respect to allpossible numbers vk ≤ wk (remind that this must not necessarily be an optimal schedule forthe original problem). Thus, for solving the simplified scheduling problem, it is sufficient tofind for the initial mixed graph G a feasible digraph of the set P (G) such that the value ofthe objective function F for the semiactive schedule corresponding to this digraph is minimalamong the values of F for all other digraphs of the set P (G).

It is known (Tanaev et al. 1994, Roy and Sussmann 1964) that the optimal value of theobjective function with respect to the mixed graph Gr = (Q′, Ur, Vr) is equal to the valueof the objective function with respect to the digraph Gr = (Q′, Ur, ∅) if Gr has no conflictedges (provided that Gr does not contain any circuit). Thus, while solving the problem it issufficient to transform only all conflict edges in a suitable way.

Finally, we note that the model introduced above can be extended to the case that the setV may contain also edges [i, j], where operations i and j do not belong to the same set Qk.Such a situation can occur for instance in an open shop environment, where both operations

6

i and j belong to the same job and one has to decide whether operation i is performedbefore operation j or vice versa, i.e. they cannot be executed independently. However, allalgorithms proposed in this paper can be applied also to such problems.

4 Two decomposition approaches

Since the problem considered is NP-hard (Tanaev et al. 1994), we suggest heuristic al-gorithms based on different decomposition procedures. We transform the mixed graphG = (Q′, U, V ) into a digraph of the set P (G) by splitting the set V into subsets of edgesthat have the same or similar features from a certain point of view. Let the mixed graphGr = (Q′, Ur, Vr) be considered at step r in the decomposition procedure:

• the set of vertices Q′ is the same as for the initial mixed graph G;

• the set of arcs Ur consists both of the arcs of U of the initial mixed graph G and thearcs obtained at the previous steps 1, 2, . . . , r− 1 by orientating some edges of the setV ;

• the set of edges Vr includes all edges from V that have not been orientated or deletedyet at previous steps.

It remains to describe how the graph Gr of step r is obtained and which subset V ∗r ⊆ Vr is

considered in the next subproblem according to the decomposition applied. We use one ofthe following decomposition procedures.

• Procedure MT: splitting of the current edge set according to the machine types.

In the first step, from the initial mixed graph G1 = (Q′, U, V ) the set V ∗1 ⊆ V of edges

is considered, which are connecting operations that have to be processed on a machineof type 1, i.e. we consider the mixed graph G∗

1 = (Q′, U, V ∗1 ). By means of a procedure

described in Section 5, we transform all conflict edges V ∗1 ⊆ V ∗

1 and we obtain the setU1, which contains all arcs resulting from the orientation of edges from V

∗1. To obtain

the initial mixed graph G2 = (Q′, U2, V2) for the second step from G1, we remove alltransformed edges, i.e. V2 = V \V ∗

1 , and add oll orientated edges to the set U , i.e.U2 = U ∪ U1. In the second step we consider the subproblem containing all edgesV ∗2 ⊆ V2 that are incident with operations that have to be processed on a machine

of type 2. Thus, we consider consecutively in step r the edges V ∗r ⊆ Vr connecting

operations that have to be processed on a machine of type r with 1 ≤ r ≤ w. Afterthe first w steps, we start in step w + 1 again with the subproblem containing edges,which are connected with operations to be processed on a machine of type 1 (sincenew conflict edges may occur) and so on. The decomposition algorithm stops if in thecurrent mixed graph Gr, the set Vr does not contain any conflict edge.

• Procedure STO: splitting of the current edge set according to the starting times ofthe operations.

In step r, the set V ∗r ⊆ Vr contains all edges that are incident with operations having

an earliest starting time not greater than a given bound Br in digraph Gr = (Q′, Ur, ∅)

7

currently considered. Again, all conflict edges V ∗r of the set V ∗

r are transformed. Fordetermining the bounds Br, we use a decomposition parameter ω as follows. Wedetermine l as the difference between the largest and smallest earliest starting timeof an operation in the initial digraph G = (Q′, U, ∅) divided by ω. Then bound Br isobtained as Br = r · l. Note that for ω = 1 no decomposition occurs, whereas largervalues of ω lead to a higher degree of decomposition.This variant can be modified by using the latest starting times of the operations withrespect to the current digraph Gr = (Q′, Ur, ∅) so that the length of the longest pathin Gr is not exceeded.Contrary to ProcedureMT, here it would be possible to influence the number of subsetsand their cardinality by choosing the bounds Br. However, our tests have shown thatthis a time consuming procedure, which does not improve substantially the quality ofthe solution that has been obtained.

We notice that procedure MT is a generalization of a decomposition variant often appliedto classical shop scheduling problems. For instance, the well-known shifting bottleneckprocedure for the job shop problem (Adams et al. 1988) considers in each step single machineproblems that are solved by an enumerative algorithm exactly. However, for the general classof problems under consideration, the resulting subproblems are much harder to solve and nospecial algorithms for treating these subproblems are available.

5 Generation of feasible schedules

The necessary steps for determining a feasible schedule mentioned in Section 2 can be per-formed in parallel or independently. In the following we suggest constructive and iterativeprocedures for the determination of vector v and the determination of the sequences ofoperations assigned to the same machine.

5.1 Generation and improvement of the sequences of operations

In this subsection we assume that vector v of machines used is fixed. We derive proceduresthat construct for a fixed vector v feasible sequences of the operations (and the correspond-ing starting times) on the machines and reoptimize settled precedences between operationsiteratively.

Procedure s-CON (sequence construction)

First we deal with the constructive assignment and sequencing of the operations with respectto vector v after having split the initial problem into a series of problems of smaller dimensionusing a decomposition procedure described in Section 4. we have to transform all conflictedges of the set V ∗

r ⊆ V ∗r of the mixed graph G∗

r = (Q′, Ur, V∗r ). We suggest the following

way to transform an edge (note that the transformation of an edge is connected with theassignment of their operations to machines of the necessary types).

We choose one of the edges [i, j] of the set V ∗r and check whether one or both operations i

or/and j already have been assigned to machines of the corresponding types during previouscalculations. If there is at least one of these operations not assigned to machines, we have

8

to decide whether the edge can be deleted or not. This decision depends on the number ofused machines of the types necessary to process the operations of the considered edge. It isallowed to delete an edge if more than one machine exists for all necessary machine types.In this case we assign the operations i and j to different machines, namely to those whichprocess the smallest number of operations up to this time and check whether it is necessaryto assign other operations to the same machines, too (may be because these operations areconnected by an arc with the just assigned operations i or j). The required assignments arecarried out.

In all other cases the transformation of the considered edge consists in replacing it by anarc. For orientating the edge there exists a lot of priority rules (Blackstone et al. 1982,Haupt 1989, Panwalkar and Iskander 1977). Blackstone et al. (1982) have stated that nosingle priority rule has been shown to consistently produce better results than all other rulesunder a variety of shop configurations and operating conditions. Since we are primarilyinterested in comparing different general strategies for handling the considered general classof problems but not a lot of priority rules, we included into our tests only three rules, whichhave often been applied in connection with several objective functions and which not havebeen developed for special criteria, namely the first operation of the arc is that with thesmaller processing time (SPT ), that with the smaller earliest starting time (FIFO) or thatwith the smaller slack time (SLACK), where the slack time is defined as due date minusremaining processing time and minus earliest starting time. After orientating the edge wehave to assign both operations of the edge to the same machine of the corresponding types(choosing the machines is done as described above). If one of the two operations has beenassigned earlier, we assign the other one to the same machines. The earliest starting timesare updated after orientating an edge (in initial tests we have found that this variant worksmuch better than updating starting times only after each solved subproblem).

Procedure s-REOPT (reoptimization of the sequences of operations)

Up to now, once a transformation of an edge has been made, it will not be changed withinthe further construction of the sequences of operations. In the procedure s-REOPT weconsider the change of previously settled scheduling decisions, i.e. an oriented arc of the setV can be oppositely orientated. This procedure can be applied to a partial schedule as wellas to a complete schedule. Let Gr = (Q′, Ur, Vr) be the mixed graph currently consideredand Gr = (Q′, Ur, ∅) the corresponding digraph. Then we define a neighbourhood N(Gr) ofdigraph Gr as follows:

N(Gr) – set of circuit-free digraphs that can be obtained by reversing the orientation ofone arc in Ur, which belongs to the transitive reduction in Gr.

We mention that the transitive reduction inGr contains no arc (i, k) such that arcs (i, j), (j, k)belong to Gr with j �= i and j �= k. Note that the generation of a neighbour can change thesequence of operations on more than one machine since an arc can represent h parallel arcswith respect to our original problem.

We combine this procedure with simulated annealing. It has its origin in statistical physics,where the process of cooling solids slowly until they reach a low energy state is called an-nealing. Contrary to iterative improvement, a new solution is, in certain cases, acceptedeven though its objective function value exceeds that of the old solution. Starting with an

9

initial digraph Gr, a neighbour G1r ∈ N(Gr) is generated and the difference Δ between the

objective function values of the (partial or complete) solutions described by the digraphsG1

r and Gr is calculated. When Δ ≤ 0, digraph G1r is accepted and taken as the initial

digraph for the next iteration. In the other case, the digraph G1r is accepted with probability

exp−Δ/T , where T is a parameter known as the temperature. Typically, the temperature ishigh in the initial stages so that often increases in the objective function value are accepted.Then the temperature decreases slowly until it is close to zero in the final stages. In ourimplementation, the initial value T 0 is given by the current objective function value dividedby 25. Then after each iteration, the temperature is reduced by a value δ such that afterthe last iteration T = δ holds.

The use of the reoptimization procedure s-REOPT(k1, k2) is characterized by two parametersk1 and k2. The parameter k1 states that after each k1 solved subproblems and additionally af-ter having obtained a complete schedule, the reoptimization procedure is applied. If k1 = C,it means that only after having obtained a complete schedule, the reoptimization procedurewill be performed. The parameter k2 gives the number of iterations (i.e. generated solutions)in one run of s-REOPT.

5.2 Determination of v

In this subsection we describe the determination of the vector v of machines used. Thiscan be done either iteratively or constructively in connection with the generation of thesequences of operations.

Procedure v-LS (local search in v)

First we describe the iterative determination of vector v = (v1, v2, . . . , vw) by local search.For each vector v considered within the search, a feasible schedule has to be determined.This can be done either constructively or iteratively by the procedures described in Section5.1. We considered the following search variants within the set of feasible vectors v.

Variant v-LS1

We start with an arbitrary vector (v1, v2, . . . , vw) with vk < wk for at least one k. Then weincrease the number of machines of each type used by one provided the maximal number ofmachines of this type is not exceeded (ascending search). In the first iteration we considerthe vectors (v1+1, v2, . . . , vw), (v1+1, v2+1, v3, . . . , vw), . . . , (v1+1, v2+1, v3+1, . . . , vw+1)provided they are feasible (if a component has reached its maximum, it will not be increased).We select that vector v∗ for which the schedule generated by some procedure from Section5.1 has led to the best objective function value. If this value is better than the objectivefunction value of the schedule belonging to the initial vector v, then vector v∗ is taken asinitial vector for the next iteration. Otherwise, i.e. if a local optimum within the set ofvectors v has been obtained, the search terminates.

Starting with a vector (v1, v2, . . . , vw) with vk > 1 for at least one k, we can also constructnew vectors by decreasing the number of identical machines used (descending search).

Variant v-LS2

Again we start with an arbitrary vector (v1, v2, . . . , vw) with vk < wk for at least one k. themaximum wk. We increase the first component up to its maximum, i.e. we construct the

10

vectors (v1 + 1, v2, . . . , vw), (v1 + 2, v2, . . . , vw), . . . , (w1, v2, . . . , vw). We generate a feasibleschedule for each of these vectors, select the solution with the best objective function value,compare it with the initial one and continue the search with the vector corresponding tothe best objective function value by increasing the value v2. Among the resulting objectivefunction values obtained for all possible values v2, v2+1, . . . , w2 we again select the best oneand the corresponding vector is used as initial vector for the next iteration. Procedure v-LS2terminates after w steps. Similarly, we can also perform a descending search.

In our tests we started ascending search always with v = (1, 1, . . . , 1) and descending searchalways with v = (w1, w2, . . . ww).

Procedure s,v-CON

In this algorithm we determine constructively both the vector v and the sequences of op-erations on the machines. Based on the chosen decomposition procedure, we solve thecorresponding subproblem by transforming all conflict edges step by step in such a way thatthe numbers of machines of each type used do not exceed the given maximal numbers of ma-chines and that a lower bound of the objective function value is mimimal among all feasibletransformations. As lower bound we use the value of the objective function with respect tothe digraph, where all edges of the current mixed graph are removed.

All three possibilities to transform a conflict edge [i, j] influence the value of the lowerbound. In the case of orientating an edge, the completion times of some operations increasewhereas the numbers of machines of all types used do not change. When deleting an edge,the number of machines of some type used can increase whereas no completion time of anoperation changes.

More precisely, we start with one of the decomposition procedures and consider the resultingconflict edges one at a time. Taking a conflict edge, we first decide whether it is possible todelete it or not. We calculate for all necessary types of machines the number vk of identicalmachines required to process both operations of the conflict edge considered on differentmachines. If these numbers are less than or equal to the numbers wk of given identicalmachines of the corresponding types, the conflict edge may be deleted. If it is possible todelete the edge by using the same numbers of machines of the corresponding types as before,the lower bound of the objective function value does not increase. In this case it is notnecessary to calculate the lower bounds for the possible orientations of the edge and we canimmediately continue with transforming the next conflict edge.

If the deletion of the conflict edge is connected with increased numbers of machines of thecorresponding types used, we have to calculate the lower bound of the objective functionvalue and compare it with that obtained by replacing the conflict edge [i, j] by the arcs (i, j)and (j, i), respectively (when orientating the conflict edge we have to check up the resultingdigraph on circuits).

To calculate the number of required identical machines when deleting the conflict edge, weconsider for each machine type k ∈ {1, 2, . . . , w} that is required an undirected auxiliarygraph Hk starting with Hk = (Qk, ∅, ∅) (Sotskov 1995). It consists of all operations Qk,which have to be processed on one of the machines of type k. For each edge [i, j], whichhas been orientated in the mixed graph G, we have to identify the vertices i and j in theauxiliary graph Hk if i, j ∈ Qk. For each edge [i, j], which has been removed from G, we haveto add the same edge [i, j] in the auxiliary graph Hk if i, j ∈ Qk (note that in the auxiliary

11

graph the vertices i and j have possibly been identified with other vertices in some previoussteps).

The aim is to colour the vertices of this auxiliary graph using the smallest number of coloursin such a way that the vertices adjacent to an edge have different colours (vertex colour-ing problem, see Christofides 1975). This problem is NP-hard and we apply a ploynomialheuristic algorithm from Christofides 1975). The vertices are considered in a certain order(for instance according to their numbers) and a colour is identified with a number. Note thatthe required number of colours is unknown and it is determined in the colouring procedure.

The first vertex considered is coloured with colour one. If the second vertex is a neighbourof the first one, i.e. both vertices are connected by an edge, we colour it with colour two.Otherwise it is coloured with colour one. Generally, to colour a vertex i, we have to findout which of its neighbours already have been coloured and which colours have been usedfor them. Then we colour vertex i with the colour having the smallest number and which isnot used yet for colouring one of its neighbours. After having coloured all vertices, we getthe feasible number v of necessary colours. Although this algorithm is only a heuristic one,in many practical cases the number v is equal to the smallest number of necessary coloursor at least suffiently close to it. However, if the number v obtained does not correspond toan optimal solution of the vertex colouring problem, we get only an estimation for the lowerbound of the objective function value.

Returning to our original problem, we can state that such a colouring guarantees that theoperations i and j corresponding to differently coloured vertices are processed on differentmachines if edge [i, j] was deleted from the mixed graph G. On the other hand, if such anedge was orientated, the corresponding vertices were identified in the auxiliary graph andthus they are coloured with the same colour.

5.3 An example

For illustration we consider the following example.

Example 2: Let Q = {1, 2, 3, 4, 5}, w = 3, w1 = 2, w2 = 1, w3 = 2, Q1 = {1, 3}, Q2 ={2, 4, 5} and Q3 = {2, 4}. Assume that we have three jobs. Job J1 consists of operations1, 2, job J2 of operations 3, 4 and job J3 only of operation 5. The operations of the firsttwo jobs have to be processed in the stated order. For each job Ji, a release date ri and adue date di are given, namely r1 = 5, r2 = 7, r3 = 9, d1 = 15, d2 = 12 and d3 = 10. Thevalues aij for the set of arcs U are given as follows: a01 = 5, a03 = 7, a05 = 9 (it correspondsto the release dates of the jobs), a12 = 9, a2∗ = 5, a34 = 3, a4∗ = 4 and a5∗ = 1. The edgeset V is given by V = {[1, 3], [2, 4], [2, 5], [4, 5]}. The given corresponding pairs (aij , aji) areas follows: (a13, a31) = (10, 6), (a24, a42) = (6, 5), (a25, a52) = (6, 2) and (a45, a54) = (5, 1).The corresponding initial mixed graph G = (Q′, U, V ) together with the given values aij ispresented in Fig. 4. Note that the original multi–edge [2, 4] consisting of two parallel edgeshas been, due to our simplification, replaced by a single edge. The earliest starting timeswith respect to digraph G = (Q′, U, ∅) are s1 = 5, s2 = 14, s3 = 7, s4 = 10 and s5 = 9 (forsimplicity we omit here and in the following the argument G′).

Let us return to the initial mixed graph G = (Q′, U, V ) presented in Fig. 4. Assume that

12

the given objective function is

F = 5v1 + 6v2 + v3 +max{0, C1 − d1}+ 2max{0, C2 − d2}+ 2max{0, C3 − d3},where Ci denotes the completion time of the last operation of job Ji. We illustrate theapplication of procedure s,v-CON with decomposition procedure MT . Starting with thesubproblem containing all edges that are incident with operations to be processed on amachine of type 1, the mixed graph G∗

1 = (Q′, U, V ∗1 ) with V ∗

1 = {[1, 3]} is considered. Inthis case there exist all three possibilities for transforming this (conflict) edge. Deleting thisedge, we obtain the bounds v1 = 2, v2 = v3 = 1 for the number of machines used. Since nonew arc is added to set U , the earliest starting times of operations do not change. Thus,we get C1 = 19, C2 = 14 and C3 = 10 and the bound FB = 10 + 6 + 1 + 4 + 4 + 0 = 25for the objective function value in this case. If transforming edge [1, 3] into the arc (1, 3),we get the bounds v1 = v2 = v3 = 1 and the earliest starting times of operations 3 and 4increase, namely we obtain s3 = 15 and s4 = 18. Hence we get C1 = 19, C2 = 22, C3 = 10and the bound FB = 36. Finally, if transforming edge [1, 3] into the arc (3, 1), we get againthe bounds v1 = v2 = v3 = 1 and the earliest starting times of operations 1 and 2 increase,namely we obtain s1 = 13 and s2 = 22. Thus, we get C1 = 27, C2 = 14, C3 = 10 and thebound FB = 28. Consequently, procedure s,v-CON would delete edge [1, 3].

Next, the second subproblem is considered, i.e. the mixed graph G∗2 = (Q′, U2, V

∗2 ) with

U2 = U and V ∗2 = {[2, 4], [2, 5], [4, 5]}. Consider next the conflict edge [2, 4]. Deleting this

edge is not possible since we would need more than w2 = 1 machine of the second type.Transforming edge [2, 4] into the arc (2, 4) increases the earliest starting time of operation4, namely s4 = 20. This leads to C1 = 19, C2 = 24 and C3 = 10 and thus to the boundFB = 45. Analogously, transforming edge [2, 4] into the arc (4, 2) (which corresponds to theuse of priority rule FIFO), yields the bound FB = 26. Therefore, the latter variant is chosenby procedure s,v-CON. Now, the second subproblem is solved since no further conflict edgesexist and the decomposition algorithm stops.

In the case of applying a reoptimization procedure after the second subproblem has beensolved, the digraph G3 = (Q′, U2 ∪ {(4, 2)}, ∅) obtained has only one neighbour, which isgenerated by reversing the orientation of arc (4, 2) (which, however, would not lead to abetter objective function value).

6 Computational experiments

In this section we give some results of the computational experiments on a PC 486 (50MHz). All algorithms were coded in FORTRAN. For our tests, we generated 8 problemswith 10 jobs and 10 machine types and 8 problems with 20 jobs and 5 machine types, basedon the known problems given in Muth and Thompson (1963). The processing times of theoperations are taken from the corresponding original problems. Moreover, we randomlygenerated 8 problems with 10 jobs and 5 machine types and 8 problems with 15 jobs and 5machine types. For the latter problems, the processing times are randomly chosen integersfrom the interval [1, 100]. We transformed each of these instances into a generalized shopscheduling problem as follows:

• arbitrary precedence constraints between operations have been generated;

13

• we have generated values aij varying from pi2to 2pi;

• release dates ranging from 0 to 2500 and due dates ranging from 100 to 3500 have beengenerated for each job;

• we consider operations requiring up to four different machine types simultaneously;

• the numbers wk of available identical machines of type k vary between one and four.

As objective functions we have considered

F1 =w∑

k=1

αkvk +n∑

i=1

βi max{0, Ci − di}

and

F2 =w∑

k=1

αkvk +n∑

i=1

βi{Ci − ri},

where αk and βi are job weights. For four problems of each dimension the weights αk and βi

have been randomly taken from the closed intervals [1, 6] and [0.1, 0.7], respectively, and forthe other four problems of each dimension the weights αk have been randomly taken fromthe closed interval [1, 12] (βi as above). The first term of both objective functions, F1 andF2, represents the weighted sum of machines used (production planning phase). The secondterm of F1 denotes the weighted sum of tardiness times and the second one of F2 denotesthe weighted sum of flow times (scheduling phase). Thus, altogether 32 problems for eachobjective function have been generated.

Before we compare the different strategies proposed in Sections 4 and 5, we report on someinitial tests with various procedures and parameters. All initial tests have been performedfor 32 problems (16 problems with αk ∈ [1, 6] and both objective functions). First, weperformed some tests with decomposition procedure STO applied to procedure s-CON. Fora fixed vector v, we compared the versions with priority rules FIFO, SLACK (for both rulesthe versions eSTO and lSTO have been used) and SPT (with eSTO) using the decompositionparameter ω with ω ∈ {1, 10, 20, 30, 40, 50}. We observed that for both objective functionsF1 and F2 priority rule FIFO has obtained the best results among the rules considered.Moreover, for both rules FIFO and SLACK, it turned out to be preferable to use variantlSTO. Note that in 131 (of 32 · 6 = 196) runs the best value has been obtained for priorityrule FIFO combined with decomposition variant lSTO and in 60 runs for FIFO with eSTO.However, the variant with lSTO requires slightly larger computational times. Thus, alsorule FIFO combined with eSTO can be used as an alternative. We observed that the choiceof a suitable priority rule has some influence on the performance of procedure s-CON. Forinstance, for objective function F2 rule SPT works better than rule SLACK (which couldhave been expected) whereas for objective function F1 rule SLACK is better than SPT.Thus, if for a particular objective function a specific priority rule is known to perform well,then it can be included into the framework of procedure s-CON.

Concerning parameter ω, we conclude that a higher degree of decomposition is preferable.Generally, we observed that variants with ω ≤ 10 work poorly, whereas variants with 20 ≤ω ≤ 50 work much better. We mention that for ω ∈ {20, 30, 40, 50} the objective functionvalues were, on average, 17.2% better than for ω = 1 (i.e. when no decomposition is applied).

14

Only for 4 problems the objective function value for ω = 1 was better than the average valuefor ω ∈ {20, 30, 40, 50}. However, it is difficult to favour an individual variant. From ourtests we can recommend to consider two values of ω that are sufficiently different from eachother. We consider in the following the variants ω = 30 and ω = 50 and we use only priorityrule FIFO.

Next, we compared the decomposition procedures. To this end, we considered procedures-CON with priority rule FIFO and decomposition variants eSTO, lSTO and MT, wherefor the STO variants both values of ω have been applied. We observed that already theaverage objective function values of both runs for ω = 30 and ω = 50 are often better thanthe value obtained for procedure MT (a similar result has been obtained for variant eSTO).For 22 of 32 problems the average value and for 26 problems the best value of both runs ofprocedure lSTO was better than the value obtained by procedure MT. So, from our testswe conclude that decomposition procedure STO turns out to be favourable. A similar resulthas been obtained when replacing rule FIFO by rule SLACK. Consequently, we consider inthe following always decomposition variant STO.

Next, we tested ascending and descending search for variants v-LS1 and v-LS2. For eachvector v considered, a schedule has been obtained by applying procedure s-CON with decom-position variant eSTO, ω = 30 and priority rule FIFO. From our tests we can conclude thatdescending search v-LS2 has obtained the best results (for 27 of 32 problems it has obtainedthe best objective function value). For variant v-LS1 ascending search works better thandescending search. However, only for 5 problems ascending search v-LS1 turned out to bebetter than descending search v-LS2.

Next, we tested the reoptimization procedure s-REOPT(k1, k2) in addition to the construc-tive procedure s-CON applying decomposition variant eSTO with ω = 30 and priority ruleFIFO. In our initial tests we considered the variants k1 ∈ {10, 20, C}. For k1 = 10 we usedk2 ∈ {10, 20, 30, 40, 50}, for k1 = 20 we used k2 ∈ {20, 40, 60, 80, 100}, and for k1 = C weused k2 ∈ {100, 200, 300}. To get a fair comparison, we considered larger values of k2, whenthe reoptimization procedure is not so often applied. From the tests we can conclude thats-REOPT(20,60) and s-REOPT(C,100) are the preferable variants, which are considered inthe following tests.

After these initial tests, we compared the different constructive and iterative strategies fordetermining the vector v of machines used and the sequences of operations on the machinesfor all 64 problems. In particular, we considered the following variants:

1) v-LS2 (descending), s-CON;2) v-LS2 (descending), s-CON, s-REOPT(20,60);3) v-LS2 (descending), s-CON, s-REOPT(C,100);4) s,v-CON;5) s,v-CON; s-REOPT(20,60);6) s,v-CON; s-REOPT(C,100).

Based on our initial tests, we used decomposition variant lSTO and priority rule FIFO foreach of the above algorithms. All algorithms have been run with both values ω = 30 andω = 50 and we considered the best values of both runs. In Table 1 the average values ofthe objective function values (OFV) and the average values of the running times of bothruns in minutes:seconds (CPU) of the four problems of each class (fixed dimension and fixed

15

distribution of αk values) are given.

Table 1

Variants 1 and 4 construct only once feasible sequences of operations. Variant 4 performsboth steps (i.e. including the determination of vector v) constructively, therefore, this variantis the fastest one. Contrary to our initial tests, where the objective function did not influencea suitable choice of the decomposition procedure, the decomposition parameter ω or theselected variant of local search procedure v-LS, here we get (at least partially) differentresults for both objective functions.

As a general result, it can be observed that variant 1 works unsatisfactorily. When applyingprocedure v-LS, the sequences of operations should be determined by applying a reoptimiza-tion procedure. In most cases the use of procedure s-REOPT only after having obtained acomplete schedule turns out to be preferable.

Moreover, the fast constructive procedure s,v-CON (i.e. variant 4) performs well in manycases. In particular, this observation is valid for objective function F2, where often eventhe time consuming variant 3 is outperformed. Also for a larger number of machine types,variant 4 often performs well. In our tests this variant works well except for two problemtypes (see objective function F1, αk ∈ [1, 6] and n ≥ 15). When applying variant 5 (or 6)to these problems, we get average percentage improvements of nearly 10%. However, theresults are still worse than those obtained by variant 3. This is probably due to the propertythat variants 5 and 6 do not change vector v, which has been constructively determined (andtherefore only a ‘local optimization’ is performed). When variant 4 works well, the averagepercentage improvements of variants 5 and 6 (with a rather small amount of additional run-ning time) are not large. In particular, when vector v is large, the reoptimization procedurehas also only a rather local character. Due to this reason, the extension of the reoptimiza-tion procedure to the case that also components of vector v may be changed is one topicfor future research. Nevertheless, in particular by variant 5 some substantial improvementshave been obtained (see for instance problems with F2 and n = 20). Thus, variant 5 turnedout to be slightly preferable in comparison with variant 6.

We note that for objective function F1(F2), the best value for the test problems has beenobtained 7 (0) times by variant 1, 9 (8) times by variant 2, 17 (5) times by variant 3, 7(10) times by variant 4, 10 (11) times by variant 5 and 8 (14) times by variant 6 (it shouldbe emphasized that the reoptimization procedure of variant 6 always starts with the valuealready obtained by variant 4). So, for objective function F1 the time consuming variant3 (where both the vector v and the sequences of operations are determined iteratively) hasobtained mostly the best value. Due to the larger contribution of vector v to the objectivefunction value, in some cases the iterative determination of vector v appears to be necessary(sometimes it is difficult for procedure s,v-CON to find a ‘good’ vector v, see F1, n ≥ 15 andαk ∈ [1, 6]).

Another interesting observation follows from the comparison of both runs with ω = 30 andω = 50 for all variants considered. For variants 1 - 3, the worse objective function valuewas, on average, 3.8 % larger than the better one of both runs. However, for variants 4 -6 this percentage was equal to 9.8%, i.e. the latter variants would be worse in comparisonwith variants 1 - 3 if only one run for a single value of ω would have been considered. These

16

results emphasize once more that the determination of an ‘optimal’ decomposition parameterω is very difficult. It also confirms that the use of the fast procedure s,v-CON for severalparameter settings can be advantageous.

Finally, we compared our algorithms (variants 3 and 4) with the branch and bound algorithmgiven by Sotskov (1997) on small problems. We considered 10 problems which have beengenerated on the base of a benchmark problem (bridge construction) with the objective tominimize the makespan F (C1, C2, . . . , Cn) = max{Ci : i = 1, 2, . . . , n} treated in the litera-ture (see e.g. Radarmacher 1984). In this problem, four machine types and 16 operationsare given. We consider 10 instances which have been generated by different values wk ofavailable machines. In our experiments, we obtained an average percentage deviation fromthe optimal objective function value of 5.2 % for variant 3 and of 6.9 % for variant 4. Themaximal deviations from the optimal value were 15.4 % for variant 3 and 16.6 % for variant 4.We also observed that the maximal deviation from the optimal value for variant 3 has beenobtained for an instance, for which variant 4 obtained an optimal solution. When taking thebest value obtained with variants 3 and 4, we have an average percentage deviation of 2.9% from the optimal value and a maximal deviation of only 7.8 %. This again confirms thatseveral runs with different variants are recommendable. Note that the theoretical runningtime of the branch and bound algorithm is O(q + |U |+ 3|V |) and it gives the exact solutiononly for problems with a small cardinality of the set |V | (for the bridge construction problemconsidered, we have |V | = 21). Since the problem given by Muth and Thompson (1963) with10 jobs and 10 machines has |V | = 450 and that with 20 jobs and 5 machines has |V | = 200,the branch and bound method fails to find an exact solution for them.

In the tests we compared only different basic strategies relative to each other. However, localsearch within the set of vectors v need not necessarily start with vector v = (1, 1, . . . , 1) orv = (w1, w2, . . . , wk). It can be refined by determining the initial vector v for instance byapplying the constructive procedure s,v-CON and then performing only a restricted searchin the neighbourhood of the vector v obtained.

7 Concluding remarks

In this paper we considered several decomposition algorithms for problems, where not onlyan optimal or good heuristic schedule with respect to some given criterion has to be generatedbut also the numbers of machines of different types which are used have to be determined,i.e. the processing system is not a priori fixed. In other words, these problems may beconnected with both the production planning stage and the production scheduling stage.Criteria of both stages are combined in the objective function F (v1, v2, . . . , vw, c1, c2, . . . , cq),where the arguments v1, v2, . . . , vw describe a criterion of the stage of production planningand the arguments c1, c2, . . . , cq describe a criterion of the stage of production scheduling.We considered different heuristic solution strategies, where both parts (vector v and thesequences of operations) have been determined constructively or iteratively or one part hasbeen determined constructively and the other one iteratively. From our experiments, thefollowing recommendations and conclusions can be drawn:

1) The application of decomposition turned out to be preferable. Although no special algo-rithms are available for solving the subproblems efficiently in the general case of the class

17

of problems considered, a higher degree of decomposition essentially improves the solutionquality.

2) Among the tested decomposition variants, procedure STO (splitting according to thestarting times of operations) turned out to be superior to procedure MT (splitting accordingto the machine type). For procedure STO, using latest starting times of operations weobtained better results than using earliest starting times, however, the running times arelarger in this case.

3) Concerning the priority rules considered, FIFO has obtained the best results for bothobjective functions. However, the choice of a suitable priority rule has much influence on thequality of the solutions generated by the heuristic algorithms. So, if a specific priority rule isknown to perform well for a specific problem, this rule should be used within the algorithmssuggested in this paper.

4) The fast constructive procedure s,v-CON performs already well in many cases. In partic-ular, this holds for objective function F2 (since the scheduling part has a greater influenceon the objective function value, it is probably easier to find a ‘good’ vector v) or when thenumber of machine types is larger. The inclusion of a reoptimization procedure increases therunning times only moderately. In combination with procedure s,v-CON, a reoptimizationof the sequences of operations applied to partial schedules (variant 5) slightly outperformsa reoptimization applied only to complete schedules.

5) When determining vector v iteratively by procedure v-LS, a reoptimization of the se-quences of operations must be taken into consideration since variant 1 works bad in general.In this case, a reoptimization applied only to complete schedules (variant 3) works better.For objective function F1, this variant has obtained in most cases the best value. Our expla-nation for this behaviour is that in F1 the production planning part connected with vectorv has a larger contribution to the objective function than in F2. The iterative determina-tion of vector v is very time consuming. However, applying the iterative procedure v-LS(the preferable version is descending search v-LS2) can have advantages since in this casefor several vectors v a heuristic solution has been determined. So, in the case of machinebreakdowns one can have alternative solutions or one can get information how to change theprocessing system to improve the objective function value (i.e. what kind of machine shouldbe bought additionally).

6) When applying the described procedures to another objective function, it is recommend-able to compare in some initial tests the time consuming variant 3 with the fast constructivevariant 4 to decide whether an iterative determination of vector v turns out to be necessary.If the scheduling part is dominant, it will be often sufficient to apply variant 4 or variant 5.

7) From our experiments one can derive the following proposals for further investigations. Itseems promising to determine vector v constructively and to perform afterwards a restrictedlocal search in the neighbourhood of the vector v obtained (which is a combination of variants3 and 4 in some sense). On the other hand, up to now the reoptimization procedure s-REOPTallows only to orientate arcs between operations assigned to the same machine oppositely.Another possibility is to include also changes of the performed transformation of an edgeinto the reoptimization procedure. In this case a reoptimization would also consider changesin the components of the vector v of machines used.

In general, the algorithms proposed in this paper can be applied to arbitrary non-decreasing

18

objective functions of the class of problems considered. The computational results of the testproblems with up to 20 jobs and 10 machine types have shown that decomposition algorithmsare a suitable tool for solving (heuristically) the generalized shop scheduling problems in asuitable time on the basis of the mixed (multi)graph approach.

However, as mentioned above, for different objective functions it is desirable to use specialpriority rules. Unfortunately, to find a suitable priority rule is a very complicated problemitself, in particular for those objective functions considered in this paper. Shakhlevich etal. (1996) propose an adaptive algorithm for the usual mixed (disjunctive) graph modelthat automatically generates a composite priority rule suitable for the class of problemsconsidered. So one topic of further work is to include such considerations into the frameworkof the mixed multigraph model.

Acknowledgement – The work was supported by Deutsche Forschungsgemeinschaft (ProjectScheMA) and by the International Association for the Promotion of Cooperation with Sci-entists from the Independent States of the Former Soviet Union (Project INTAS–93–257).We are grateful to the referees for their helpful comments and suggestions that improved thepaper substantially.

References

[1] Adams, J., Balas, E., Zawack, D., 1988, The Sifting Bottleneck procedure for Job ShopScheduling, Management Sci., 34, 391 – 401.

[2] Blackstone, J.N., Philipps, D.T., Hogg, G.L., 1982, A State-of-the-Art Survey of Dis-patching Rules for Manufacturing Job Shop Operations, Intern. J. Prod. Res., 20, No.1, 27 – 45.

[3] Blazewicz, J., Ecker, K.H., Pesch, E.; Schmidt, G., Weglarz, J., 1996, Scheduling Com-puter and Manufacturing Proceses (Springer, Berlin).

[4] Brucker, P., Jurisch, B., Sievers, B., 1994, A Fast Branch & Bound Algorithm for theJob Shop Scheduling Problem, Discrete Appl. Math., 49, 107 – 127.

[5] Brucker, P., Thiele, O., 1995, A Branch & Bound Method for the General-Shop Prob-lem with Sequence Dependent Setup-Times, Preprint, Reihe P, Heft 168, FachbereichMathematik/Informatik, Universitt Osnabrck.

[6] Carlier, J., Pinson, E., 1989, An Algorithm for Solving the Job-Shop Problem, Man-agement Sci., 35, 475 – 482.

[7] Christofides, N., 1975, Graph Theory: An Algorithmic Approach (Academic Press, NewYork).

[8] Chu, C., Portmann, M.C., Proth, J.M., 1992, A Splitting up Approach to SimplifyJob-shop Scheduling Problems, Intern. J. Prod. Res., 30, 859 – 870.

[9] Dell’Amico, M., Trubian, M., 1993, Applying Tabu Search to the Job-Shop SchedulingProblem, Annals of Oper. Res., 41, No. 1 – 4, 231 – 252.

19

[10] Dorndorf, U., Pesch, E., 1995, Evolution Based Learning in a Job Shop SchedulingEnvironment, Computers & Operations Research, 22, 25 – 40.

[11] Glover, F., 1989, Tabu Search - Part I, ORSA J.Comput., 1, 190 – 206.

[12] Harary, F., 1969, Graph Theory, (Addison-Wesley, Reading, Mass.).

[13] Haupt, R., 1989, A Survey of Priority Rule-Based Scheduling, OR Spektrum, 11, 278 –285.

[14] Ishii, N., Talavage, J.T., 1994, A Mixed Dispatching Rule Approach in FMS Scheduling,Intern. J. Flexible Manufacturing Systems, 69 – 87.

[15] Kleinau, U., 1992, Zur Struktur und Lsung verallgemeinerter Shop Probleme, Disser-tation, TU Magdeburg (in German).

[16] Krger, K., Shakhlevich, N.V., Sotskov, Y.N., Werner, F., 1995, A Heuristic Decomposi-tion Approach for Scheduling Problems on Mixed Graphs, J. Oper. Res. Soc., 46, 1481– 1497.

[17] Laarhoven, P.J.M., Aarts, E.H.L., 1987, Simulated Annealing: Theory and Applications(Kluwer, Dordrecht).

[18] Laarhoven, P.J.M., Aarts, E.H.L., Lenstra, J.K., 1992, Job Shop Scheduling by Simu-lated Annealing, Operations Res., 40, 113 – 124.

[19] MacCarthy, B.L., Liu, J., 1993, Addressing the Gap in Scheduling Research: A Reviewof Optimization and Heuristic Mehtods in Production Scheduling, Internat. J. Prod.Res., 31, 59 – 79.

[20] Morton, T.E., Pentico, D.W., 1993, Heuristic Scheduling Systems (Wiley, New York).

[21] Muth, J.F., Thompson, G.L., 1963, Industrial Scheduling (Englewood Cliffs, N.Y., Pren-tice Hall).

[22] Panwalkar, S.S., Iskander, W., 1977, A survey of scheduling rules, Oper. Res., 25, 45 –61.

[23] Portmann, M.C., 1988, Spatial and Temporal Decomposition Methods in ProductionScheduling. RAIRO-APII, 22, 5, 439 – 451 (in French).

[24] Radarmacher, F.J., 1985, Scheduling of Project Networks, Annals Oper. Res., 4, 227 –252.

[25] Roy, B., Sussmann, B., 1964, Les problems d’ordonnancement avec constraintes dis-jonctives, SEMA, Note DS, Montrouge.

[26] Shakhlevich, N.V., Sotskov, Y.N., Werner, F., 1996, Adaptive Scheduling AlgorithmBased on Mixed Graph Model, IEE Proceedings Control Theory and Applications, 143,9 – 16.

[27] Sotskov, Y.N., 1996, Software for Production Scheduling Based on the Mixed(Multi)Graph Approach, Computing & Control Engineering Journal, 5, 240 – 246.

20

[28] Sotskov, Y.N., 1997, The Mixed Multigraph Approach to Scheduling Jobs on Machinesof Different Types, to appear in Optimization.

[29] Tanaev, V.S., Sotskov, Y.N., Strusevich, V.A., 1994, Scheduling Theory. Multi-StageSystems (Kluwer Academic Publishers).

21

����

����

����

����

��

1 3

1 2

10

2

∗1

3

Figure 1. The multigraph G′

����

����

����

����

����

����

����

����

����

����

���

���

��

��

0 1

2

3

∗ 0

2

1 ∗

3

1 3

2

3

1 2

Figure 2.

a) The digraph G1 b) The digraph G2

����

����

����

����

����

��

��

��

10

2

3

∗1 3

1 2

Figure 3. The digraph G3

����

����

����

����

����

����

����

� � �

��

�0

1 2

3 4 ∗

5

5

9

5(10, 6) (6, 2) (6, 5)

(5, 1)

19

3 47

Figure 4. The mixed graph G

Titles of Figures

Figure 1. The multigraph G′

Figure 2.a) The digraph G1

b) The digraph G2

Figure 3. The digraph G3

Figure 4. The mixed graph G