• Tidak ada hasil yang ditemukan

Disjunctive Programming and Branch-and-Bound

Dalam dokumen Scheduling (Halaman 191-195)

Job Shops (Deterministic)

7.1 Disjunctive Programming and Branch-and-Bound

180 7 Job Shops (Deterministic) have to be processed first on machine 2 and then on machine 1. The processing time of job j on machine 1 (2) is p1j (p2j). The objective is to minimize the makespan.

This problemcan be reduced toF2 ||Cmax as follows. LetJ1,2 denote the set of jobs that have to be processed first on machine 1, and J2,1 the set of jobs that have to be processed first on machine 2. Observe that when a job fromJ1,2 has completed its processing on machine 1, postponing its processing on machine 2 does not affect the makespan as long as machine 2 is kept busy.

The same can be said about a job fromJ2,1; if such a job has completed its processing on machine 2, postponing its processing on machine 1 (as long as machine 1 is kept busy) does not affect the makespan. Hence a job fromJ1,2

has on machine 1 a higher priority than any job fromJ2,1, while a job from J2,1 has on machine 2 a higher priority than any job from J1,2. It rem ains to be determined in what sequence jobs inJ1,2 go through machine 1 and jobs in J2,1 go through machine 2. The first of these two sequences can be determined by considering J1,2 as an F2 || Cmax problemwith machine 1 set up first and machine 2 set up second and the second sequence can be determined by consideringJ2,1as anotherF2||Cmaxproblemwith machine 2 set up first and machine 1 second. This leads to SPT(1)-LPT(2) sequences for each of the two sets, with priorities between sets as specified above.

This two machine problem is one of the few job shop scheduling problems for which a polynomial time algorithm can be found. The few other job shop scheduling problems for which polynomial time algorithms can be obtained usually require all processing times to be either 0 or 1.

The remainder of this section is dedicated to theJ m||Cmax problemwith arbitrary processing times and no recirculation.

Minimizing the makespan in a job shop without recirculation,J m|| Cmax, can be represented in a very nice way by a disjunctive graph. Consider a directed graphG with a set of nodes N and two sets of arcsA and B. The nodes N correspond to all the operations (i, j) that m ust be perform ed on the n jobs.

The so-called conjunctive (solid) arcs A represent the routes of the jobs. If arc (i, j) (k, j) is part of A, then job j has to be processed on machine i before it is processed on machine k, i.e., operation (i, j) precedes operation (k, j). Two operations that belong to two different jobs and that have to be processed on the same machine are connected to one another by two so-called disjunctive (broken) arcs that go in opposite directions. The disjunctive arcs B form m cliques of double arcs, one clique for each machine. (A clique is a termin graph theory that refers to a graph in which any two nodes are connected to one another; in this case each connection within a clique consists of a pair of disjunctive arcs.) All operations (nodes) in the same clique have to be done on the same machine. All arcs emanating from a node, conjunctive as well as disjunctive, have as length the processing time of the operation that is represented by that node. In addition there is a sourceU and a sinkV, which are dummy nodes. The source nodeU hasnconjunctive arcs emanating to the first operations of thenjobs and the sink nodeV hasnconjunctive arcs coming

1, 1

U 2, 2

0

0

Source 0 1, 2 4, 2 3, 2 V Sink

1, 3

2, 1 3, 1

2, 3 p23 p42

p43

p43 4, 3

Fig. 7.1Directed graph for job shop with makespan as objective

in fromall the last operations. The arcs emanating fromthe source have length zero (see Figure 7.1). This graph is denoted byG= (N, A, B).

A feasible schedule corresponds to a selection of one disjunctive arc from each pair such that the resulting directed graph is acyclic. This implies that a selection of disjunctive arcs froma clique has to be acyclic. Such a selection determines the sequence in which the operations are to be performed on that machine. That a selection from a clique has to be acyclic can be argued as follows: If there were a cycle within a clique, a feasible sequence of the operations on the corresponding machine would not have been possible. It may not be immediately obvious why there should not be any cycle formed by conjunctive arcs and disjunctive arcs fromdifferent cliques. However, such a cycle would correspond also to a situation that is infeasible. For example, let (h, j) and (i, j) denote two consecutive operations that belong to jobj and let (i, k) and (h, k) denote two consecutive operations that belong to jobk. If under a given schedule operation (i, j) precedes operation (i, k) on machinei and operation (h, k) precedes operation (h, j) on machineh, then the graph contains a cycle with four arcs, two conjunctive arcs and two disjunctive arcs fromdifferent cliques. Such a schedule is physically impossible. Summarizing, if D denotes the subset of the selected disjunctive arcs and the graphG(D) is defined by the set of conjunctive arcs and the subsetD, then D corresponds to a feasible schedule if and only ifG(D) contains no directed cycles.

