Optimal Production and Setup Control of a ... - Semantic Scholar

5 downloads 12506 Views 2MB Size Report
The optimal solution provides the optimal production rate and setup switching epochs as a ..... We call a Di - n-step trajectory (i = 1,2; n > l), a trajectory that performs ...... port LMP-92-0005, MIT Operations Research Center, MIT Laboratory for ...
Mathl. Comput. Modelling Vol. 24, No. 3, pp. 57-78, 1996 Copyright@1996 Elsevier Science Ltd Printed in Great Britain. All rights reserved 08957177/96 $15.00 + 0.00

PII:SO8957177(96)00100-8

Optimal Production and Setup Control of a Dynamic Two-Product Manufacturing System: Analytical Solution M.

ELHAFSI

Graduate School of Management, University of California, Riverside Riverside California, CA 92921, U.S.A.

S. X. BAI Department of Industrial and Systems Engineering University of Florida, Gainesville, FL 32611, U.S.A. (Received November 1994; accepted September 1995) Abstract-This paper deals with the optimal control of a one-machine two-product manufacturing system with setup changes, operating in a continuous time dynamic environment. The system is deterministic. A known constant setup time is incurred when production is switched from one product to the other. Each product or part has specified constant processing time and constant demand rate, as well as an infinite supply of raw material. The problem is formulated as a feedback control problem. The objective is to minimize the sum total of backlog and inventory costs incurred over a finite horizon. The optimal solution provides the optimal production rate and setup switching epochs as a function of the state of the system (backlog and inventory levels). For the steady state, the optimal cyclic schedule is determined. To solve the transient case, the system’s state space is partitioned into mutually exclusive regions, such that, with each region the optimal control policy is determined analytically. Keywords-Production

control, Dynamic setups, Scheduling.

