win gershdspace.mit.edu/bitstream/handle/1721.1/74134/2-852...oint. conjecture: this is optimal if z...

28

Upload: ngokiet

Post on 18-May-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Design and Operation

of Manufacturing Systems |

The Control-Point Policy

by

Stanley B. Gershwin

Massachusetts Institute

of Technology

Cambridge, Massachusetts

02139 USA

I I E Annual Conference

Orlando, Florida, May 19-22 2002

Outline

� Goals

� Dynamic Programming Formulation

� Dynamic Programming Solution:

Surplus-Based Policy

{ Special Cases

{ General Case

� Solution: Time-Based Policy

� Relationship with Other Policies

� Solution: Token-Based Policy

{ Decomposition

{ Optimization

� Preliminary Simulation Results

� Future Research

Goals

� to propose a real-time scheduling policy,

� to present the policy in three forms,

� to show how factories and policies can b e simultane-

ously designed,

� to describe some preliminary simulation results,

� to suggest fruitful research directions.

Class of Systems

Type 1Type 1 Type 2 Type 2

M 1 M 4B41

B11 B51 B12 B32 B71 B31

B22

B61M 2 M 3

B21

� Reentrant ow

� Flexible, unreliable machines

� Continuous material

� Homogeneous, �nite bu�ers

� Constant demand rate

� No setups or batches

Objective

Cumulative

d t q

P (t)sq

sq

sq

Production and Demand

of Type parts

t

earliness

demand

surplus x (t)

production

� Minimize a weighted area b e t ween the production line

and the demand line.

Dynamic Programming Formulation

� S(s; q) is the sth machine that type q parts visit.

� Demand dq

� Operation time 1=�sq

� Availability ei X

dq� Feasibility: < ei

for all i�sq

fs;qjS(s;q)=ig

� Control: usq(t) is the instantaneous production rate

of type q parts at stage s at time t

Z t� Cumulative production Psq(t) = 0

usq(� )d�

� State: xsq(t) = Psq(t) � dqt, surplus

� State: �i(t) = 0 or 1: repair state of Machine i

Dynamic Programming Formulation

� Constraints:

if �i(t) = 0; usq(t) = 0;

X usq(t)

if �i(t) = 1; � 1; usq

� 0:

fs;qjS(s;q)=ig

�sq

� Dynamics:

dxsq

= usq

� dqdt

� dynamics | unreliable machines

� Bu�er levels

bsq

= xsq

� xs+1;q

� Constraints: 0 � bsq

� Nsq

� Objective:

Z TJ = min E 0

g(b11(s); b 12(s); :::; x K (`);`(s))ds

Dynamic Programming Solution

| Surplus-Based Policy

� Solution is a control law of the form u(x(t); � (t); t ).

� Impossible to determine exactly except in special cases.

� Impossible to determine numerically except in spe-

cial cases.

� Strategy: Investigate special cases and extrapolate.

Special Case:

One Machine, One Part Type

+

Z

d t

d t Z

surplus (x )

t

demand

hedging point

Production and Demand Cumulative

production

� If � = 1,

if x > Z u = 0

if x = Z u = d

if x < Z u = �

� If � = 0, u = 0.

� Bielecki-Kumar (1988)

Special Case:

One Machine, Multiple Part Types

If � = 1,

x2

u = u = 0

x1

1 2

dx dt

µ2

µ1

2

1u = 1

u = 0

u = 0

u =

1

2

µ

2

u = d1

µ2 1

2

1

u = 0

u = d1

1

u = 01

2u = d2

u = (1 − d / )

� Type 1 has priority because of g() and �1

and �2.

� Rishel (1975), Kimemia-Gershwin (1983), Srivatsan

(1993).

� Complete solution found only for two part types when

Z = 0. Srivatsan and Dallery (1998) showed that

boundaries are more complicated when Z 6= 0.

Special Case:

One Machine, Multiple Part Types

Conjectured generalization

0. Before executing the policy, rank order the products.

This is a static ranking.

1. Produce the highest ranking product, until its surplus

reaches its hedging p o i n t Z1. (The others fall behind.)

2. Keep the highest ranking product at its hedging point.

Devote all remaining capacity to the second highest

ranking product, until it reaches its hedging p o i n t Z2.

(The others fall further behind.)

3. Keep the two highest ranking products at their hedg-

ing p o i n ts. Devote all remaining capacity to the third

highest ranking product, until it reaches its hedging

p oint Z3. (The others fall still further behind.)

4. etc.

Simpli�ed statement: Produce the highest ranking part

whose surplus is below its hedging point.

Conjecture: This is optimal if Z = 0.

��������������������������

�������������������

�������������������

�������������������

�������������������

Special Case:

Multiple Machines, One Part Type, Tandem

x1 b

x2

u2If �1

= �2

= 1,

u1

������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� �������������

������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� ������������� �������������

���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ����������������������

���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ���������������������� ����������������������

���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ����������

���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ����������

������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� �������������������

������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ������������������� ����������

���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ����������

���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ���������� ����������

1 u = µ

1

u = µ2 2

1 xx =

2

1 Z Z

2,( )

u = 2

1 u = µ

1

0

x 2

u = 2

1 u =

u = µ2 2

1 u =

0

0

0

1 x =

2 x + N

x 1

8>>

> if xi

> Zi; ui

= 0; > > > <

if xi

= Zi; ui

= d; > > > > > :

> if xi

< Zi; choose ui

as large as possible.

� \As large as possible" means

if 0 < x1

� x2

< N , then u1

= �1

and u2

= �2;

if x1

� x2

= N , then u1

= min(�1; u 2) and u2

= �2;

if x1

� x2

= 0, then u1

= �1

and u2

= min(u1; � 2).

� Van Ryzin (1987); Van Ryzin, Lou, and Gershwin

(1993); Lou et al.

General Case

0. Before executing the policy,

� rank order the work items at each machine,

� determine bu�er sizes,

� determine hedging p o i n ts Zsq

.

At every t, if �i(t) = 1, divide the set of part types q at

stage s (work item types sq) such that S(s; q) = i into

four sets.

Initially, they are:

Q1: the set of all work item types for which xsq

(t) > Zsq

;

Q2: the set of work item types for which xsq(t) = Zsq

and

for which there are no higher ranking work item types

such that xsq(t) < Zsq

;

ZQ3: the highest ranking work item type for which xsq(t) <

sq

. If there is no sq for which this is true, Q3

is

initially empty.

Q4: all other work item types.

General Case

Then assign production rates and modify the sets accord-

ing to the following:

u1. For each work item type sq in Q1, xsq(t) > Zsq

and

sq(t)=0.

u2. For each work item type sq in Q2, xsq(t) = Zsq

and

sq(t) = dq

3. If Q3

and Q4

are not empty, allocate as much of the

remaining capacity as possible to the work item type

in Q3.

u4. � If all capacity is allocated, then

sq

(t) = 0 8 sq 2 Q4, and stop.

� If Q4

is empty, stop.

� Otherwise,

(a) Move the work item type from Q3

into Q2. Do

not change its production rate usq(t).

(b) Move the highest ranking work item type from

Q4

into Q3.

(c) Go to Step 3.

Real-Time Capacity Allocation

When capacity is allocated,

� Q1

= fsqjxsq(t) > Zsq

and usq(t) = 0:g

S� Q2

Q3

= fsqjxsq(t) � Zsq

and usq

(t) > 0g

� Q4

= fsqjxsq(t) < Zsq

and

rank is lower than any item in Q3g

Solution: Time-Based Policy

� Hedging time = Hsq

= Zsq

=dq.

� Due date of the = Psq

(t)th part is Dsq

(t) = Psq(t)=dq:

� Earliness at time t is Esq

(t) = Dsq

(t) � t.

� Policy: Same as surplus-based except replace xsq

>

Zsq

with Esq(t) > Hsq, etc.

sq

q sq

sqsq

H sq

Z sq

sq

H sq

q d t+

sq

q d t

qH sqsq sq

Cumulative Production and Demand

of Type parts

P (t) =

t-

surplus x (t)

hedging time

t

demand

earliness

production

x (t)

P (t)/dD ­ D (t) =

hedging point

Z d t+

Adaptation for Discrete Parts

� Observation: There are essentially never any parts

such that Esq

= Hsq.

� De�nition: sq is available if BS(s�1;q)

is not empty

and BS(s;q)

is not full.

H� De�nition: sq is ready if it is available and Esq(t) <

sq.

� Policy: select the highest ranking ready work item.

If no items are ready, wait.

Control Point Policy: implement the policy as stated

at a limited set of control p o i n ts; do something sensible

elsewhere.

Add to Step 0: select control p o i n ts.

Relationship with Other Policies

� Least slack: no static ranking; in�nite bu�ers; no

waiting (ie, no concept of readiness).

H� MRP scheduling: Intermediate due dates Dsq

(t)�

sq

are targets; no rule speci�ed for when targets are

missed.

� Base stock: In�nite bu�ers.

� Kanban: No surplus/earliness information.

� ConWIP: Limited inventory similar to due date in-

formation, as described b e l o w.

� Drum-Bu�er-Rope: Variant of ConWIP.

� PAC, EK: are generalizations.

Single-Part Type Equivalence

Assertion: Operating M according to a hedging point

policy

M

is isomorphic to operating the three-machine assembly

system

M

D

S

FG

B

in which D is the demand generator, S is a synchroniza-

tion machine which is in�nitely fast and perfectly reliable,

the size of FG is Z, and B is in�nite.

Solution: Token-Based Policy

Controlling a three-machine tandem system

M B M B M1 1 2 2 3

is equivalent to operating an acyclic assembly/disassembly

system

D

S

1

1

B M B M1 2 2 3M1

D

S

D

S

2

2

3

3

when demand is constant.

Solution: Token-Based Policy

More generally, when demand is not constant, controlling

a three-machine tandem system

M B M B M1 1 2 2 3

is equivalent to operating an assembly/disassembly sys-

tem

B M B M1 2 2 3M1

S S2 3

D

S1

Multiple-Part Type Equivalence

Assertion: Operating M according to a multiple-part-

type hedging p o i n t policy

Machine controlled by hedging point policy

is isomorphic to operating the assembly system

by tokens Machine controlled

Demand Machines

Material Flow

Token Flow

Synchronization Machines

with part ranking.

Decomposition

� Single-part type systems can b e analyzed with 20th

century methods.

{ tandem lines

{ assembly/disassembly trees

{ single-loop systems (Frein, Commault and Dallery, 1996)

� Considerable progress has b e e n made recently.

{ multiple-failure mode tandem lines and trees (Tolio et al.)

{ improved single loop analysis

{ multiple-loop systems | preliminary results

{ multiple-part type systems | preliminary results

Optimization

� EÆcient optimization methods based on decomposi-

tion have b e e n developed (Schor, 1995; Schor and

Gershwin, 1996) for single-part-type tandem systems.

� They work well because of the concavity and mono-

tonicity of the production rate as a function of bu�er

sizes.

� We can hope that these properties hold for more com-

plex systems.

In that case,

� we can eÆciently determine good bu�er sizes and hedg-

ing points/times to develop a policy for an existing

factory.

� we can simultaneously design a factory and its oper-

ating policy. The analysis of such a factory should

b e more accurate than current simulations for factory

design.

Performance

1 1 2 2 3 3 4 4 5 5 6 6 7

Production line:

� Parameters: all ri

= .1; all pi

= .01; all bu�er sizes

20.

� Problem: achieve a random demand (rD

= pD

= .05)

with minimal inventory.

� Kanban control:

1 1 2 2 3 3 4 4 5 5 6 D6 7 FG

Total WIP (not including FG): 108 (decomposition)

Single-Point Control

� Downstream

1 1 2 2 3 3 4 4 5 5 6 6 7

9

11

12

D

Total WIP: 95 (decomposition)

� Mid-line

1 1 2 2 3 3 4 4 5 5 6 6 7

8

10

11

D

Total WIP: 60 (decomposition)

� Upstream

1 1 2 2 3 3 4 4 5 5 6 6

7

9

10

7

D

Total WIP: 25 (decomposition)

9

Three-Point Control

1 1 2 2 3 3 4 4 5 5 6 6 7

7 8

9 10

10 11 12

D

Invariant 2 = 0

11

0

10

20

30

40

50

60

70 n1 n2 n3 n4 n5 n6

total

-30 -20 -10 0 10 20 30 40 50 60 70

Invariant 1

Simulation

Future Research

� Incorporate existing HP research for more general sys-

tems (subcontracting, etc.).

� Develop decomposition methods for token-based con-

trol schemes. Extensions of existing methods include

{ non-acyclic networks with multiple loops

{ multiple-part-type systems

{ reentrant systems

{ improve assembly performance by using tokens to

coordinate production.

� Develop optimization methods for these kinds of sys-

tems.

� Optimize token ow subnetwork structure.

� Develop real-time extensions for batching and setups,

and modify the decomposition method accordingly.