Presentation is loading. Please wait.

Presentation is loading. Please wait.

Stochastic Production Systems

Similar presentations


Presentation on theme: "Stochastic Production Systems"— Presentation transcript:

1 Stochastic Production Systems
Discrete Part Manufacturing Systems Queuing Theory Modeling Chapter 1

2 Stochastic Random (specifically, involving a random variable) or probabilistic (Merriam-Webster Dictionary) Random: According to M-W… Lacking a definite plan, purpose, or pattern Relating to, having, or being elements or events with definite probability of occurrence Why stochastic models? Buzacott & Shanthikumar: because of the need to describe: Disturbances: to disturb = to throw into disorder, to make uneasy Variability: variable = fickle, inconstant, aberrant Group characteristics may be known but next individual is a mystery Unpredictability!! Chapter 1

3 Production Act or process of producing (manufacturing); the creation of utility; especially: the making of goods available for use Discrete Part Manufacturing (B&S) Machines and work stations where operations are carried out on jobs (parts, items, subassemblies and assemblies) to create products that can be delivered to customers Material handling and storage devices Each item processed is distinct (not continuous processes) Also Services Service industries account for % of employment and % of GDP in U.S. “Job” can be any task to be carried out by a server in order to meet a customer’s need Original context for most queuing models Chapter 1

4 Systems M-W: a group of devices or artificial objects or an organization forming a network especially for distributing something or serving a common purpose B&S: Types of Discrete Part Manufacturing Systems Job Shop: Large scope of products by variety of machines, flexible routings Flow Line: Large volume by simplified material handling, standard sequence of operations Transfer Line: May have synchronized movement of jobs Flexible Machining System: Automated job shop Flexible Assembly System: Automated movement to assembly, inspection and test Cellular System: Each cell has specific capabilities, loose coupling among them Chapter 1

5 Queue M-W: A waiting line especially of persons or vehicles
Literally, tail (as of a beast) View it as a symptom of inefficiency – the beast within In a manufacturing system, queue = inventory waste, expense, not value-added, etc. In a service system, queue = poor service In a stochastic system, queues are unavoidable! but they can be reduced if disturbances and variability are handled well and/or by adding to the capacity of the system Chapter 1

6 Performance Measures Production volume Quality Customer service Cost
Dollar value or total quantity per unit time Correct mix of products is also important Traditional criterion for low- and mid-level managers Quality Extent to which the product meets customers’ expectations Customer service Ability to meet promised delivery Cost Test and inspection stations can improve quality In-process inventory can increase volume and customer service Main concern of upper management Chapter 1

7 Modeling Steps Identify issues Learn about the system
Time scale of decisions: strategic, tactical, operational Goals, performance measures, targets Learn about the system Choose a modeling approach Physical Computer (simulation) Analytical Develop and test the model Verify and validate the model Verify: Does it model what we think it models? Is it correct? Validate: Does it model the real system? Is it accurate? Develop a model interface (decision support system) Experiment with the model Present the results Chapter 1

8 Analytical vs. Simulation Models
Dimension Analytical Simulation Complexity Try to include only most important aspects Can be very complex and detailed (+/-) Flexibility Easier to change but small changes may have big consequences Hard to change once built Data Needs less Needs more Transparency Clear to analyst, may be opaque to less well trained Black box Efficiency Effort to get tractable solution hard to estimate Effort more “linear” and predictable User interface Needed for both! Chapter 1

9 Analytical vs. Simulation: Summary
Both are important! Use simulation to validate analytical approximations Use analysis to determine where to focus simulation effort For stochastic systems, both will be descriptive not prescriptive Analytical models usually easier to combine with optimization Ideal: closed form expression for performance in terms of parameter(s) – can use calculus or search algorithm to optimize Simulation-based optimization is a growing field What is the purpose of the model? Understanding: Gain insight into how variable affects performance Teaching: Help managers/workers understand what factors affect performance Improvement: Explore changes in parameters and rules Optimization: Find an optimal combination of parameters Decision Making: How to design and/or operate the system Discriminate effects of alternatives Project their impact over time Chapter 1

10 Chapter 2 Machine Interference Model
Long Run Analysis Deterministic Model Markov Model

11 Problem Description Group of m automatic machines
Operator must change tools or perform minor repairs How many machines should be assigned to one operator? Performance measures Operator utilization:  = fraction of time the operator is busy Production rate: TH = # finished items per unit time Machine availability:  = TH/G, where G is the gross production rate, or the production rate that would be achieved if each machine were always available Note: In this queuing system, the machines are the customers! IE 512 Chapter 2

12 Long Run Analysis Each machine has gross production rate h
Pn is the proportion of time that exactly n machines are down: Then, given Pn, IE 512 Chapter 2

13 Eliminate some unknowns
Suppose the mean time to repair a machine is 1/, and the mean time between failures for a single machine is 1/. = avg. # of repairs in (0,t] = t = avg. # of failures in (0,t] = In the long run, assuming the system is stable, IE 512 Chapter 2

14 Queuing Measures of Performance
= average # of machines waiting for service = average number of machines down = average downtime duration of a machine = average duration of waiting time for repair IE 512 Chapter 2

15 Little’s Formula Observe from the previous equations: where
is the total average number of failures per unit time = the arrival rate of customers to the queuing system Little’s formula relates mean # of customers in system to mean time a customer spends in the system. IE 512 Chapter 2