1. INTRODUCTION The setup scheduling problem has been extensively investigated by many researchers due to its importance, since almost no manufacturing system is perfectly flexible. A special version of this problem is known as the Economic Lot Scheduling Problem (ELSP). The goal of the ELSP is the scheduling of the production of several products on one or more similar machines. Each product has a known constant demand rate and a fixed production rate when it is being produced. When production is switched from one product to the next, a sequence independent constant setup time as well as a fixed setup cost are incurred. The system is in steady state and no backlog is allowed. The objective is to determine lot sizes that minimize the average setup and inventory holding costs per unit time. A thorough review of the models used for the ELSP can be found in [l]. F¢ research in the field includes the work of Dobson [2], Goyal (31, and Carreno [4]. Gallego [5] extended the ELSP problem to allow backlog. The more general setup scheduling problem can be formulated as a feedback control problem. The control must respond to various disruptions so as to minimize a certain criterion. This kind of formulation is usually classified under pro&&ion flow control models. The first production flow control model was introduced by Kimemia and Gershwin [S] in the early ‘8Os, where they

57

M. ELHAFSI AND

58

modeled the movement of parts as a continuous rates of parts through a flexible manufacturing closely track the demand of all parts. Using

the formalism

of Kimemia

S. X.

BAI

flow and suggested a feedback control of the flow system, to respond to machine failures and to

and Gershwin

[6], Sharifnia

et al.

[7] investigated

a single

machine setup scheduling problem. They proposed a feedback setup scheduling policy which uses corridors in the surplus/backlog space to determine the epochs of setup changes. The corridors are chosen so as to guide the surplus trajectory to a target cycle which is referred to as the Limit Cycle. Srivatsan and Gershwin [8] extended the ideas of Sharifnia et al. and developed methods for choosing the parameters of the corridors when the setup frequencies are not all the same. Perkins and Kumar [9] and Kumar and Seidman [lo] studied the performance of distributed realtime setup stable.

scheduling

Connolly

policies

[ll] proposes

and investigated a heuristic

the conditions

for a two-part-type,

under

which the system

one-machine

setup

remains

system,

based

on known results of a perfectly flexible system. The approach is based on a local optimization that maximizes the progress toward a target Limit Cycle. Bai and Elhafsi [12] studied the realtime scheduling

of an unreliable

one-machine,

two-part-type,

nonresumable

setup

system.

They

provide a continuous dynamic programming formulation of the problem which they discretize and solve numerically. Based on the numerical solution they provide two heuristics to solve the stochastic problem. Gallego [5] studied the ELSP problem in the case of a machine subject to disruptions as a linear

of small magnitude. He shows that the optimal function of the current inventory levels.

In this paper,

we study

the production

and setup control

policy selects the production of a deterministic

lot sizes

one-machine,

two-

part-type system within a feedback control framework (Kimemia and Gershwin’s framework). This work is based on a previous work by the authors (Bai and Elhafsi [13]), where the same system was studied. In [13], the solution was obtained by means of a novel algorithm which we referred

to as the Direction

solution different

analytically. One of the advantages of an analytical extreme cases which are of practical or theoretical

Sweeeping

Algorithm

(DSA). In this paper, we determine solution is that importance.

the optimal

it allows us to study

The remainder of the paper is organized as follows. In Section 2, we present an optimal In Section 3, we provide some previous control formulation of the dynamic setup problem. results from [13) which are relevant to this paper. In Section 4, the optimal policy is obtained analytically. In Section 5, we study some extreme cases which are much easier to deal with when an analytical solution is available. We conclude our study with Section 6.

2. PROBLEM We consider

a manufacturing

system

FORMULATION

which has a single machine

that

produces

two distinct

parts (or products). There is a constant demand rate di (i = 1,2) for each part. The machine incurs a given constant setup time Si (i = 1,2) when switching from Part Type j to Part Type i (j # i). Let xi(t) be the production surplus (positive or negative) of Part Type i (i = 1,2) at time t; a positive value of zi(t) represents inventory while a negative value represents backlog. Here, we follow the general framework introduced by Kimemia and Gershwin [6] and model the production flow as continuous rather than discrete. Let ui(t) be the controlled production rate of the machine producing Type i parts at time t. Denote by u(t) the setup state vector of the machine at time t, which is defined ss (T(t)

=

(~l(t),~z(t>,~lz(t),ozl(t)),

where, ai( aij(t) (j # i, i = 1,2, j = 1,2) are right continuous binary functions of t, such that a%(t) = 1, when the machine is ready to produce Type i parts and ai = 0 otherwise; cij (t) = 1, when the machine is undergoing a setup change from Part Type i to Part Type j and oij(t) = 0 otherwise. Let s(t) be a right continuous function oft that takes on the value Si at the beginning

Two-Product Manufacturing System

59

of each setup change to Part Type i (i = 1,2) and decreaseswith time. It will indicate whether a setup is completed or not. We assume, initially the machine is not set up to either part type. SYSTEMDYNAMICS ANDCONSTRAINTS. The dynamics of the system can be described by: = ui(t) - di,

$x&J

0 L %(t) < Ui%(Q,

i = 1,2,

(I)

i = 1,2,

(2)

where Vi is the maximum production rate of the machine when it is producing Type i parts. The setup states of the machine obey the following set of constraints: a(t)

if ai

= 1 and ci(t)

+ fJz(t)

+ qa(t)

+02,1(t)

=

1;

then s(t) = bi and oij(t)

= 0,

(3) = 1;

> 0 and oij(t-)

= 1,

then B(t) = -1 and aij(t)

if s(t-) = 0 and aij(t-)

= 1,

then Oij(t)= 0 and B(t)= 0 and aj(t) = 1;

if s(t-)

= 1;

(4) (5) (6)

for i = 1,2, j = 1,2, i # j. B(t) denotes the time derivative of s(t). The above equations (3)-(6) merely state that if ci(t) = 1, we can either continue producing Part Type i, or decide to switch production to Part Type j. In the latter case we must spend exactly Sj amount of time setting up the machine for Part Type j. That is, gij(t) = 1 for exactly Sj amount of time (0 < s(t) 5 Sj). After the setup change, uj(t) = 1, and the machine is ready to produce Part Type j. PENALTYFUNCTION.The total intantaneous cost which penalizes the production for being ahead (zr > 0, 22 > 0) or being behind (xi < 0, x2 < 0) the demand is given by: i=2 g(x)

=

c

(c;$(t)

+ c;z;(t))

,

(7)

i=l

where ct and CT are the per unit instantaneous inventory holding and backlog costs, respectively, and z:(t) = max{zi(t),O} and zf (t) = max{-zi(t), 0). Notice that, we do not include setup costs, but we do penalize setup times implicitly in the formulation. STATE VARIABLESAND CONTROLVARIABLES.The state variable of the system is given by x(t) = (zl(t),zz(t)). The variables u(t) = (ul(t),us(t)) and a(t) = ((Tl(t),a2(t),alz(t),a2l(t)) are the control variables. We denote by (a, u) the complete control vector. CAPACITYSET. The capacity set represents the set of feasible production rates. When the setup state is a(t), at time t, it is given by: R(a(t))

= {u(t)

( 0 L Ihi

_< &q(t),

i = 1,2}.

SETUP CONSTRAINTS SET. The setup constraints set is the set of all possible setup vectors g(t) = (Ul@), 02(t), ulz(t), ozl(t)) satisfying constraints (3)-(6). Let @ denote this set. ADMISSIBLE CONTROLPOLICIES.We denote by s(@, 0) the set of feasible controls, which depends on Cpand R. The set of admissible control policies, A, is the set of all mappings ~1, p : !R2 + Z(O, a), which satisfy p(x) = (a, u), and are piecewise continuously differentiable. These admissible control policies are feedback controls that specify the control actions (setup and production level of the machine) to be taken, given the state of the system. OBJECTIVEFUNCTION.The objective is to find an optimal control policy /J* E A, corresponding to a setup control 6* = (or, a;, 6r2, a&) and a production flow rate control u* = (UT,u;), that minimizes for each initial state x(t) the following cost functional:

J,kdt), t>=

/” MS>> ds, t

M. ELHAFSI AND S.

60

where the minimization and U(T) satisfy constraint be sufficiently large. In the next section, needed in this paper.

is over all functions (1) and ((T(T),u(T))

we summarize

p(z(r)) E

Z(@,fi)

some results

that

3. BRIEF SUMMARY

X. BAI = (~(T),u(T)), for t 5 T 5 tf,

such that Z(T), g(r), where tf is assumed to

have been obtained

OF PREVIOUS

in [13], which will be

RESULTS

In [13], it was shown that for a finite horizon formulation, the inventory/backlog state vector reaches a cyclic schedule (also referred to as the Limit Cycle) in finite time. z(t) = (24W2@)) We referred

to this cyclic solution

as the steady

by its optimal location in z-space. It was also the machine at the steady state is to produce either part type. The location of the cyclic inventory and backlog costs incurred during points

state solution

(Figure

3.1), which is characterized

shown in [13], that the optimal production rate of at maximum speed when the machine is producing schedule is obtained by minimizing the average one complete cycle and is given by the following

in x-space:

C=($

B=(f)),

A=(;;),

I=(;),

D=(;;)t

(9)

where, A1 =

CT _(1 - Pl) &ji, (c;’ + c1) (I - P)

&

=

(cf$c;,

c1

= S1dl -

D1

=-(cf+c;)

(1 - Pl) (1 _ p) 4

6

4 64 (1 -

(c;’ + CJ

A:! = b2d2 -

Pl)

(1 - p)

P- Pl) bdl, (l-p)

hdl,

B2 = _(czf+c;)

fidl,

c2 = ,c&;)

(I - P2) &j2,

c;

cc; + ci) (l -

(1 - P> Pd

&j 2’

(1

(1 (1 -p)

(j&,

(1 - P2)

Ds = (c;c$)

(I _ p) 6dz - 616,

(10) (11) (12) (13)

I1 = (14) I2 =

Figure 3.1. Location of the cyclic schedule in z-space.

TweProduct

61

Manufacturing System

Here and elsewhere in the paper, pi = di/Ui (i = 1,2) denotes the utilization factor of the machine by Type i parts, and p = p1 +pz is the utilization factor of the machine. For the problem to be feasible, we need to have p < 1. Also, 6 = 61 + 62 which is the sum of the setup times. The total average cost over one cyclic schedule is given by (l -PI) (1

“” Average Cost = 12 (cT+c;t)

d l 6 + _21 (cic& c,‘) (1 t1 - 4 +

26 d



To obtain the optimal solution of the transient case, the x-space is divided into two mutually exclusive major regions (R” and R” in Figure 3.2) which are defined as follows: 8“

={(21,22)

X0 ={(x1,52)

dl(l-pz)(xl-Al)+dlpz(xz-Az) 62). The optimal solution for initial surplus levels (inventory/backiog) in Region ?R”was obtained by inspection. We will state this solution later on in the paper. The optimal solution for initial surplus levels in Region !JY is not obvious and is more involved mathematically. The following results were established in [13]. For initial surplus levels in Region R”, the optimd way to progress toward the cyclic schedule is by producing at maximum machine speed whenever it is possible. That is, IL*= (VI, 0) or (0, Us) if the machine is producing and IL*= (0,O) if the machine is undergoing a setup change. FACT 3.1.

Therefore, given the current setup state, we know the direction of the surplus trajectory

in ‘@‘.

62

M.

ELHAFSI ANDS. X. BAI

DEFINITION 3.1. We say that a trajectory is following Direction Di, if it moves parallel to Line Li in the direction of increasing zi. That is, the machine is producing Part Type i (i = 1,2) at maximum machine speed. If the machine is undergoing a setup change, then the trajectory follows Direction DO, where both surplus levels deplete (Direction (-dl, -dz)). REMARK. Since for surplus levels in Region !I? the machine is either producing at its maximum rate or being set up, the trajectories will move either along Direction D1, along Direction D2 or along Direction DO. DEFINITION 3.2. We call a Di - n-step trajectory (i = 1,2; n > l), a trajectory that performs alternately mi, setup change-production runs of Part Type i and mj setup change-production runs of Part Type j (j # i); with the initial setup change to Part Type i and the last segment touching the Limit Cycle at point B or D. If n is even then mi = mj = n/2. If n is odd then rni = (n + 1)/2 an d rnj = (n - 1)/2. A D1 - 3-step trajectory is shown in Figure 3.5. FACT 3.2. To reach the cyclic schedule in finite time, starting with initial surplus levels in Region s”, the trajectory leading to the cyclic schedule must touch the boundary Lij (i, j = 1,2, and i # j) of Region so, just before switching to Part Type j and reaching the cyclic schedule at one of the points B or D. That is the last setup change, before reaching the cyclic schedule, initiated on the boundary L12 or L21. According to Fact 3.2, to reach the cyclic schedule in finite time, we need to perform a setup change on one of the two boundaries L12 or L21. However, starting from a point in sU, we may need more than one setup change to bring the surplus trajectory to the cyclic schedule. For instance, as illustrated in Figure 3.3, starting at the point 0 in 3“ with an initial setup change to Part Type 2, we have a choice to change the setup at the point 1 on the boundary L21 and reach the cyclic schedule at D, or have setup changes at 2 and then at 3 on L12 and reach the cyclic schedule at B. If the cost can be reduced, we may want to initiate a setup change on the segment [2’,3] and swing back to boundary L21. As a consequence, the optimal trajectory leading to the cyclic schedule in finite time will be at least Di - 2-step since we need a setup change at the initial point and one more, once the boundary of Region !R” is reached.

Figure 3.3.

An algorithm (Direction Sweeping Algorithm (DSA)) was developed in [13] to obtain the optimal trajectory leading to the cyclic schedule in finite time. Figure 3.4 shows the application of the DSA algorithm to an example where optimal trajectories starting at different initial points

63

Twc+Product Manufacturing System

are shown. Notice that the setup switching policy is a special corridor policy (see [7]) with two windows. Based on numerical results, we observe that the general optimal setup switching policy is as illustrated in Figure 3.5. In this case, the surplus trajectory will bounce back and forth between the two walls of the corridor (f?l and 82 in Figure 3.5) until the trajectory passes through one of the windows of the corridor. When this happens, the trajectory will encounter either Line L12 or Line L21, then bounces back and follows either Line L2 or Line Ll, and reaches the cyclic schedule at Point D or Point B (see Figure 3.5). Therefore, the optimal setup switching policy is completely characterized when the corridor walls al and 82, and the corridor windows defined by the two points Wl and W2 in x-space, are determined.

I02

-20’ -20

-15

0 -10 -5 Surplus of Part Type 1

5

10

Figure 3.4. Optimal setup switching policy.

Corridor Window

Figure 3.5. Illustration of the setup switching policy.

M. ELHAFSIAND S. X. BAI

64

The purpose

of this paper

is to obtain

the optimal

setup switching

policy in Region

tically. This is achieved by determining the equations of the boundaries points Wl and W2 analytically. One of the advantages of the analytical

?I?‘ analy-

Bl and 02 as well as the solution, is that once we

have the equations of Boundaries Bl and B2, we eliminate the line search procedure algorithm and substitute it with an intersection point calculation, which is clearly

in the DSA much faster

and much simpler to implement (as a formula). Another advantage of the analytical solution, is that it usually involves the use of a formula, which is an excellent tool for studying extreme cases, where one is interested in the behavior of the solution with respect to one or many parameters of the problem.

4. ANALYTICAL Based

on Facts

3.1 and 3.2, the optimal

SOLUTION

trajectory

emanating

leading to the cyclic schedule in finite time can be obtained point in Region V, we choose the first setup and calculate the cyclic schedule

with two setup changes

at a point

in Region

3?‘, and

as folllows. Given an initial surplus the cost of the trajectory leading to

only. At this point,

we have a Di - 2-step trajectory,

where i is the initial setup for Part Type i. The next step is to try to lower the cost of the current trajectory by introducing a setup change to the other part type, so that the cyclic schedule is reached at the opposite side. If the cost can be reduced, then the obtained, new trajectory is a Di -3-step trajectory. We keep trying to reduce the cost of the current trajectory by introducing, each time, a setup change before the cyclic schedule is reached, until we cannot lower the cost At this point we have an optimal Di - n-step trajectory (provided we start with a anymore. setup change to Part Type i) emanating in Region !I?‘, and reaching the cyclic schedule in finite time.

In the same manner,

we obtain

the optimal

setup to Part Type j first. The optimal

trajectory

Dj - n-step (j # i) trajectory starting with a would be the one with the lowest cost.

The above procedure suggests that we first determine the optimal location of the switching points in z-space, where the switch to the other part type allows to reach the cyclic schedule with a lower cost. In other words, we determine the boundaries Bl and 82 analytically (see Figure 3.5). This, we do in Section 4.2. In Section 4.3, we determine up to what point the switch to the other part type is optimal (i.e., results in a lower cost of the trajectory leading to the cyclic schedule). That is, we determine the points Wl and W2 which will indicate where exactly the corridor windows are located in s-space (see Figure 3.5). In Section 4.4, we give the complete optimal 4.1.

production

and setup policy analytically.

Preliminaries

In this section, we state some preliminary results that are needed in the subsequent analysis. We denote by Line L(Y) the line going through a point Y = (yi, ~2)in z-space and parallel to Line L2. We denote by Line L’(Y) the line going through a point Y = (yi, yz) in z-space and parallel to Line Ll. The equations of L(Y) and L’(Y) are given by: Line L(Y) : dz(l - pz)( 51 - Yl) + dlP2(52 - Y2) = 0,

(1%

0.

(20)

Line L’(Y) : d2pl(zl

-

ye) + dl(1

-

pl)(q

-

312) =

Let 21 = (zii,zis) be the intersection point of L(Y) with L21, and 22 = (zsr,z22) intersection point of L’(Y) and L12. Then, Zi and Z2 are given as follows:

z11=

$q)

{(hxl-P2)Yl

212=

&

I()

d2 -dl

-I-

Pl (‘-Pd

0

2

(1-Pl)p2Y2-p1p2cl-

Y1-&P2Y2+

0

2

Pl Cl-Pz)

($3

Cl--PS

C1+(1-Ppd(l-p2)C2

P2C2}

be the

(21a)

,

, @lb)

Two-Product ManufacturingSystem

65

(l-/~)~292+(1--&O-9&41+ 4

PI (~-PZ)Y~+@-P~(~-P~YZ-

0

;I;

(2)

~1

(l-9)

~2&} 7

(1-pz)A1-pmA2

(22a)

. @b)

We denote by Cx,y the cost of the segment [X, Y] in x-space, when X and Y are within the same quadrant in the x-space. For X = (x1, x2) and Y = (~1, ys), we have 2

C X,Y

=

c+l

hi 2(dA

- 4)

(Yi2 - 3)

7

(23)

where hi = ct if xi and yi are positive, and hi = -CT if xi and yi are negative for i = 1,2. REMARK. If X and Y are not in the same quadrant, we can always break the segment into two or three parts, each contained within one quadrant only in x-space. Then the total [X, Y] segment cost is the sum of the two or three segment costs.

Figure 4.1. Corridor wall. 4.2. Equations

of Boundaries

f31 and f32

In this section, we will determine the locus of the points where it might be optimal to switch setup to the other part type. In other words, how far should we go with the production of the current part type before we switch to the other. Notice that, at this point, we do not know whether this switch will lower the cost of the current trajectory or not. This will be decided later on, when we determine the points Wl and W2 which will indicate whether this switch is optimal or not. Indeed, if the switch happens to be within the corridor windows, then it is optimal not to switch and continue producing the current part type until either Boundary L12 or Boundary L21 is encountered, where it is optimal to switch to the other part type and reach the cyclic schedule at one of the Points B or D. To determine the equations representing the corridor walls in x-space, we will start with an initial surplus point in the third quadrant of the x-space. It will be shown that the equations of the corridor walls (Boundaries Bl and a2) do not depend on the initial surplus. To be able to follow the derivation, the reader is referred to Figure 4.1. First, we derive the equation of

M. ELHAFSI AND S. X. BAI

66

Boundary 231. Before we start the derivation, we need to determine the coordinates of the points X = (xr,xs) and V = (~11,vz), given Xe = (x7 +6&i, xi + 6sdz) (without loss of generality). In this case, X belongs to Line L(Xh), and V is the intersection of Line L12 and Line L’(X’), where x; = (x~,x~). Then, using (19), (22a) and (22b), we have:

vl =

(1:

-p1p2

p)

+

(

2

I

(I-

(51 -

614)

~1) pla,)

(1-pl)p2(~2-~ld2)+(1-~1)(1-~2)A1

-

,

xl - &di) + PI Cl-

~2) -4

-

(1 -

~1) (I-

~2) (22 -

bd2)

~1~2A2

As mentioned before, the objective is to determine the location in x-space of the switching point X that minimizes the cost of the trajectory emanating at the point Xe in x-space and reaching the cyclic schedule at the point B (see Figure 4.1). Notice here that the current trajectory in Figure 4.1 is a Ds - 2-step trajectory given by {X0,X;, X1,X:, D, I}. Now if we introduce a setup switch at point X, the new trajectory will be a Ds - 3-step trajectory given (Xe, X6,X,X’, V, V’, B, I}. At this stage, we have no guarantee that the new trajectory will have a lower cost than the current one. This will be decided later when we determine Wl and W2. All we are saying at this point, is that if switching to the other part type would lower the cost of reaching the cyclic schedule, then the optimal switch must happen at the point X in x-space.

I

‘3

Figure 4.2. Corridor window.

Let C,“(Xe) be the cost of Trajectory {Xa, X6, X, X’, V, V’, B, I}. Using (23), i.e., calculating the sum of costs of segments of the Trajectory {Xe, X6, X,X’, V, V’, B, I} within the same quadrant, we obtain:

CWO) =

2dl

(1’_pl>

_ &

{($

{(Xl

-

61d1)2c;

+ 62d1)2c,

Pz I$$ + 2dz(l - P2) ’

+ +;‘}

+ 1;~;)

+ 2d2(11_ pz) txfct

+ 2;$y;2)

- &(x!

+ (v2 - 62d2)2Ci 1

+ 62d2)2C,

TweProduct

Manufacturing System

67

Notice that, if we substitute ~2, wi, ~2 by their expressions as a function of 21, C;(Xc) a quadratic function of zi. Hence, C;(Xs) may have a unique minimum. A necessary tion

for 21 to be a minimum

Differentiating

22,211,~

-($)(I - Pz>lP2. Now differentiating and 52 and setting

of Cz(Xe)

with respect Cz(Xs)

the result

(and sufficient

to 21, we get:

with respect

= -(%)(l

to xi and expressing

to 0, gives the following Dl : MlZl

2

in this case) is given

equation

- p2)/p2;

will be condi-

by dciLF) 3

= 0.

= 1; e

ui and ‘~2 as a function

=

of 21

of a line in s-space:

+ it&x2 + M3 = 0,

(24

where,

(254 (25b) M3 = -(MlCl

+ M&2).

(25c)

Notice that Bl contains the point C on the cyclic schedule. This result is not a surprise since if we started with an initial surplus Xs belonging to the line L12, the point C on the cyclic schedule would realize the minimum for C$(Xa), and therefore is a candidate for a setup change. With a similar procedure, we obtain the equation of the other corridor wall (Boundary Figure

3.5), where it is possible

to switch setup from Part Type 82 : NIXI

+ Nzx2 + N3 = 0,

82 in

1 to Part Type 2. (26)

where,

Wb) N3 =

-(&AI

+ N2A2).

(27~)

It is worth mentioning that in [13], we observed from numerical solutions that the optimal setup switching boundaries in x-space are linear. It is verified here by the equations of the corridor walls. In the following subsection, we determine the corridor windows. 4.4.

Corridor Windows

In this section, we determine the corridor windows, which are characterized by the coordinates of the points Wl = (wii, ~12) and W2 = (~21, ~22) in s-space (see Figure 3.5). Wl and W2 are the points on the corridor boundaries where an additional setup change does not reduce the cost of reaching the cyclic schedule. Geometrically, this means: beyond these two points Wl and W2 on the boundaries 231 and 82, it would not be optimal to add a new setup change to the current trajectory (that is the cost of the current trajectory cannot be lowered anymore). We will start by deriving the coordinates of Wl first. To be able to follow the derivation the reader is referred to Figure 4.2. As we mentioned above, Wl is the point in x-space that realizes the equilibrium between the cost of trajectory {Wl, Vl, Vl’, I} and the cost of trajectory {Wl, Wl’, 21, Zl’, I}. Wl must be a point of L31 since we know that f31 is the set of optimal locations where we switch to Part Type 2 (previous section). Figure 4.3 shows an example of three trajectories r1,72 and 73. For trajectory 71, it is optimal to switch setup to Part Type 1. For

68

M. ELHAFSIAND S. X. BAI

trajectory 72, we are indifferent between switching to Part Type 1 or continuing the production of Part Type 2, switching setup at the point Vl and then reaching the cyclic schedule at the point D. In this case, the two trajectories have the same cost. For trajectory 73, it is not optimal to switch to Part Type 1, and it is optimal to continue the production of Part Type 2 and reach the cyclic schedule at point D. Before we start the derivation, we need the coordinates of the points Vl

= (~1, viz) and

21 = (zii, ~12) shown in Figure 4.2. In this case, Vl belongs to L(W1) n L21 and 21 belongs to L’(W1’)

n ~512. Once we have Vl and 21, Vl’ and Zl’ are easily obtained. Vl and Zl are

defined as follows: x11 = q11w1

+ Vll,

(284

212 = rll2~12 + h2,

(28b)

2111= YllWll

+ 1111,

(294

w2 = Yl2W2

+ /J12,

W’b)

where,

711 =

7712=

41

42

=

=

&{(1> (~)(l-Pl)-Pl}~ H{($)P1-($$)(I-Pl)), (1 - PlN

- P2)Al

+

(1 - PlIP2

0-P) _PlU

(1 - I4

- P2)

d2

(l-p)

(

;i;) A1

--

4 (&)

(A2+

(304 (3Ob) (2))

+&bldl,

(1--P1Nl-P2)

PlP2

(1 - p)A2 -

(314

M3

(1-P)

(1Mz

@lb) 711 =

(324

712 =

Wb)

Pll

(334

=

(33b)

CL12=

Denote by TCrr, the cost of trajectory {Wl,Vl,V’l,I} and by TClz the cost of trajectory {Wl, W’l, Zl, Z’l,I}. Using (23), it is not difficult to show that:

T&z-

1 2

{

1 TCi2 = 2

+

-

[

1;c;

----4lCT 4

[u&c;

d2

+ &f]

(~11- &d1)2c; + P&$ [ 4 (I~1) ; G2c2+ dz

dl - 62d212 c;

+

+ ~21224]

d2 0 - ~2)

;

K’ull

-

1 [7324 +

61d1)2c;+&cf]

dl (1 -

PI)

P2424

dz(l- pz)

' (34)

Two-Product

Manufacturing

System

69

As we mentioned above, Wl = (~11, ~12) is the point in x-space for which we have TCl1 = T&. Furthermore, Wl belongs to the boundary Bl. Therefore, Wl should satisfy the following two conditions: TGl(w11)

TG2(w11)

-

= 0,

(36)

w12=-(9w11-(9.

Notice

that,

substituting

makes TCl1 and TCrs

vii,vi2,zir,zis depend

and wis with

on wii only.

their

expressions

After manipulation,

as a function

we get the following

of wri

system

of

equations: 03

CriWfr + o2w11+

= 0,

(37)

where, cY1 =

- 1)CT- rl?lC;t+ (7121 24

(1 -

($2

-

Wll~2J2)

4-

2d2 (I-

Pl>

-

rl?2cz

~2)



(384

(-m(/m - &dl) + &dl)c, - ~WIV$4(1 -PI>

o2 =

+(

712~12

-

(WJ4’3/M;))

~2’ -

dz(l

(yg = PII(PII

- 2&&k,

1712(~12 -

62d2>c;

~2)

>

Pb)

- (~121- I,“>c;’

2&P + (P:, -

-

- PI>

(M3/M2>2

-

1,2) Cz’ -

2d2 Cl-

(h2

-

S2d2j2C;

(38c)

~2)

For most practical situations (finite c’ and cj (i = 1,2)), it can be shown that Wl is located the second quadrant of the x-space. Hence, wir in (37) must be the negative root. In a similar fashion, we find the coordinates system of two equations:

of the point W2 in x-space,

+ P2w22

PO42

in

by solving the following

+ P3 = 0, (39)

w21=-(9w22-($),

where, p1 =

h22l -

WW2)

c;’ -

2dlO P2 =

(‘720‘21

-

-

&c,

(722(1422

(N2N3/%>)

-

C;’ -

(/$I

-

(N3/N)2

-

1422 (1.422 -

282d2)

1) c;

c;’ -

ClC;

2d2 (I-

rl21@‘21

-

-

&4’

(404

Sldl)c,

-

7722~224

~2)

I?)

24 +

-

~1)

fi2d2) + 62d2)c;

dz(l p3 =

(32

2d2(1--p2)

40 +

+

PI)

(~21 -

(Job)

614)1c;

~1) -

(vi2

~2)

-

1;)

~2’

I

(4Oc)

M. ELHAFSIAND S. X. BAI

70

(41b)

(424 d2 (;i;)

v22 = (1 -

P2h cl-p)

~l+(~))+“-~“‘,,p2’C2+~~2d2,

(4w (4W 722 = H ~21 =

{ 0 - Pl)

(1 - Pl)P

- P2)&

(1 -

(2) ($)} ,

- Pl

+ P2U

~22 = JO-

2

- Pl>

(1 - P>

PI d2 (;i;>

~2) (1 - PI

(Al+

(43b)

(

Wa)

)

(2))

(44b)

-$$)A2.

Similarly, for practical situations it can be shown that W2 is located in the fourth quadrant of the z-space. Hence, ~22 in (39) must be the negative root. 4.5. The Complete Solution At this stage, we have the complete analytical solution of the optimal production and setup control policy. But before we state the solution of this problem, we partition Region 8’ into the following mutually exclusive sets (readers are referred to [13] for details): Gil = {(XI, ~2) 1x11 d&cl

G12 = {(zr,~)

da(l -

61dl 2 0; -&(zl

PZ)(Q

- Cl) - dl(zz

- Al)

G21 = {(z1,z2) 1 -d&q

I 52 -

--

+ dlP2b2

- A2)

,~I(22

52d2 10;

-

dzpl(z1 - Cl) + dl(l

-

-

>

- C2) >_ 0);

-dz(zl -

0;

H12 =

d2(a

-

{(x1,52) -

911)

A2)

0; dz(sl

2

(

d&l

dzpl(zl

-

912)

- Cl) -

- gn) + dl(tz

-

12)

2

0;

-

12)

>

0;

- II) - dl(zz

C2) 2 0);

- Cl) - dl(sz

p1)(z2

+&(x2

+ dl(z2

2 0);

-

C2)

2

0;

-

C2)

-da(1 -

Hll = ((~1,~s) I ZI - Sldl 2 0; d&cl - Cl) - dl(zz -

11)

d2(z1 - Al) - dl(zz - A2) > 0);

) ~1 - 61dl 2 0; dz(q

Hl = {(zr,zs)

C2)

- Al) + dl(z2

dzpl(zl - Cl) + dl(l G22 = ((21722)

- Cl) + dl(zz

2

0;

-dz(l

dl(l -

-

p1)(22

- 912) 2 0;

-

-dz(l -

C2)

>

0;

~2)(~1

pz)(z1 C2)

>

-

>

Al)

-

dlpz(z2

-

A2)

L

0;

-

Al)

-

dlpz(z2

-

A2)

L

0);

-

Al)

-

dlP2(22

-

A2)

>

0);

0;

PZ)(~

H2 = {(x1, ~2) I cc2- 62dz 2 0; dz(zl - II) - dl(zz - 12) > 0; &(I -

-

pz)(s1-

dzpl(z1

1521 = {(~,z2) -

I &h

dzpl(zl -

H22 = {(zr,z2)

Al)

-

dlp2(22

- Cl) - dl(l -

Cl)

- II) -

dl(zz

dl(l -

-

p1)(22

~l)(

-42)

-

12)

22 -

) 22 - Szdz 2 0; -d2(zl

- dzpl(z1 - Cl) - dl(l

-

PI&~

2

0;

C2) > 0; -d2(zl

-

> C2)

0; >

dz(l 0;

- Al)

p2)(51

-d2(a

-

-

+&(x2 Al)

921)

-

- A2) h&2

> 0); -

A2)

I

+ &(x2

-

922)

L

0);

+ d1(22

-

922)

>

0);

- Al) - dl(z2 - AS) > 0; -

C2)

>

0;

-dz(m

-

921)

0;

0);

Two-Product ManufacturingSystem cl= G2

=

{(3a,~2>

I -a+

{(x1,22)

I -22

614 + 62d2

cl)

+

dl(l -

>

o;

d2pl(z1-

,ol)(z2

>

0;

dz(1 - pz)(xr - Ai) + dlpz(z2

71

-

C2)

2

0);

-

A2)

10);

where gi = (911,912) is the point in x-space given by: 911 =

614,

g12 =

c2

+

(Cl - Sldddm 40 -PI)



and gz = (921,922) is the point in x-space given by:

g21

=

Al

+

(A2- W232) ha dz(l-p2)

922 =



W2.

To summarize the control actions in Region !R‘, let x = (a, b) be the vector of initial surplus levels in Region 8’ (for more details the reader is referred to [13]). ??

If x E Gl: 1. Set up the machine for Part Type 1; 2. After the setup change, produce Part Type 1 at the rate Vi; 3. When the surplus level of Part Type 1 becomes 0, change the production rate to dl;

4. When the surplus level of Part Type 2 becomes x2 = As + Ald2pl/dl(l to control actions of the cyclic schedule. ?? IfxE Gil UHll: 1. Do not produce either part type;

- pl), switch

2. When the surplus level of Part Type 1 becomes &dr, start a setup change for Part Type 1; 3. After the steup change, produce Part Type 1 at the demand rate dl; 4. When the surplus level of Part Type 2 becomes x2 = As + Aldzpl/dl(l to the control actions of the cyclic schedule. ??

??

??

- pl), switch

IfxEG12uH21: 1. Do not produce either part type; 2. When the surplus level of Part Type 2 reaches level 12, immediately start a setup change for Part Type 2. Level 12 is given by

3. At the end of the setup change switch to the cyclic schedule control actions. IfxEG21uH12: 1. Do not procedure either part type; 2. When the surplus level of Part Type 1 reaches level 11, immediately start a setup change for Part Type 1. Level 11 is given by

3. At the end of the setup change switch to the cyclic schedule control actions. IfxE G22UH22: 1. Do not produce either part type; 2. When the surplus level of Part Type 2 becomes &d2, start a setup change for Part Type 2;

M. ELHAFSI AND S. X. BAI

72

3. After the setup change, produce Part Type 2 at the demand rate dz; 4. When the surplus level of Part Type 1 becomes 21 = Ci + Csd&ds(l to the control actions of the cyclic schedule. ?? If z E G2:

- ps), switch

1. Set up the machine for Part Type 2; 2. After the setup change, produce Part Type 2 at the rate U2; 3. When the surplus level of Part Type 2 becomes 0, change the production rate to d2; 4. When the surplus level of Part Type 1 becomes 21 = Cr + Csdrpz/ds(l to the control actions of the cyclic schedule. For initial surplus z = (a,b) in R e g ion P, of the surplus levels in z-space.

the following procedure

- pz), switch

gives the optimal

trajectory

PROCEDURE STEP 0: Xi(O) := a, X&l)

:= b.

k:=l; IF C,2(X(O)) 2 C;(X(O)) XI(k) :=X1(0) - &d,;

THEN

X2(k) :=X2(0) - 62dz; GOT0 STEP 1; ELSE X1(k) :=X1(0) - 61dl; X2(k) :=X2(0) - 61dz; GOT0 STEP 2; ENDIF; STEP 1: k:=k+l; X~(k):=(d~pz(M~+Xz(k-l)Mz)+dz(l-pz)X~(k-l)~z)/(dz(l-P2)~2-dlP2~1) X2(k):=

- (&)

Xl(k)

IF Xi(k)

2 ~11 THEN

Xl(k) :=yllXl(k X2(k) :=-/izXz(k k:=k+l; XI(k) := Xl(k X2(k) := Xz(k k:=k+l; X(k) := I; GOT0 STEP 3; ELSE GOT0 STEP 2; STEP2:

- (&);

- I) + ~~11; - I) + ~12; 1) - 61dl; lj - &dz;

ENDIF; k:=k+l; X2(k):=(d2p1(N~fXl(k-l)Nl)+dl(l Xl(k)

:= - ($f)

IF X2(k)

2

~22

X2(k)

- (3);

THEN

Xl(k) :=mXl(k X2(k) := m&(k k:=k+l; XI(k):=X1(k - 1) X,(k) := Xz(k - 1) k:=k+l; X(k) :=I;

1) +~21; 1) + ~22; - 62dl; - Szdz;

-pl)Xl(k-l)Wl(dl(l--pl)N

-dzplNz)

Two-Product ManufacturingSystem GOT0

73

STEP 3;

ELSE GOT0 ENDIF;

STEP 1;

STEP 3: OUTPUT:

OPTIMAL

TRAJECTORY=

{X(O), X(l),

. . . ,X(/c - 1),X&)};

Given the optimal trajectory of the surplus levels in z-space, it is not difficult to translate it into control actions. The above procedure is based on the following Conjecture. CONJECTURE4.1.

The initial setup of the optimal trajectory is given by i* =argmin,,l,2{C~(z)},

Conjecture 4.1 states that the initial setup is optimal. That is, once we obtain the initial setup, we do not need to go back and check whether starting with the other setup is optimal (i.e., belongs to the optimal trajectory). Although we do not have a mathematical proof for this observation, the application of the above procedure with all the cases we tried always provided the optimal trajectory. Note, that if we do not use Conjecture 4.1, we use the above procedure to calculate the cost of the trajectory starting with initial setup to Part Type 1 and the cost of the trajectory starting with initial setup to Part Type 2. The optimal trajectory is the one with the lower cost. In the following section, we study some extreme cases which are of either practical or theoretical importance. Since we have the analytical solution, it is relatively easy to study such cases.

5. SPECIAL

CASES

In this section, four special cases are investigated. Case 1: No backlog is allowed for Part Type 2 (without loss of generality). Case 2: No backlog is allowed for both parts. Case 3: No inventory is allowed for Part Type 2. Case 4: No inventory is allowed for both part types. 5.1. No Backlog

for Part Type

2

This case can be encountered in practice, where a backlog for a part type is undesirable either because of customer requirements or because of a very high penalty incurred when the products are not delivered in time. To obtain the optimal policy in this case, we simply let the backlog instantaneous cost of Part Type 2 go to infinity. That is ci -+ 00. As before, we determine the corridor wall first, then we determine the windows of the corridors (if they exist). CORRIDOR WALL al. c; ---t 00, we get:

Dividing the equation of Bl by CT in (24) and taking the limit when

rearranging terms in the expression of L31,gives the following line equation: d2Plbl

-

Cl)

+ d1(1-

Pl)(ZZ

-

C2)

= 0,

M. ELHAFSIAND

74

S. X. BAI

which is exactly the equation of Line L21 (see (17)). Hence, when backlog is not allowed for Part Type 2, the boundary Bl becomes Line L21. CORRIDOR WALL B2. Dividing the equation of 82 by CT in (26) and taking the limit when c; + 00, we get: N lim - = 0, c;-*oo c; lim -N2 = c;+xl

ci

(1 A2Y

lim c;%a

N3 -=-c;

(1 -

62d2

P2)’

which gives the following line equation for B2: x2 = Szdg. This result was intuitively expected. Indeed, 52 cannot be negative, hence the switch to Part Type 2 must occur exactly when its surplus reaches the level Szdz, so that after the setup change, the surplus level of Part Type 2 is not negative (which is not allowed). WINDOWS. To determine the corridor window, we divide expression (38a), (38b), and (38~) by c; then take the limit when ci + 00 and get:

CORRIDOR

lim c;-+cG

lim

%=a?=6

S=Q~=-

( (441M2)2

c$ + 7?:2

2d2(1-P2) ((Ml/M2)

'

(M3/M2)

~=(y~=-

c;--*oo c;

C; + 7?12(J’12 - 62d2))

d2 (I-

c; +cm c;

lim

>

c”3/M2>2 c;

+ (42

2d2(1-

~2)

1

- 62d2j2)

~2)



Now,

if we compute the discriminant in the quadratic ayour:r + a!j%~ii + a? = 0, we get: (c$‘)~ -4(a~)(@‘) = -4ci[(M1/Mz) (~12 -62dz) + (Ms/M2) 712]~, which is obviously negative. This means that the cost of reaching the cyclic schedule from the Point D, is always less than that of reaching the limit cycle from the Point B. Hence, the corridor window is the whole corridor wall given by the equation of Line L21. Figure 5.1 illustrates this policy.

Xl

Figure 5.1. Case 1: cg 4 cm.

TweProduct

5.2.

75

No Backlog for Either Part Type

In this case, we have cl + 00 and ci show that: Bl : cc1= 61dl and 2?2 : z2 = That is, all initial surplus levels must be therefore, the optimal control actions of 5.3.

Manufacturing System

No Inventory

for Part

Type

---t 00. In a similar fashion as the previous 62d2. This means that Region W becomes

case, we can “forbidden”.

in Region 3’ (otherwise the cost would be infinite), Region 8’ apply (see Figure 5.2).

and

2

This case happens in practice when there is no space available for a product and the latter has to be delivered to the customer at once after being produced. Another situation is when the inventory cost for the product is much higher than its backlog cost. In this situation it is better to deliver the product late than store it for a while before being delivered to the customer. This is usually known

as “produce

in this case, we simply

to order system”

let the inventory

in the literature.

instantaneous

To obtain

cost of Part Type

the optimal

policy

2 go to infinity.

That

is ci + 00.

Figure 5.2. Case

CORRIDOR

WALL Bl.

Dividing

2: c;

the equation

+

of Bl

co, c

by ci

+

co.

in (24) and taking

the limit

when

c$ + co, we get:

lim .;+, lim c~+xl

lim c~+cm

Ml = 0, c2+ M2 -=_L c2’ M3

-

P2 ’

= 0,

cz’

which gives: 52

This result was intuitively expected. Type 2 must occur when the backlog

=

0.

Indeed, x2 cannot be positive, hence the switch of that part type is completely eliminated.

to Part

M. ELHAFSIAND S.

76

X. BAI

CORRIDOR WALL 82. Dividing the equation of 02 by c$ in (26) and taking the limit when ci + co, gives:

rearranging terms in the expression of 82, gives the following line equation: dz(l

-

PZ)(Q

-

4)

+ hz(~2

-

AZ) = 0,

which is exactly the equation of Line L12 (see (16)). H ence, when inventory is not allowed for Part Type 2, the boundary 232 becomes Line L12. CORRIDOR WINDOWS. To determine the corridor window, we divide expressions (40a), (40b) and (40~) by c$ then take the limit when c$ + 00 and get:

which implies that @‘w,2, + /3rw22 + /3? = @ > 0. Hence, the cost of reaching the cyclic schedule from the point B, is always less than that of reaching the cyclic schedule from the point D. Therefore, the corridor window is the whole corridor wall given by the equation of Line L12. Figure 5.3 illustrates this policy.

r-

x2 Ql

_C

Figure

5.3. Case 3: 4 + 00.

X1

Twc+Product Manufacturing System

77

5.4. No Inventory for Either Part Type In this case, we have c;’ + cm and c$ + 00. In a similar fashion as in the previous case, we can show that: Dl : 51 = 0 and 232 : 52 = b. This means that all activities take place in the third quadrant of the z-space. Also, it is not difficult to show that when c;’ --) 00 and c$ + 00, 6idi - =ad,,O)

Wl --t Cm =

and

W2 --) A” =

( which implies

that

,

O,Ssds - w6d2) (

the boundaries

Bl and B2 have no windows.

Therefore,

the optimal

surplus

trajectory will keep bouncing back and forth between the two boundaries and never reaches the cyclic schedule in finite time. In other words, the cyclic schedule can only be reached asymptotically

when c;’ --) 00 and ci -+ 00 (Figure

5.4 illustrates

this case).

This result

is intuitively

expected. Indeed, the optimal Limit Cycle touches the 21 and 22 axes of the third quadrant of the z-space at Points A and C. Therefore, any corridor window will allow the optimal trajectory to step in the positive surplus region of either part type, thus incurring an instantaneous infinite cost. Also, the optimal trajectory keeps eliminating backlog aa much as possible without incurring any inventory while progressing towards the Limit Cycle (which is the most economical path that the optimal trajectory can follow). Therefore, there should be no windows in the corridor.

Figure 5.4. Case 4: 6.

Cf

+

W,

C2+ -

00.

CONCLUSION

In this paper, we studied a deterministic one-machine two-product dynamic manufacturing system with setup changes. We provided a feedback control formulation of the problem. Baaed on the results of a previous paper [13], we derived the complete optimal solution (expressed as a feedback control law) of the problem analytically. Given the analytical optimal solution, we studied some extreme cases where we dealt with the effects of eliminating either backlog or inventory for either or both products. The results obtained were as expected intuitively.

REFERENCES 1. S.E. Elmaghraby, The economic lot scheduling problem (ELSP): Review and extensions, Management Science 24, 587-598 (1978).

M. ELHAFSI AND S. X. BAI

78 2. G. Dobson, The economic

lot scheduling problem:

Achieving feasibility using timevarying

lot sizes, Opera-

tions Research 35, 764-771 (1987). 3. S.K. Goyal, Determination of economic production quantities for a two-product single machine system, hternational Journal of Production Reseruch 22, 121-126 (1984). 4. J.J. Carreno, The economic lot scheduling for multiple products on parallel identical processors, Management Science 36, 348-358 (1990). 5. G. Gallego, Real-time scheduling of several products on a single facility with setups and backorders, Ph.D. Thesis, School of OF&IE Cornell University, Ithaca, NY. 6. J. Kimemia and S.B. Gershwin, An algorithm for the computer control of a flexible manufacturing system, ZIE Transactions 15 (4), 353-362 (1983). 7. A. Sharifnia, M. Caramanis and S.B. Gershwin, Dynamic setup scheduling and Row control in manufacturing systems, Discrete Event Dynamic Systems: Theory and Applications 1, 149-175 (1991). 8. N. Srivatsan and S.B. Gershwin, Selection of setup times in a hierarchically controlled manufacturing system, Proceedings of the 2sth IEEE Conference on Decision and Control, Hawaii, December 1990. 9. J. Perkins and P.R. Kumar, Stable, distributed, real-time scheduling of flexible manufacturing/assembly/dii assembly systems, IEEE ‘Bansactions on Automatic Control 34, 139-148 (1989). 10. P.R. Kumar and T.I. Seidman, Dynamic instabilities and stabilization methods in distributed real-time scheduling of manufacturing systems, IEEE Transactions on Automatic Control 35, 289-338 (1990). 11. S. Connolly, A real-time policy for performing setup changes in a manufacturing system, Master’s Thesis, Report LMP-92-0005, MIT Operations Research Center, MIT Laboratory for Manufacturing and Productivity, May 1992. 12. S.X. Bai and M. Elhafsi, Real-time scheduling of a manufacturing system with non-resumable setup changes, Research Report 93-28, Department of Industrial and Systems Engineering, University of Florida, 1993. 13. S.X. Bai and M. Elhafsi, Transient and steady state analysis of a manufacturing system with setup changes, Journal of Global Optimization 8, 349-378 (1996). 14. S.X. Bai and J.H. Burhanpurwala, Real-time scheduling algorithm for a dynamic setup problem, SPIE’s International Symposium on Optics for Manufacturing and Advanced Automation, Boston, 1993. 15. S. Connolly, Y. Dallery and S.B. Gershwin, A real-time policy for performing setup changes in a manufacturing system, In Proceedings of the 31 st IEEE Conference on Decision and Control, Tucson, AZ, December 16-18, 1992. 16. S.B. Gershwin, Manufacturing Systems Engineering, Prentice Hall, (1993). 17. S.C. Graves, A review of production scheduling, Operations Resemch 22 (l), 646-675 (1984).