This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 7.6 A useful IP formulation for a scheduling problem Consider the following scheduling problem: there are m identical machines, and n jobs on which they must be scheduled; each job must be scheduled on exactly one machine, and must be processed to completion once started; each machine may process at most one job at a time; for each job j , we are given an integer processing time p j that specifies the number of time units for which the job must be processed; for each job j , we are given a set S j of jobs whose processing must be completed before job j may be started. A sample input for this problem is as follows: let m = 3, n = 7, and let j p j S j 1 3 ∅ 2 1 ∅ 3 1 ∅ 4 1 { 1,3 } 5 5 { 1,2 } 6 5 { 4 } 7 5 ∅ A feasible schedule can be depicted as follows: 2 3 1 7 4 5 6 1 2 3 4 The time axis runs from left to right, and each row of the diagram reflects the jobs that are scheduled on one of the three identical machines. There are many possible criteria that we might wish to optimize, but for this example, we want to find a schedule that minimizes the time by which all jobs have been completed. This length of the schedule is often also called its makespan . 94 We wish to construct an integer programming formulation of this prob lem. As usual, the first step in this process is to consider possible decision variables. Here, there are a number of possibilties. Approach #1 We might try to use binary variables x ij that indicate whether job j is assigned to be processed on machine i . This doesn’t tell us when a given job is processed, and hence it might be hard to express our precedence constraints. Approach #2 We might try to use variables C j to indicate the time at which job j completes. This is useful to enforce the precedence constraints, but then it seems hard to ensure that only one job is being processed by each machine. Approach #3 We can introduce binary variables x ijt that captures the infor mation in both of the previous two approaches by indicating (by setting the variable to 1) that job j starts on machine i at time t . The most notable drawback of this approach is that there are lots of variables. Note that if the data are integer, then we may assume without loss of generality that each job begins processing at an integer time. There are many other possible classes of decision variables, but we will give a formulation that uses the last two types of variables. Let T denote an upper bound on the length of the schedule. One trivial bound is T = ∑ n j =1 p j . As shown in lab, it is often useful to have a better bound to limit the number of variables that are needed. This can be done by applying a simple heuristic procedure to first build one feasible schedule, and then using its makespan to set T ....
View
Full
Document
This note was uploaded on 04/06/2008 for the course ORIE 321 taught by Professor Shmoys/lewis during the Spring '07 term at Cornell.
 Spring '07
 SHMOYS/LEWIS

Click to edit the document details