• Tidak ada hasil yang ditemukan

Minimizing the Weighted Number of Tardy Jobs

Optimization Methods for the Single-machine Problem

3.6 Integer Programming

3.6.1 Minimizing the Weighted Number of Tardy Jobs

As discussed in Chapter 2, theU-problem can be solved using Algorithm 2.1.

However, no simple extension of that algorithm exists for the Uw-problem.

One possibility is to attack theUw-problem with an IP approach.

The given parameters are processing timespj, due datesdj, and weightswjthat apply as lump-sum penalties to the tardy jobs. To formulate the problem, renumber the jobs so they conform to EDD ordering. (Recall that any set of on-time jobs can be sequenced in EDD order without causing tardiness.) Then letxj= 1 if jobjcompletes on time andxj= 0 otherwise. The problem can then be expressed as follows:

Maximize

n

j= 1

wjxj 3 6

Subject to

j

i= 1

pixi≤dj, for j= 1, 2,…,n 3 7

xj= 0 or 1, for j= 1, 2,…,n 3 8

This is a rather simple formulation, which actually maximizes the weighted number of on-time jobs, a criterion that is equivalent to minimizing Uw. The constraints ensure that each on-time job is completed by its due date. The opti- mization model containsnbinary variables andnconstraints, and it can be built conveniently on a spreadsheet for the purposes of implementing Solver to find a solution.

3 Optimization Methods for the Single-machine Problem 60

Example 3.5 Consider the following six-job problem, with the criterion of minimizing the weighted number of tardy jobs.

Job 1 2 3 4 5 6

Process time 64 79 19 27 6 27

Due date 82 83 106 118 142 155

Weight 9 8 5 10 7 7

A spreadsheet formulation of the integer program is displayed in Figure 3.6.

To specify the model for Solver, we provide the following information:

Maximize the objective function, B5.

Take C4:H4 as the decision variables, all of which are binary variables.

Satisfy the constraints I7:I12≤K7:K12.

The model contains 6 decision variables and 6 constraints, and the optimal solution shown in Figure 3.6 provides for completing jobs 3 and 4 late, for a total tardiness penalty of 12. Equivalently, the total weight for on-time jobs is 32 when the remaining 4 jobs are positioned at the start of the sequence.

The spreadsheet platform affords the user considerable flexibility in model layout; the configuration shown in Figure 3.6 is just one of many possible ways to display the model on a spreadsheet.

The problem of minimizing the weighted number of tardy jobs can be solved effectively using the IP model in Eqs. (3.6)–(3.8). In fact, problems containing as many as 100 jobs can be solved in a few seconds using an IP approach and a

Figure 3.6 Spreadsheet layout for the IP solution to Example 3.5.

3.6 Integer Programming 61

spreadsheet platform. To provide some perspective on this result, consider two alternative approaches to finding a solution: (i) enumerating all possible sequences and choosing the best one and (ii) applying the dynamic program- ming algorithm in Eqs. (3.1)–(3.3). The enumeration code requires the system- atic generation of all n! job sequences. For each sequence, the code must calculate the value of the objective function, compare that value with the best value previously encountered, and save the better of the two. Such a code is rel- atively straightforward, but the number of sequences to be examined requires more and more time as the problem size increases. The dynamic programming code requires the systematic generation of subsets of jobs, which amounts to a smaller number than the number of sequences in enumeration. To get a sense of the computational requirements, these methods were compared with the requirements of an Excel-based IP approach. In each case, they were implemen- ted with a computer that is representative of the hardware and software in current use.

Although the example problem can be solved in a fraction of a second by complete enumeration, a 10-job problem would take a few seconds. A 12-job problem would take a few minutes, and we can expect that the time required would grow roughly in proportion ton! if we tested larger problem sizes. We can estimate that a 25-job problem would take around two weeks to solve. In practice, then, we would not expect to see problems larger than a dozen jobs solved by this method.

Dynamic programming solutions can be obtained more rapidly–in less than a second for problems as large as 15 jobs. However, we can anticipate that the time required increases roughly in proportion ton2n, so that 30-job problems would take an hour or two. For larger sizes, we might begin to find that memory capacity may be inadequate to support the calculations.

By comparison, IP methods work quite well. To test solution times for IP, a set of randomly generated but nontrivial test problems was created, and the average solution time was recorded. (Complete enumeration and dynamic program- ming have time requirements that depend on the number of jobs but not on the details of other problem parameters. In contrast, the time requirements of IP vary somewhat with the configuration of processing times, due dates, and weights, so these experiments involved a sample of problems, based on which an average solution time was calculated.) Thus 30-job problems were solved in less than a second, and 100-job problems in just a few seconds.

Such a quick solution of problems containing 100 jobs means that IP is a viable methodology for practical use, at least for the Uw-problem. More powerful branch-and-bound solutions have been presented in the research literature, but the ability to solve problems containing as many as 100 jobs with standard software in a matter of seconds renders the Uw-problem “solved” in practi- cal terms.

3 Optimization Methods for the Single-machine Problem 62

However, the performance measure in theUw-problem does not have to dis- tinguish how late the tardy jobs are in the schedule, so in that respect it tends to be an easier problem to solve than most other sequencing problems. We look next at a different problem and an alternative IP approach.