16 A Deterministic Model Suppose each machine spends exactly 1/ time units working followed by exactly 1/ time units in repair. Then if and we could stagger the failure times, we would have no more than one machine unavailable at any time, so that (Otherwise, IE 512 Chapter 2

17 A Markov Model Let be the time between the (n-1)st repair and the nth failure of machine j, and be the time duration of the nth repair (indep.) The time until the first failure is N(t) = # of machines down at time t follows a CTMC with S = {0, 1, …, m} and IE 512 Chapter 2

18 Steady-State Probabilities
satisfy the balance equations or level-crossing equations IE 512 Chapter 2

19 Solution IE 512 Chapter 2

20 Erlang Distribution If failure and/or repair times are not exponential, can fit an Erlang distribution by matching moments: Big advantage: Can still model as a CTMC. Consider time to machine failure (each machine) as Erlangk. Can think in terms of k phases in the time to failure, where the time the m/c spends in each phase is exponential (kl): Mean time spent in each phase = Mean total time to failure = IE 512 Chapter 2

21 Expanded State Definition
Mi(t) = # of machines operating in phase i at time t For example, if k = 2, then a single machine without interference follows the CTMC (1 = failed state): 1 0;1 0;2 m 2l IE 512 Chapter 2

22 Transitions among States (k=2)
Steady state probabilities: Rate into state 2l(l1+1) m 2l(l2+1) IE 512 Chapter 2

23 Balance Equations This system of equations (for any k) has the solution: IE 512 Chapter 2

24 SS Number of Machines Working
From the previous equation and get Find probabilities by normalizing to 1. This distribution is independent of k or any other characteristics of the failure time distribution. It can be shown that the same state distribution holds for any failure time distribution! IE 512 Chapter 2

25 Chapter 3 Single-Stage Produce-to-Order
c identical machines Process job on any one of them External orders indep. of shop status

26 Assumptions No preemption/service interruptions Non-idling
For capacity determination Constant mean arrival rate Constant mean service time Machines always available

27 Questions Capacity of the system
Can it be increased by operating policies? Performance measures (WIP, delay in filling orders) Influence of service process, order arrivals Operating policies to improve them Choice of policy to improve a particular measure Information requirements

28 General Performance Capacity Little’s Formula Observations at
Arrival times Departure times Arbitrary times Basic data An is the arrival time point of the nth job; Sn is time required for its processing (Dn is departure time point)

29 Capacity If  < c then  = 
At least one server repeatedly becomes idle Note: Capacity = c is not the maximum departure rate. Capacity depends only on the mean service time.

30 Little’s Formula The nth job to arrive is the K(n)th job to depart.
is the time spent in the system by the nth job. Assume these system times are uniformly finite and let be the customer average time spent in the system. Also, let be the time average number of jobs in the system. Then under very general conditions, The mean number of jobs in the system is proportional to the mean flow time!

31 Heuristic Proof of Little’s Formula
A(t) B(t) = cum. area between curves D(t) T Two ways to compute Mean time in system in (0,T): Mean number in system in (0,T): Then

32 Other Little’s Formulae
In queue: In service: Expected number of busy servers Expected number of idle servers Single server utilization Single server prob. of empty system

33 Observation Times Number of jobs seen by nth arrival
Number of jobs left behind by nth departure Proportion of jobs that see l upon arrival Proportion of jobs that leave l jobs behind If  =  (e.g., if  < c ) then so that averages seen by arrivals and departures match: But in general, observations at arbitrary times do not: However, if arrivals follow a Poisson process and service protocols do not use future arrival times then This is known as PASTA (Poisson Arrivals See Time Averages)

34 Kendall’s Notation for Queuing Systems
A/B/X/Y/Z: A = interarrival time distribution B = service time distribution G = general (i.e., not specified); M = Markovian (exponential); D = deterministic; PH = phase-type (e.g., Erlang) X = number of parallel service channels Y = limit on system pop. (in queue + in service); default is Z = queue discipline; default is FCFS Others are LCFS, random, priority. In CS, PS = processor sharing

35 M/M/1 Model Single machine, Poisson arrivals (rate ), exponential service times (rate ) CTMC (birth-death) model:

36 M/M/1 Steady-State Probabilities
Level-crossing equations: Solve for p(n) in terms of p(0): Then use the facts that and substitute to get

37 M/M/1 Performance Measures
Steady-state expected number of jobs in the system Mean flow time Distribution of flow time Exponential with parameter (1-) Departure process is Poisson with rate 

38 M/G/1 Best combination of tractability & usefulness
Distributions of number of jobs in the system and flow time depend on service time distribution - Available in terms of transforms Random variables: S is the length of an arbitrary service time; is the Laplace transform of its distribution. T is the flow time; Laplace transform of its distribution is N is the (random variable) number of jobs in the system with probability generating function Define  =  E[S] and assume it is < 1.

39 Transform Equations & Expected Values

40 M/M/c Model c identical machines in parallel, Poisson arrivals (rate ), exponential service times (rate ) CTMC (birth-death) model:

41 M/M/c Steady-State Probabilities
Level-crossing equations: Define =/c, solve for p(n) in terms of p(0): Then use the facts that to get

42 M/M/c Performance Measures
Steady-state expected number of jobs in the system Mean flow time Expected waiting time Expected number in the queue (c is expected number of busy servers)

43 GI/G/c (I is for independent times between arrivals)
There are no convenient exact results, and assuming Poisson arrivals doesn’t help; instead we have some approximations that use: This is just one of 3 (or more) approximations (see Table 3.1). They work better if the scv of interarrival times is not too large (<2)

44 GI/G/c If Best approximation is
It is exact for M/G/1 and D/D/1 models. If there is more than one server, adjust the GI/G/1 approximation with factor borrowed from M/M/ system:

45 Multiple Class M/G/1 with Nonpreemptive Priority
Suppose there are k classes of jobs; arrival processes are independent Poisson processes with rates Processing starts on a class l job only if there are no class r jobs, r < l, already in the system. FCFS within each class. The expected processing time for a type l job is Define We can use a mean value analysis to find the expected flow time for each class of job:

46 Optimal Priority Assignment
Say wl is the cost per unit time that a type l job spends in the system. To minimize the total cost, priorities should be assigned so that In particular, if the cost for each type is the same, we want to minimize total average flow time for all jobs in the system. We should prioritize the job types by Shortest Expected Processing Time (SEPT Rule). This result agrees with the SPT scheduling rule to minimize the average flow time in a deterministic job shop.

47 Chapter 4 Single Stage Produce-to-Stock
Better customer service Lower manufacturing costs (setups) More uniform utilization

48 Target-Level Production Authorization (PA) Mechanism with Backlogs
I(t)B(t) = 0 B(t) Store I(t) C(t) I(t) = 0 m/c I(t) > 0 item + tag Customers tag item C(t) + I(t) = Z tags

49 Cumulative Counts & Relationships
Up to time t, A(t) = number of customer arrivals D(t) = number of items produced R(t) = number of items delivered to customers If Z items were in the store at time 0, R(t) = min{ Z + D(t), A(t) } B(t) = A(t) - R(t) I(t) = Z + D(t) - R(t) C(t) = min{A(t) - D(t), Z }

50 Fictitious Queuing System
Assume I(0) = Z, C(0) = 0. An is the time of the nth customer arrival Dn is the time when the nth item is received at the store Sn is the time to produce the nth item Then is exactly like the departure process from a single-server queue that begins empty at time 0 and has arrival times An and service times Sn. Let N(t) be the number of customers in this fictitious system.

51 Thinking About the Fictitious System
If a customer arrives when I(t) > 0 Customer gets item and tag is sent to factory. Arrival of customer to store = arrival of tag to factory If a customer arrives when I(t) = 0 Customer waits until an item is completed, at which time a tag is sent to the factory. Queue of backordered customers can be seen as being appended to the queue of Z - 1 tags at the factory (1 tag in service); when an item is completed, the first backordered customer leaves with that item and is replaced in the factory queue by the newly completed item’s tag. Factory queue has no size limit. Arrival of customer at store = arrival of entity to factory

52 Using the Fictitious System
N(t) = A(t) - D(t) is the number of jobs in the fictitious system We can find all the quantities in the real system in terms of N(t) : So “all” we need is the distribution of N(t) !

53 Poisson Arrivals, Expon. Processing Times: Fictitious System is M/M/1
P{N = n} = n(1 - ), n = 0, 1, 2, … (r < 1) So I = max{Z - N , 0} implies that (backorder) and for n = 1, …, Z, Similarly, B = max{N - Z , 0} implies that and for n = 1, 2, …

54 M/M/1 Fictitious System (cont.)
Also C = min{N , Z} implies that for n = 0, 1, …, Z-1, and P{C = Z} = P{I = 0} or From these distributions we can find expected values:

55 Choosing Z The purpose of producing to stock is to improve customer service (reduce the wait to receive an item). But this goal must be balanced against the cost of carrying a store of inventory. Suppose k1 is the inventory carrying cost ($/item/unit time) and k2 is the backlogging cost ($/item/unit time). Then is convex in Z. The incremental cost of the Zth item in inventory is

56 Choosing Z (cont.) Convexity means that as Z increases, TC(Z) changes from negative to positive. Find the Z where it is closest to 0 by Then round up or down to the closest integer. Other considerations are that the probability a customer is backlogged is Z and the expected time to fill a demand is Z/( - ). Note that without the store (Z = 0 if we produce to order) these quantities are 1 and 1/( - ), respectively.

57 Target-Level Production Authorization (PA) Mechanism with Lost Sales
B(t) = 0 Store I(t) C(t) I(t) = 0 m/c I(t) > 0 item + tag Customers tag item C(t) + I(t) = Z tags

58 Corresponding Queuing System
If a customer arrives when I(t) > 0 Customer gets item and tag is sent to factory. Arrival of customer to store = arrival of tag to factory If a customer arrives when I(t) = 0 Customer leaves again without an item, no tag is sent to the factory. Potential arrival of tag to factory is blocked if Z tags are already in the factory Behaves like GI/G/1/Z: Z is a limit on the number of jobs in the system.

59 Using the Corresponding System
Assume I(0) = Z N(t) = R(t) - D(t) is the number of jobs in the limited-population system We can find all the quantities in the real system in terms of N(t) : So “all” we need is the distribution of N(t) !

60 Poisson Arrivals, Expon. Processing Times: Fictitious System is M/M/1/Z
Note: This is different from the finite source (machine interference) model in that the population limit is imposed on the system and is not just a consequence of having a finite number of potential customers!!

61 Corresponding M/M/1/Z System
So I = Z - N implies that for n = 0, 1, …, Z, And C = N implies that

62 Choosing Z Service level is the proportion of customers who obtain products: SL = P{I > 0} = 1 – p(Z) Suppose k is the inventory carrying cost ($/item/unit time) and v is the profit ($/item). Then the total profit per unit time (to be maximized) is

63 Multiple Product Target-Level PA Mechanism with Backlogs
Ii(t)Bi(t) = 0 Item types i = 1,…, r Bi(t) Store Ii (t) Ci (t) rate m Ii(t) = 0 m/c Ii (t) > 0 item + tag Customers for type i: rate li tag item Ci (t) + Ii (t) = Zi tags for type i

64 Fictitious Multiclass M/M/1 System
If a type i order arrives when Ii(t) > 0 Customer gets item and type i tag is sent to factory. Arrival of order for type i = arrival of type i “customer” to M/M/1 If a type i order arrives when Ii(t) = 0 Customer waits until a type i item is completed, at which time a type i tag is sent to the factory. Queue of type i backorders can be seen as being appended to the queue of Zi tags at the factory (including possibly 1 tag in service); when a type i item is completed, the first type i backorder is filled and that item’s tag is returned to the factory. Factory queue has no size limit.

65 Multiclass M/M/1 Steady State Dist’n
Population vector is not a Markov chain because type of item in process affects the transition probabilities; but the total population is CTMC with P{N = n} = n(1 - ), n = 0, 1, 2, …, where Use “multinomial thinning” to get

66 Marginal Steady State Dist’n
Then the marginal distribution of the number of type i customers in the M/M/1 system is So Ii = max{Z - N i, 0} implies that and for ni = 1, …, Zi, Similarly, Bi = max{Ni - Zi , 0} implies that and for ni = 1, 2, …, Find Zi in the same way we found Z for a single product type.

67 Multiple Product Target-Level PA Mechanism with Lost Sales
Bi(t) = 0 Item types i = 1,…, r Store Ii (t) Ci (t) Ii(t) = 0 rate m m/c Ii (t) > 0 item + tag Customers for type i: rate li tag item Ci (t) + Ii (t) = Zi tags for type i

68 Corresponding Queuing System
If a type i order arrives when Ii(t) > 0 Customer gets item and type i tag is sent to factory. Arrival of order for type i = arrival of type i “customer” If a type i order arrives when Ii(t) = 0 Customer leaves again without an item, no tag is sent to the factory. Potential arrival of tag to factory is blocked if Zi tags are already in the factory Behaves like GI/G/1/Z: Zi is a limit on the number of type i jobs in the system.

69 Poisson Arrivals, Same Expon. Processing Time Dist’n for Each Type
Corresponding queuing system is M/M/1/Z normalizing constant ei is r-vector of 0’s with 1 in the ith place service level

70 Generalized PA Systems # of Production Authorization Cards  Z

71 Relationship Between Tags and Physical Inventory

72 Time Lag Between Orders and Requisitions
Order tag can arrive before requisition tag As advance notice from the customer, or If forecast of future orders is accurate. Assume There is a fixed time lag, , between receipt of an order tag and receipt of the corresponding requisition tag, i.e., if the nth order tag arrives at time An, then the nth requisition tag arrives at time An +  At time 0, there are Z items and K PA cards in the output store (factory idle) We need to keep track of Processes related to the order tags, PA cards and process tags Processes related to the requisition tags, physical inventory, and backlogged demand.

73 Order tags, PA cards, Process tags
Up to time t, At time t,

74 Order tags, PA cards, Process tags (cont-1)
At time t, Define: is population of a queuing system with arrivals corresponding to arrivals of order tags and departures corresponding to transfers of completed items to the output store.

75 Order tags, PA cards, Process tags (cont-2)
Then Then K+(t), K-(t), C(t) can be found in terms of the “fictitious” queuing system as we found I(t), B(t), and C(t) previously in the ordinary target-level PA system with backlogging.

76 Requisition Tags, Inventory, Backlogs
Up to time t, At time t,

77 Requisition Tags, Inventory, Backlogs (cont.)
Define: Thus if we can find the distribution of N*(t), then we can find the distributions of I(t) and B(t) as before.

78 Relationship Between N(t) and N*(t)
Since there is a fixed time lag, , between receipt of an order tag and receipt of the corresponding requisition tag, Then = N*(t) – (the number of departures from N(t)’s queuing system between t –  and t). If orders follow a Poisson process, service times are exponential and there is a single server, then N(t) is M/M/1 and

79 Choosing Z and  From the distribution of N*(t), we can find and
Further analysis shows that to minimize TC, it is optimal to set Z* = 0 and where E[T] is the mean flow time if the system were operated as produce-to-order; also TC(Z*, *) is lower than the minimum total cost without advance orders.

80 Chapter 5 Flow Lines Types Issues in Design and Operation
Models of Asynchronous Lines Infinite or Finite Buffers Models of Synchronous (Indexing) Lines Closed-Loop Material Handling Focus on the impact of variability on design, operation, and performance.

81 Types of Flow Lines Paced vs. unpaced
Job movement between work stations Indexing (synchronous) lines: all jobs move simultaneously Paced: Limit on time available to complete each task Unpaced: No transfer until all tasks completed Asynchronous: no coordination between movements at different stations (usually unpaced) Blocking or starvation may occur Task times by human operators are highly variable!

82 Design & Operational Issues
Configuration and Layout Number of stations: If TH* is the required throughput and average total time (work content) for each job is W, then the minimum number of stations is m*=W TH*. Actually will need more because Imperfect line balance means work at each station is not exactly W/m* Operator task time variability causes delays Quality problems may require rework Paralleling A long task may require several stations in parallel in order to balance with other stations Storage space for in-process inventory: location and size

83 Fluid Model for Deterministic Serial Queuing System (Hall)
Suppose N single-server stations in series, each with own unlimited queue Up to time t, At time t, upstream Q1 s1 downstream Q2 s2

84 Deterministic Fluid Model (cont-1)
Given: The queues are related by: For N = 2, if we could increase either which would provide more improvement in performance?

85 Deterministic Fluid Model (cont-2)
The naïve approach is to attempt to decrease the queue that’s larger (station 1) But this just shifts the waiting time downstream In mfg. this is worse because downstream WIP is more valuable Better to increase the service rate of the bottleneck server, i.e., the last place at which a queue is encountered With deterministic service times, the bottleneck is the server with the smallest capacity (service rate)

86 Asynchronous Lines with Unlimited Buffers
Assume that arrivals (job orders) to the line follow a Poisson process with rate , and that stage i has ci parallel stations, each with service time exponentially distributed with rate i, i=1, …, m. Recall that the departure process from an M/M/1 queue is Poisson with rate equal to the arrival rate. The same is true for an M/M/c system. Then each stage is effectively an M/M/ ci queue with arrival and departure rate equal to . As long as /(ci i) < 1, throughput =  regardless of the values of ci and i ! However, the configuration and processing rates of the stages do affect the amount of WIP in the line.

87 Average Number of Jobs in System
Formally, if Ni is the steady-state number of jobs at stage i, then for  i = /( ci i) < 1, i=1, …, m, and if the expected number of jobs in an M/M/c system with c parallel servers and server utilization  is then the average number of jobs in the system is

88 Work Load Allocation Suppose that the total work for a job (total expected processing time) is W, and that of this total, wi is allocated to stage i. Then i = 1/ wi. To minimize WIP, we want to The function is increasing and convex in  , i.e.,

89 Work Load Allocation (cont)
The solution to this optimization problem will satisfy: The function is decreasing in c. So for ci < cj, implies that Therefore, if each stage has an equal number of servers, the workload should be allocated evenly among stages. But if not, allocate more work per server to stages with more servers.

90 General Interarrival and Service Times
Model each stage as a GI/G/c system, then use favorite approximation for the system population (see Table 3.1) where Then use (3.160) to estimate Impact of variability: E[Ni] increases with If sequence of stations visited can be changed, average flow time is minimized by putting the stations with less variable service times first.

91 Asynchronous Lines with Finite Buffers
Single station (server, machine) per stage Production blocking: A station is blocked if a completed job cannot be moved out of the station because the downstream buffer is full. If a job is available for processing, the station will process the job if it is not blocked. bi is the limit on the total number of jobs waiting for processing or in process at station i It can be shown that throughput increases with the buffer sizes. How can we compute or estimate it?

92 3 Stages, Exponential Service Times
Assume an infinite number of jobs in front of station 1 (high demand, unlimited raw material) N2(t) = the number of jobs that have been processed by station 1 but not yet completed by station 2; N3(t) is the corresponding quantity for station 3. {N2(t), N3(t), t  0} is a Markov chain with possible states (Ni(t) = bi + 1 if stage i - 1 is blocked) Let

93 Transition Diagram 0,n3 0,n3+1 0,b3 0,b3+1 0,0 0,1 1,n3-1 1,n3 1,0

94 Throughput Steady-state balance equations (p. 189) can be solved numerically; then If b2 = b3, throughput is maximized by putting the fastest station (largest ) in the middle – true for nonexponential processing times as well.

95 3 Stages, No Buffer Space m3 m2 m1 p. 190: Throughput is
0,0 1 2 3 m3 0,0 0,1 0,2 1,0 1 2 3 m2 m1 2,0 1,0 1,1 1,2 1 2 3 0,1 1 2 3 2,0 2,1 1,1 1 2 3 p. 190: Throughput is symmetric in m1, m3. Maximize throughput with m2 = max(m1, m2, m3) 2,1 1 2 3 0,2 1 2 3 1,2 1 2 3

96 Multiple Stages Can form a Markov chain model for
but it’s very unwieldy, with many states. There are some iterative algorithms to approximate the throughput (5.4). Optimal workload allocation: Let The optimal proportion of the total workload to allocate to stage i is The optimal allocation of (m-1)b buffer spaces is

97 Allocating Workload: Summary
Unlimited buffers: Equalize workload among stages if single server per stage Allocate more work per server to stations with more servers Limited buffers: Faster servers (less work) in middle stations Avoid blocking early stages, starving late stages Allocate buffer space evenly

98 Indexing Lines Jobs move simultaneously between m stations
Unpaced: Move takes place when each station has completed its task. Line balancing is done on the basis of expected task times Actual task times are random Actual throughput and utilizations depend on distribution of longest task time Paced: Moves take place at fixed time intervals Gross production rate is reciprocal of this interval Quality declines as interval is shortened Tradeoff to determine optimal time interval

99 Unpaced Lines Ti is the random time to complete task i, i = 1,…,m
The time between successive moves is a random variable The utilization of station i and the throughput are given by: Line balancing seeks to maximize throughput by assigning elemental (nondivisible) tasks to stations to minimize subject to constraints on precedence and task combinations that can be assigned to the same station.

100 Unpaced Lines (cont-1) However,
To see the impact of variability on throughput, we will look at an approximation to the distribution of . Assume that the random variables Ti are independent with identical distributions, Then For many distributions, the right tail can be approximated by an exponential function, i.e., for t sufficiently large,

101 Unpaced Lines (cont-2) Let tm be the value of t such that
Using the exponential approximation, for t > tm Then (after some more manipulation.) Also it can be shown that

102 What’s  and How do we use this?
Suppose T is normally distributed with mean  and variance 2. If m = 10 then tm =  + z0.1 =  . Also, Finally, Note: This value of  applies to m = 10 only! Re-do for other values of m.

103 How do we use this? (cont)
The same analysis for m = 20 in the text (5.3.1) finds Suppose we took a 20 station line and converted it to two parallel lines of 10 stations each (each station in the 10 station line would have twice as much work.) Then and

104 Paced Lines Ti is the random time to complete task i, i = 1,…,m .
The time between successive moves is a constant, . The quality, Q(), is the probability that a product will not contain any defects. We will take it to be the probability that all stations complete their tasks within time , so that where the last equality assumes that the times Ti are iid. Note that Q() is the same as the cycle time distribution for the unpaced line. We will assume that  is set large enough so that Q() is close to 1 and fits the right-tail distribution:

105 Setting  to achieve a specified Q()
If we want a specified quality, Q*, we can determine what must be the probability that a station finishes in time: Table 5.3 in the text lists some of these values; e.g., if m = 10 stations and Q* = 0.98 then To achieve this quality, For example if T is normal ( , 2) then set  =  +z.002  =  

106 Setting  to maximize throughput
The gross production rate will be 1/. However,  should not be set too low because quality declines. The rate at which nondefective items are produced is The throughput will be maximized when See Fig. 5.5: Line from origin is tangent to Q()

107 Setting  to maximize throughput (cont-1)
Assuming * will satisfy: For example, suppose the task time at each station is normal ( , 2). Then   2/ (see slide 23) and If m=10 and CV =/=0.2, set * =  + x*  and the equation reduces to: Then by trial and error, x* = 2.65.

108 Setting  to maximize throughput (cont-2)
And if * =  , then Throughput is less than because (1) quality is not 100%, and (2) we have to build in slack time to address the variability. Note that * is actually a minimum value for  : If  > * then throughput will decrease while quality improves but if  < * both quality and net throughput decrease!

109 Chapter 7 Dynamic Job Shops
Advantages/Disadvantages Planning, Control and Scheduling Open Queuing Network Model

110 Definition of a Job Shop
Several types of machines Similar machines grouped, focused on particular operations Storage for work in process (no blocking) Material handling between machine groups Different job types have different routings among machine groups; may revisit the same machine group Manufacturing process in evolution “Job” is typically a batch of identical pieces May have to set up machines between different job types

111 Advantages & Disadvantages
Advantages (machine groups) Ease of supervision/operation by skilled workers High utilization of expensive machines Flexibility – broad scope of products Disadvantages (flexibility) High WIP and long flow times Conflict between resource utilization and customer service Difficult to meet promise dates Cost of variety: reduced learning, difficult scheduling

112 Planning, Control, Scheduling
Focus on produce-to-order (if produce-to-stock, treat PA as a “customer order”) Design and layout evolutionary based on real or perceived bottlenecks Order acceptance and resource planning Quoted delivery date: need distribution of flow time Required resource levels: complicated by random order arrivals

113 Planning, Control, Scheduling (cont.)
Loading and resource commitment Schedule a new job on critical machine groups first; this schedule determines sequencing on noncritical groups and timing of release to the shop Forward load jobs on all machines, looking ahead from present Backward load jobs on all machines, working back from due dates Production schedule based on deterministic processing and transport times; slack time built in to handle uncertainty Allocation and resource assignment Assign jobs at a machine group to worker/machine Often from resource perspective, ignoring promise dates

114 Why Models? Estimate flow times for use in quoting delivery dates
Identify policies order release scheduling sequencing to reduce unnecessary flow time and work in process Model a particular policy, then observe numbers of jobs in system, at each machine group, and in transition between machine groups

115 Job Assumptions A job released to the system goes directly to a machine center Job characteristics are statistically independent of other jobs Each job visits a specified sequence of machine centers Finite processing times, identically distributed for each job of specific type at a given machine center Jobs may wait between machine centers

116 Machine Assumptions A machine center consists of a number (perhaps one) of identical machines Each machine operates independently of other machines; can operate at its own maximum rate Each machine is continuously available for processing jobs (in practice, rate in #2 is adjusted down to account for breakdowns, maintenance, etc.)

117 Operation Assumptions
Each job is indivisible No cancellation or interruption of jobs No preemption Each job is processed on no more than one machine at a time Each machine center has adequate space for jobs awaiting processing there Each machine center has adequate output space for completed jobs to wait

118 Aggregation of Job Flow
Follow Section in the text to determine:

119 Example 1 0.15 3 2 - 6 4 0.10 8 7 0.05 9

120 Job Shop Capacity Capacity is the maximum tolerable total arrival rate, * Job arrival rates to machine centers satisfy Let vi be the average number of times an aggregate job visits machine center i during its stay in the system. unaffected by variability!

121 Jackson Open Queuing Network
Assume A single class (aggregated) of jobs arrives from outside according to a Poisson process with rate  The service times of jobs at machine center i are iid exponential random variables with mean 1/i If there are n jobs present at machine center i, then the total processing rate is iri(n) (e.g., if there are ci identical machines then ri(n) = min{n, ci}) Service protocol (queue discipline) is independent of job service time requirements, e.g., FCFS or random

122 Jackson Network If Ni(t) is the number of jobs at machine center i at time t, and then that is, the network has a product-form solution. If each m/c center has a single machine, then if The network can be decomposed into independent M/M/1 queues (M/M/ci if multiple m/c’s at each center)

123 Single Machine at Each Station
Average number of jobs in m/c center i: Total number of jobs in the system: Average flow time of a job: Variance of the number of jobs in the system:

124 Assigning Tasks to Machine Centers
Minimize E[T] or equivalently E[N] s.t. average number of tasks for an arbitrary job = K Then task allocation determines values of vi with Assume that if a given task is assigned to m/c center i then it will require an exponential (i) amount of time; Optimal:

125 Achieving the Optimal Visit Rates
Total set of tasks for all job types: Let wi be the average number of times task i needs to be performed on an arbitrary job: Ideally, find a partition More practically, for each k=1,…,m, find l(k) as the largest task index that satisfies Then if

126 Generalized Jackson Networks (Approximate Decomposition Methods)
The arrival and departure processes are approximated by renewal process and each station is analyzed individually as GI/G/m queue. The performance measures (E[N], E[W]) are approximated by 4 parameters . (Don’t need the exact distribution) References Whitt, W. (1983a), “The Queuing Network Analyzer,” Bell System Technical Journal, 62, Whitt, W. (1983b), “Performance of Queuing Network Analyzer,” Bell System Technical Journal, 62, Bitran, G. and R. Morabito (1996), “Open queuing networks: optimization and performance evaluation models for discrete manufacturing systems,” Production and Operations Management, 5, 2,

127 Single-class GI/G/1 OQNS
Notation: n = number of internal stations in the network. For each j, j = 1,…,n: = expected external arrival rate at station j [ ], = squared coefficient of variation (scv) or variability of external interarrival time at station j { = [Var(A0j)]/[E(A0j)2]}, = expected service rate at station i [mj =1/E(Sj)] = scv or variability of service time at station j { = [Var(Sj)]/[E(Sj)2]}.

128 The complete decomposition is essentially described in 3 steps
Notation (cont) For each pair (i,j), i = 1,…,n, j = 1,…,n: = probability of a job going to station j after completing service at station i. *We assume no immediate feedback, - For n nodes, the input consists of n2 + 4n numbers The complete decomposition is essentially described in 3 steps Step 1. Analysis of interaction between stations of the networks, Step 2. Evaluation of performance measures at each station, Step 3. Evaluation of performance measures for the whole network.

129 Step 1: Determine two parameters for each station j:
(i) the expected arrival rate lj = 1/E[Aj] where Aj is the interarrival time at the station j. (ii) the squared coefficient of variation (scv) or variability of interarrival time, = Var(Aj)/E(Aj)2. Consists of 3 sub-steps: Superposition of arrival processes Overall departure process Departure splitting according to destinations

130 Step 1: Superposed arrival rate
can be obtained from the traffic rate equations: for j = 1,…,n where lij = pijli is the expected arrival rate at station j from station i. We also get = lj/mj, 0  < 1 (the utilization or offered load) The expected (external) departure rate to station 0 from station j is given by Throughput = or The expected number of visits vj = E(Kj) = lj/l0.

131 Step 1(i): (cont.) The s.c.v. of arrival time can be approximated by Traffic variability equation (Whitt(1983b)) (1) where and

132 Step 1(ii): Departure process
is interdeparture time variability from station j (2) Note that if the arrival time and service processes are Poisson (i.e., = = 1), then is exact and leads to = 1. Note also that if rj  1, then we obtain  On the other hand if rj  0, then we obtain 

133 Step 1(iii): Departure splitting
= the interarrival time variability at station i from station j. = the departure time variability from station j to i. (3) Equations (1), (2), and (3) form a linear system – the traffic variability equations – in

134 Step 2: Find the expected waiting time by using Kraemer & Lagenbach-Belz formula [modified by Whitt(1983a)] where if < 1 if  1 Step 3: Expected lead time for an arbitrary job (waiting times + service times)

135 Single-class GI/G/m OQNS with probabilistic routing
More general case where there are m identical machines at each station i. for j = 1,…,n where

136 Single-class GI/G/m OQNS with probabilistic routing (cont.)
Then the approximation of expected waiting time is similar to GI/G/1 case:

137 Symmetric Job Shop A job leaving m/c center i is equally likely to go to any other m/c next: Then So we can approximate each m/c center as M/G/1. Then, can be replaced by mean waiting time in M/G/1 queue.

138 Symmetric Job Shop

139 Uniform Flow Job Shop All jobs visit the same sequence of machine centers. Then In this case, M/G/1 is a bad approximation, but GI/G/1 works fine. The waiting time of GI/G/1 queue can be approximated by using equation 3.142, or above and the lower and upper bound is

140 Uniform-Flow Shop

141 Job Routing Diversity Assume high work load:
and machine centers each with same number of machines, same service time distribution and same utilization. Also, Q: What job routing minimizes mean flow time? A1: If then uniform-flow job routing minimizes mean flow time; A2: If then symmetric job routing minimizes mean flow time.

142 Variance of Flow Time The mean flow time is useful information but not sufficient for setting due dates. The two distributions below have the same mean, but if the due date is set as shown, tardy jobs are a lot more likely under distribution B! A B Due E[T]

143 Flow Time of an Aggregate Job
Pretend we are following the progress of an arbitrary tagged job. If Ki is the number of times it visits m/c center i, then its flow time is (Ki is the r.v. for which vi is the mean) Given the values of each Ki, the expected flow time is and then, “unconditioning”,

144 Variance In a similar way, we can find the variance of T conditional upon Ki and then uncondition. Assume {Tij, i = 1,…,m; j = 1, …} and {Ki, i = 1,…,m} are all independent and that, for each i, {Tij, j = 1, …} are identically distributed. Similar to conditional expectation, there is a relation for conditional variance:

145 Using Conditional Variance
Since T depends on {K1, K2, …, Km}, we can say The first term equals

146 Using Conditional Variance
The second term is

147 Variance The resulting formula for the variance is:
If arrivals to each m/c center are approximately Poisson, we can find Var[Ti] from the M/G/1 transform equation (3.73), p. 61. But we still need Cov(Ki, Kj ).

148 Markov Chain Model Think of the tagged job as following a Markov chain with states 1,…,m for the machine centers and absorbing state 0 representing having left the job shop. The transition matrix is Ki is the number of times this M.C. visits state i before being absorbed; let Kji be the number of visits given X0 = j.

149 with probability with probability , l = 1,…,m
Where if j = i and 0 otherwise. with probability , l = ,…,m

150 Expectations Take expectation of (7.83), we get
and take expectation of (7.84), and

151 Because and , we obtain and where Therefore

152 Job Routing Extremes Symmetric job shop E[Ki ] = 1,
If all m/c centers are identical and m is large, and we can use an exponential dist’n to approximate T . Uniform-flow job shop Then

153 Setting Due Dates Use mean and variance of T to obtain approximate distribution FT(t) = P[T < t], e.g., if Var[T] < E[T]2, fit an Erlang distribution; if Var[T] = E[T]2, use an exponential dist’n with mean E[T]; if Var[T] > E[T]2, use a hyperexponential distribution. If td is the due date, what matters is

154 Costs Related to Due Dates
Setting the due date too far away: Completing job after its due date: Completing job before its due date: Total expected cost has derivative

155 Optimal Due Date

156 Chapter 8 Closed Queuing Network Models
Flexible Machining Systems CONWIP (CONstant Work In Process)

157 Flexible Machining System
Components Computer-controlled machines (milling, drilling, etc.) Related work stations (washing, inspection, measurement) Automated material handling system Loading/unloading station(s) WIP storage Centralized computer control Automatic tool changing Work pieces mounted on pallets in fixed position Manufacture a mix of related parts in medium volume

158 CONWIP Hybrid between “push” and “pull” control strategies
Work is pulled into the system, pushed within the system Benefits of kanban without as many card counts to determine A new job is released to shop only when an old one is completed Originally developed for flow lines WIP is easy to control and measure; throughput is observed rather than controlled directly

159 Closed Queuing Network Models
m service centers, ci servers at center i h material handling devices r part types, each with a set of service center sequences In sequence s, type j undergoes vj(s) operations at service centers Time Tij to transport a part from s.c. i to s.c. j Scenarios Constant, n, number of aggregate parts (single chain) Constant, ni, number of type i parts (multiple chain) Mix: Aggregate types into classes; fix nj = number of class j parts

160 Single-Class Closed Jackson Network (a.k.a. Gordon-Newell network)
pij is the probability that a part leaving station i goes next to station j: pii = 0 and for the load/unload station 0, (note: these probabilities can be found in aggregation process using production ratios D1 : … : Dr instead of (l)) Expected number of visits to s/c i is found from Service requirement at s/c i is exponential with mean 1/i, i = 0,…,m; when k parts at s/c i, proc. rate is ri(k) i FCFS protocol at each s/c

161 Continuous Time Markov Process
Ni(t) is the number of parts at s/c i at time t, i = 0, 1, …, m Stationary distribution of N, has a product-form solution: where and K is the normalizing constant that makes

162 Convolution Algorithm
In principle, the normalizing constant, K, can be found by solving But a system with n jobs and service centers 0, …, m has possible states. The Convolution Algorithm (Algorithm 8.1, p. 371) is an efficient, recursive method for computing p(k). Throughput:

163 Marginal Distribution Analysis
What is the effect on throughput of adding one more job? The key is that each job “sees” the system as it would be if this job did not exist! (may be more than one server at each s/c) Let pi(ki;n) be the probability that ki parts are at s/c i if the system has n parts total. The arrival rate to s/c i is TH(n) vi. The probability that an arrival to s/c i sees ki – 1 parts there is pi(ki – 1;n – 1). Therefore,

164 MDA (cont.) The expected number of parts at s/c i when there are n total is and from Little’s formula, The MDA Algorithm 8.2 is just a recursive application of these.

165 Mean Value Analysis In most practical situations, we don’t need to know the entire probability distribution for the states of the CTMC. If each service center has a single server, we can use MVA (Algorithm 8.3) to get the performance measures: Set For l = 1,…,n, compute:

166 Other Product-Form Networks (Medhi)
BCMP Networks (named for authors Baskett, Chandy, Muntz and Palacios of a 1975 article) k nodes R  1 classes of customers Customers may change class Allowing class changes means that a customer can have different mean service rates for different visits to the same node.

167 BCMP (cont.) Nodes may be only of four types:
Single server, FCFS, where service times at node i have the same distribution for all classes: Single server with processor-sharing discipline. At any node, each class may have a different service time distribution but these distributions must be differentiable processor sharing would be applicable to a computer system with multiple simultaneous users; not so applicable in manufacturing Infinite number of servers (no queue, e.g. a self-service node). Each class may have a distinct differentiable service time dist’n. Single server with preemptive last come first served discipline. A new arrival interrupts service and the displaced customer returns to the head of the queue (also known as HOL - Head-of-Line). Each class may have a distinct differentiable service time dist’n.

168 Multiple-Class Closed Networks
These come in two types: Single-chain, in which a job can change class To model a central material handling system, a job changes class whenever it is moved from one service center to another: a class can be thought of as a type together with the number of operations that have been completed on it so far. The total number, n, of jobs in the system is constant. When one part is completed, it may be replaced by a new part of any type (probabilistically or deterministically to maintain a specified product mix). Multiple-chain, in which a number of part types that use the same pallet may be aggregated. A part changes class when it moves to a new service center. The number, ns, of type s pallets is constant.

169 Multi-Chain, Multi-Class Model
Part types Pallet types Subsets of R: Part types in Rs change among classes Probability that a part completing service at s/c i as a class (s,l) part goes next to s/c j as class Visit rates for Rs satisfy:

170 Multi-Chain, Multi-Class CTMC
FCFS at each s/c Service times at s/c i are exponential with mean 1/i, independent of class Service rate of s/c i multiplied by ri(ki) when ki parts are there Let Ni(t) be the number of parts at s/c i at time t, Xij(t) be the class index of the part in the jth position of the queue at service center i at time t Then is a continuous-time Markov chain.

171 Performance Measures Throughput rate THs(n) of “class” s parts
Mean number E[Nis] of “class” s parts at s/c i Average flow time E[Tis] of “class” s parts through s/c i can be found along with marginal probabilities pis(kis) that there are kis “class” s parts at s/c i in steady state when there are n = (n1,…,np) pallets of each type, using Multiclass Marginal Distribution Analysis (MDA) or Multiclass Mean Value Analysis (MVA) if ci = 1.

172 Multiclass MVA (Schweitzer-Bard)
Alternative to Algorithm 8.10 The following (taken from Suri & Hildebrant (1984)) applies if ci = 1 but in the article they also show how to approximately extend it to several machines at a station. Initialize: or, if Repeat: Until: Successive iterations yield small enough change in

173 Throughput Properties
THs(n) is increasing in ns for each s. THl(n) need not increase in ns for TH(n) (total) need not increase in ns. Pooling of service centers need not increase the total throughput. (Note: Some of these characteristics follow from assumption that system will be operated “blindly” without good service protocols, feedback or part input controls.)

174 Throughput Property 3 TH(n) (total) need not increase in ns.
Example 8.7: Two-class closed Jackson network with s/c’s {0, 1, …, m}; Transition probability matrix for class 1 is P = [pij]. For class 2, for some 0 < q < 1, transition probabilities are: Then (class 2 spends more time in system)

175 Throughputs for Example
Compare with throughput of a single-class network of n1+n2 type 1 parts, If 1/0 = 0, can show that Then increasing n1 increases the total throughput, but increasing n2 can decrease the total throughput if q is small.

176 A Remedy With multiple classes, adopt a single chain policy: instead of always replacing a completed class l part with a raw class l part, use a mixed feedback policy. If d1,…, dp are the desired production ratios, then Replace with a class r part with probability dr, r=1,…,p. Or use a predefined loading sequence of part types such that the long run ratios of the part types loaded is d1:…,:dp . Then THl = dl TH, where TH is the throughput of a single-class (aggregated) network. And since TH increases in the total number of parts, each THl must increase, too, as more parts are added.

177 On the Other Hand... Duenyas’ (1994) simulation study of several small queuing networks indicates that a multiple-chain policy can achieve specified throughput targets with less WIP (fewer parts in the system) then a single-chain policy. His example: Type A (50%) s/c 1 s/c 2 s/c 3 s/c 4 Type B (50%)

178 Other Hand (cont.) The throughput mix could be achieved in a single-chain policy by releasing parts in the order ABAB… However, if s/c 2 had a failure, then the queue of type A parts in front of s/c 2 would increase, while type B parts would be processed quickly. Since the total number of parts in the system is fixed, eventually, all of them would be type A parts waiting for s/c 2, and s/c’s 3 and 4 would be idle. A multiple chain policy would avoid this by limiting the number of type A parts, and allowing production of type B to continue. In general, if the different part types have different bottleneck s/c’s, a multiple chain policy seems to work better.

179 Congratulations to the graduates!
Have a great summer!


Download ppt "Stochastic Production Systems"

Similar presentations


Ads by Google