Return to Index
Operations Research Models and Methods
 
Models Section
>Subunit
Teach Dynamic Programming Add-in

-Sequencing

Many operational problems in manufacturing, service and distribution require the sequencing of various types of activities or items. Examples include a production facility in which chassis must be sequenced through an assembly line, an express mail service where parcels and letters must be routed for delivery, and a utility company that must schedule repair work. In this section, we introduce a robust dynamic programming formulation that can be used to tackle a number of such problems. In most cases, however, the size of the state space is an exponential function of the number of items being sequenced.

 

As a prototype, consider the problem of sequencing a set of n jobs through a single machine that can work on only one job at a time. Once a job is started, it must be completed without preemption. The time required to process job j once the machine begins to work on it is p(j) for j = 1,...,n. The associated cost c(j,t) is a function of its completion time t and can take a variety of forms, the simplest being

c(j,t) = a(j)t

where a(j) is the cost per unit time for job j. This form admits a very simple solution when the objective is to minimize the total completion cost of all the jobs. The optimum is obtained by computing the ratio p(j)/a(j) for each job and then sequencing them in order of increasing values of this ratio. The job with the smallest ratio is processed first, the job with next smallest ratio is processed second, and so on until all jobs are completed. Ties may be broken arbitrarily.

A much more difficult problem results when each job j has a due date b(j). The cost of a job is zero if it is completed before its due date but increases linearly if it is tardy.

The goal of the optimization is to determine the sequence that has the smallest total cost. The table gives the relevant parameters for a 4-job instance.

There are 4! = 24 possible solutions. For the solution (3, 1, 2, 4), the completion times are 7, 12, 21 and 31 respectively. Jobs 3 and 1 are completed before their due date so no cost is incurred. Job 2 is 11 days late resulting in a cost of $440 and job 4 is 14 days late resulting in a cost of $420. The total cost is therefore $860.

 

The model requires a state variable for each position in the sequence. The state defines the set of jobs that are already scheduled. There is a single decision variable that is the index of the next job to schedule.

Clicking the Solve button solves the problem. The solution statistics are below. There are 729 reachable states.

 

 

The optimum solution is below.

 

The figure below shows the decision network for the four job problem. There is a node for each state and an arc for each decision. The state vector is a binary vector indicating the set of jobs that have been scheduled. The optimum path is shown in the figure.

  Although DP is quite efficient for small problems, the number of states grows exponentially with the number of jobs.
 

  
Return to Top

tree roots

Operations Research Models and Methods
Internet
by Paul A. Jensen
Copyright 2004 - All rights reserved

Next Page