• Tidak ada hasil yang ditemukan

Dominance Properties

Optimization Methods for the Single-machine Problem

3.4 Dominance Properties

In effect, theb-vector contains the binary representation of the label of setJ, and we could add the labels of the jobs inJto compute the label forJ. However, it is simpler to maintain the label of the set being treated by simply adding 2i−1wheneverb(i) is switched from 0 to 1 and subtracting 2i−1whenever b(i) is switched from 1 to 0.

In summary, the computer implementation of dynamic programming requires two efficient devices, a scheme for labeling subsets and an algorithm for generating subsets. The labeling scheme provides efficient access to the value for a previously treated subset, while the generating algorithm ensures that all subsets are treated in a suitable order.

type have been developed for the T-problem. Recall from the previous section that p(J) represents the sum of processing times in set J and that X denotes the set of all jobs. Let

Ai= the set of jobs that have been shown to follow jobiin an optimal sequence, sometimes called theafterset.

Ai= the complement of setAi, defined asAi=X−Ai.

Bi= the set of jobs that have been shown to precede jobiin an optimal sequence, sometimes called thebeforeset.

The next result gives conditions under which jobiprecedes jobjin an optimal sequence.

Theorem 3.3 In theT-problem, an optimal schedule exists in which jobj follows jobiif one of the following conditions is satisfied:

a) pi≤pjanddi≤max{dj,p(Bj) +pj} b) di≤djanddj≥p(Ai)−pj

c) dj≥p(Ai)

Condition (a) generalizes Theorem 2.8. Condition (c) generalizes Theorem 3.2 and holds for the Tw-problem as well. Conditions (a) and (b) extend to theTw-problem if we also requirewi≥wj. We can prove condition (a) by inter- changing jobsiandj. Also, we can prove conditions (b) and (c) by shifting jobj to a position immediately after jobi.

When we encounter a pair of jobsiandjthat satisfies one of the conditions of Theorem 3.3, we can add jobitoBjand add jobjtoAi. Each condition is based in part on information about the setsBjorAi. Initially, these sets may be taken to be empty. If one of the conditions holds for the pair of jobsiandj, then the sizes ofBjandAiincrease. This increase, in turn, may make it possible to satisfy the conditions for additional job pairs and thus for the size of the original problem to be reduced even further.

We collect the dominance information systematically in a dominance matrix D. The generic element ofDisdij= 1 if jobjfollows jobi, anddij= 0 otherwise.

Two quantities that appear in Theorem 3.3 are denoted as follows:

Qi=p Ai andRj=pj+p Bj

Also, let |Aj| and |Bj| denote the sizes of the setsAjandBj, respectively. Then a computational display for collecting the dominance information is shown in Table 3.3 as an expandedD-matrix. The matrix is filled in by testing pairs of jobs to determine whether one of the conditions in Theorem 3.3 holds. Each time one of the conditions succeeds,AiandBjare updated.

Once the matrix is filled in, it may be possible to reduce the size of the prob- lem. If |Bj| =n−1, then jobjmay be assigned the last position in sequence, andn

3.4 Dominance Properties 49

can effectively be reduced by 1. If |Aj| =n−1, then jobjmay be assigned the first position in sequence, andncan similarly be reduced by 1. (In this case, the prob- lem that remains is reformulated by subtractingpjfrom each due date.) When no more of these reductions are possible, we invoke an optimization procedure.

As it happens, dynamic programming is well suited to finding an optimal sequence in the presence of dominance properties. Thus, we assume that a dominance matrix has been determined, and we next wish to exploit that infor- mation in dynamic programming. Basically, this means that we want to carry out the dynamic programming calculations, but instead of examining all 2nsub- sets, we want to limit consideration to undominated subsets. As we saw in the previous section, the key elements for computer implementation are a labeling scheme and a generation procedure.

The labeling scheme consists of a mechanism for assigning labels to jobs; then the label for a particular subset is simply the sum of the labels for the jobs con- tained in the subset. Suppose we renumber the jobs so thati < jwheneverdij= 1;

that is, whenever jobidominates jobj. LetNjdenote the set of jobs with a lower number than jobj:

Nj= i i<j

LetLjdenote the label for jobj, and letL(S) denote the sum of labels for the jobs contained in setS. Then

Lj=L Nj −L Bj Nj + 1

In words, we sum the labels of all jobs numbered lower thanj. Then we sub- tract the labels of all jobs in this set that dominatej. Then we add one. (If we had no dominance properties available, this scheme would reduce to the binary labeling scheme described in the previous section.)

The generation algorithm is only slightly modified from the one introduced for the basic form of dynamic programming. Recall that we renumber the

Table 3.3

Jobj

Jobi d11 d12 d1n Q1 |A1|

d21 d22 d2n Q2 |A2|

dn1 dn2 dnn Qn |An|

R1 R2 Rn

|B1| |B2| |Bn|

3 Optimization Methods for the Single-machine Problem 50

jobs so thati < jwhenever jobidominates jobj. The main loop proceeds as follows:

Find the smallest integerjfor whichb(j) = 0. (If allb(i) = 1, then stop: All sub- sets have been generated.)

Setb(j) = 1.

Fori < j, ifb(i) = 1 andJ Ai=ϕ, setb(i) = 0.

Here the only difference from the basic form of dynamic programming lies in the conditionJ Ai =ϕ. As we examine setJ, we normally compute G(J) from Eq. (3.1) by considering all subsets in which one job is removed fromJ.

In the presence of dominance properties, however, we can limit ourselves to removing only those jobs that do not dominate other jobs inJ.

Example 3.3 Consider a five-job problem with the criterion of minimizing total tardiness, in which we encounter the following dominance matrix:

D=

--- 0 1 0 0

0 --- 0 0 1

0 0 --- 0 0

0 0 0 --- 1

0 0 0 0 ---

Specifically, the matrix shows three dominance relations: Job 3 follows job 1 and job 5 follows job 2 and job 4. The labeling scheme yields the labels shown in order below:

Jobj 1 2 3 4 5

Lj 1 2 3 7 5

Then the generation algorithm produces the subsetsJin the following order:

Subset Label Indicator

ϕ 0 00000

{1} 1 00001

{2} 2 00010

{1, 2} 3 00011

{1, 3} 4 00101

{1, 2, 3} 6 00111

(Continued)

3.4 Dominance Properties 51

(Continued)

Subset Label Indicator

{4} 7 01000

{1, 4} 8 01001

{2, 4} 9 01010

{1, 2, 4} 10 01011

{1, 3, 4} 11 01101

{1, 2, 3, 4} 13 01111

{2, 4, 5} 14 11010

{1, 2, 4, 5} 15 11011

{1, 2, 3, 4, 5} 18 11111

This list contains 15 feasible subsets, including the empty set. Without dominance properties, the list would contain 25 or 32 subsets. In addition, the labels are not all consecutive: In particular, labels 5, 12, 16, and 17 are miss- ing. (We say that such a labeling is notcompact.) In a computer implementation, this means that space would have to be reserved for 19 values of G(J), even though only 15 of them would ever be used. Although the gaps in this example do not present much of a difficulty, larger problems may have several wide gaps.

Once the labeling scheme is carried out, the size of the maximum label predicts how much computer storage capacity will be needed in order to find the optimal solution by dynamic programming. The computational effort required to solve the problem is, however, driven mainly by the number of feasible subsets. The advan- tage of using the dominance conditions is therefore to reduce the computational requirement, but there is usually a substantial reduction in storage capacity as well.