The makespan of a feasible schedule is determined by the longest path in G(D) fromthe source U to the sink V. This longest path consists of a set of operations of which the first starts at time 0 and the last finishes at the time of the makespan. Each operation on this path is immediately followed by either the next operation on the same machine or the next operation of the same job on another machine. The problem of minimizing the makespan is reduced to finding a selection of disjunctive arcs that minimizes the length of the longest path (that is, thecritical path).

There are several mathematical programming formulations for the job shop without recirculation, including a number of integer programming formulations.

However, the formulation most often used is the so-called disjunctive program-

182 7 Job Shops (Deterministic) ming formulation (see also Appendix A). This disjunctive programming for- mulation is closely related to the disjunctive graph representation of the job shop.

To present the disjunctive programming formulation, let the variable yij

denote the starting time of operation (i, j). Recall that setN denotes the set of all operations (i, j), and set A the set of all routing constraints (i, j) (k, j) that require job j to be processed on machineibefore it is processed on machinek. The following mathematical program minimizes the makespan.

minimizeCmax subject to

ykj−yij ≥pij for all (i, j)(k, j)∈A Cmax−yij ≥pij for all (i, j)∈N

yij−yil ≥pil or yil−yij≥pij for all (i, l) and (i, j), i= 1, . . . , m

yij 0 for all (i, j)∈N

In this formulation, the first set of constraints ensure that operation (k, j) cannot start before operation (i, j) is completed. The third set of constraints are called the disjunctive constraints; they ensure that some ordering exists among operations of different jobs that have to be processed on the same machine.

Because of these constraints this formulation is referred to as a disjunctive programming formulation.

Example 7.1.1 (Disjunctive Programming Formulation)

Consider the following example with four machines and three jobs. The route, i.e., the machine sequence, as well as the processing times are given in the table below.

jobs machine sequence processing times 1 1,2,3 p11= 10, p21= 8, p31= 4 2 2,1,4,3 p22= 8, p12= 3, p42= 5, p32= 6 3 1,2,4 p13= 4, p23= 7, p43= 3

The objective consists of the single variableCmax. The first set of constraints consists of seven constraints: two for job 1, three for job 2 and two for job 3.

For example, one of these is

y21−y1110 (=p11).

The second set consists of ten constraints, one for each operation. An example is

Cmax−y1110 (=p11).

The set of disjunctive constraints contains eight constraints: three each for machines 1 and 2 and one each for machines 3 and 4 (there are three opera- tions to be performed on machines 1 and 2 and two operations on machines 3 and 4). An example of a disjunctive constraint is

y11−y123 (=p12) or y12−y1110 (=p11).

The last set includes ten nonnegativity constraints, one for each starting

time. ||

That a scheduling problemcan be formulated as a disjunctive programdoes not imply that there is a standard solution procedure available that will work satisfactorily. Minimizing the makespan in a job shop is a very hard problem and solution procedures are either based on enumeration or on heuristics.

To obtain optimal solutions branch-and-bound methods are required. The branching as well as the bounding procedures that are applicable to this prob- lemare usually of a special design. In order to describe one of the branching procedures a specific class of schedules is considered.

Definition 7.1.2 (Active Schedule). A feasible schedule is called active if it cannot be altered in any way such that some operation is completed earlier and no other operation is completed later.

A schedule being active implies that when a job arrives at a machine, this job is processed in the prescribed sequence as early as possible. An active schedule cannot have any idle period in which the operation of a waiting job could fit.

Fromthe definition it follows that an active schedule has the property that it is impossible to reduce the makespan without increasing the starting time of some operation. Of course, there are many different active schedules. It can be shown that there exists among all possible schedules an active schedule that minimizes the makespan.

A branching scheme that is often used is based on the generation of all active schedules. All such active schedules can be generated by a simple algorithm. In this algorithm denotes the set of all operations of which all predecessors already have been scheduled (i.e., the set of all schedulable operations) andrij

the earliest possible starting time of operation (i, j) in. The set is a subset of set.

Algorithm 7.1.3 (Generation of all Active Schedules)

Dalam dokumen Scheduling (Halaman 191-195)