Unformatted Document Excerpt
Coursehero >>
Georgia >>
Abraham Baldwin Agricultural College >>
ECON 102
Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
5
Last Modeling
Detailed
Operations
Chapter revision August 20, 2009
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 1 of 51
What Well Do ...
Model 5-1: Simple call center
Lower-level modeling, Advanced Process panel
Three-way decisions, Variables, Expressions, Storages
Blocks panel
Terminating vs. steady-state operation
Logical (fake) entities
Terminating Condition in Run > Setup
Model 5-2: Enhanced call center
Nonstationary Poisson arrival process
Sets Resource, Counter
New Statistic data module Types
Counter, Time Persistent
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 2 of 51
What Well Do ... (contd.)
Model 5-3: Enhanced call center with more
output performance measures
New Statistic data module Type
Output
Additional variable resources look at staffing levels
Model 5-4: (s, S) inventory
Not queueing
Choose to use low-level Blocks, Elements panels (SIMAN)
Can be done with higher-level panels
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 3 of 51
Model 5-1: Simple Call Center
Setup
One phone number for customers to call in to
26 trunk lines, one needed for each call (incoming or
outgoing, talking or on hold)
Arriving call finding no free trunk lines gets busy signal,
goes away
Calls arrive with interarrivals ~ EXPO (0.857) min.
Count number of such rejected calls
First call arrives at time 0
Three incoming call types
Initial recording to decide ~ UNIF (0.1, 0.6) min.
Tech support (76%), sales (16%), order status (8%)
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 4 of 51
Model 5-1: Simple Call Center
Setup (contd.)
Tech-support calls
For product type 1 (25%), 2 (34%), or 3 (41%)
Recording/select time ~ UNIF (0.1, 0.5)
Needs qualified tech-support person
Two for type 1, three for type 2, three for type 3
No crossover to another type ... will allow this in Model 5-2
Separate FIFO queues for each type
Conversation time ~ TRIA (3, 6, 18) min. for all types
Then leaves system
Sales calls
All the same
Four sales staff, all the same
One FIFO queue feeding all sales staff
Conversation time ~ TRIA (4, 15, 45)
Then leaves system
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 5 of 51
Model 5-1: Simple Call Center
Setup (contd.)
Order-status calls
All the same
Handled automatically by phone system
Conversation time ~ TRIA (2, 3, 4)
After conversation, 15% of callers opt to talk to a person
No limit on number in process at a time, except for trunk-line limit
Routed to sales staff, conversation lasts an additional TRIA (2, 3, 4)
Sales calls have higher priority (non-preemptive)
Center receives calls 8am 6pm
Must terminate arrival process at 6pm
Operate past 6pm if necessary to flush out all calls
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 6 of 51
Model 5-1: Simple Call Center
Setup (contd.)
Output performance measures
Number of calls attempted, rejected, completed
By call type total time in system
By resource time on hold, number of calls on hold
Resource utilization of personnel, trunk lines
Terminating or steady-state
Time frame of interest for each replication
Terminating specific starting, stopping conditions (this model)
Stopping conditions could be of several forms fixed time, count, condition (here)
Steady-state output performance measures are a limit as
simulated time
Choice usually depends on intent of study, not on model logic
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 7 of 51
Model 5-1: Simple Call Center
Modeling Panels
Basic Process
Advanced Process
Entity movement, material handling
Blocks, Elements
Smaller building elements, other functions, more detail
Advanced Transfer
Highest, fastest modeling level, usually the place to start
Lowest modeling level, SIMAN simulation language
Repeats some capabilities of higher-level panels
Some functions available only here
Other special-purpose panels
License-dependent
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 8 of 51
Model 5-1: Simple Call Center
Data Structure
Re-use data in several places
Arena (global) Variables
Define once, global to whole model
Redefine once modeling generality, user efficiency
Store numbers (not formulas)
Define, initialize in Variable data module (Basic Process)
Can change during run (Assign module, other ways)
Scalar, 1-d array (vector), 2-d array (matrix)
Arena (global) Expressions
Store formulas (as well as numbers, but cant change)
Use math ops, numbers, random variates, Attributes, Variables, ...
Define in Expression data module (Advanced Process)
Scalar, 1-d array (vector), 2-d array (matrix)
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 9 of 51
Model 5-1: Simple Call Center
Arrivals, Direct to Service
Create attempted calls
Entity type Incoming Call, change later
Max Arrivals = MaxCalls, Variable initialized to 999999
Entities per Arrival = CallsPerArrival, Variable
initialized to 1
At 6pm (time 600 minutes) change this to 0 to kill arrivals ... later
Entity data module
At 6pm (time 600 minutes) change this to 1 to stop arrivals ... later
Incoming Call Entity Type already there
For Initial Picture, select Picture.Black Ball
Record module for an attempted call
Add 1 to Counter Name Attempted Calls
Results Category Overview report, User Specified
More detailed description mouse over modules, read Data Tips that pop up
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 10 of 51
Model 5-1: Simple Call Center
Arrivals, Direct to Service (contd.)
Decide module Trunk Line Available?
Type = 2-way by Condition
Select (logical) Expression for If
NR() is number of units of that resource that are busy now
MR() is number of units of that resource that exist now
Alternate strategy
Queue module from
Blocks panel ...
details in text
False Record rejected call counter, Dispose
True:
Seize a unit of Trunk Line Resource Release later
Resources data module for Trunk Line and other Resource levels
Increment Variable Total WIP for number of active calls
Used in stopping rule at or after 6pm to sense if system is empty
Store module to animate entity during next Delay module
Add Storage animation separately, identify with this logical storage by name
Storage data module entry made there by Store module
Delay module to listen to initial recording, make selection
Could have used Process module, but this is simpler, faster
Unstore module to make entity animation disappear
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 11 of 51
Model 5-1: Simple Call Center
Arrivals, Direct to Service (contd.)
Decide module Determine Call Type
Three-sided coin flip Type = N-way by Chance
Add button for more sides of coin
Get new exit point for each Add, plus one for Else
Note that probabilities are entered as percentages (0-100, not 0-1)
Last entry is else
Direct call to one of tech support, sales, or orderstatus areas
Backed each area with colored box
Alternative way to organize Submodels
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 12 of 51
Model 5-1: Simple Call Center
Tech-Support Calls
Assign module
Store Delay Unstore for recording, product
type selection
Decide module for product type
Different three-sided coin flip
Direct to appropriate Process module for that product type
Process modules for tech-support service
Change Entity Type for separating out in results
Change Entity Picture for animation
Seize-Delay-Release
Seize a unit from appropriate multi-unit Resource
Use Tech Time defined in Expression data module
Proceed to system exit logic ... later
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 13 of 51
Model 5-1: Simple Call Center
Sales Calls
Assign module change Entity Type, Picture
Process module
Seize-Delay-Release
Seize a unit of Sales Resource
Sales calls priority over order-status calls that
seek a person?
Queue data module, Process Sales Call.Queue
Type = Lowest Attribute Value
Shared queue (with order-status calls seeking a person)
Not the only
Attribute Name = Sales Call Priority
way to do this
Undefined for sales calls, so has value 0 ... will set to 1 for order-status calls that
seek a person, putting sales calls ahead in the queue
Proceed to system-exit logic
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 14 of 51
Model 5-1: Simple Call Center
Order-Status Calls
Assign module change Entity Type, Picture
Delay block (Blocks panel) for robo-chat
Includes Store/Unstore logic alternative to earlier method
No automatic entry in Storage data module, so must enter manually
Decide module
No sales person required go directly to system-exit logic
Sales person required:
Assign module set Sales Call Priority Attribute to 1 so
these will have lower priority than real sales calls
Seize module for a unit of Sales resource
Define Queue Name = Process Sales Call.Queue shared with sales calls
Process module does not allow for specifying a shared queue, so cant use here
Delay for conversation with sales person
Release the unit of Sales resource
Proceed to system-exit logic
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 15 of 51
Model 5-1: Simple Call Center
System Exit
All calls of all types come here when finished
Release module release the unit of Trunk Line
resource seized upstream
Assign module decrement Total WIP variable
Record module increment Completed Calls
counter
Dispose of call
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 16 of 51
Model 5-1: Simple Call Center
Arrival-Cutoff Logic
Used to choke off arrival stream at 6pm
Create a single logical entity at time 600 min.
(6pm)
Overkill on making sure just one is created
Assign module to set Variable MaxCalls to 1
Recall use of MaxCalls for Max Arrivals in Create module
for attempted calls
Creative use of such
Also in this Assign module, set
CallsPerArrival to 0
Time Between Arrivals = 999999 min., Max Arrivals = 1
logical (a.k.a. fake)
entities enhances modeling
flexibility, power, detail
Since Create module will always schedule next arrival, and
this makes the size of the next illegal arrival zero
Dispose of this single logical entity
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 17 of 51
Model 5-1: Simple Call Center
Run > Setup
Replication Parameters tab (other tabs as usual)
Base Time Units = Minutes
Replication Length = Infinite (the default)
Terminating Condition field:
TNOW >= 600.0
Arena
clock
Variable
Greater than
or equal to 600
minutes, (6pm)
&&
Logical
and
Total WIP == 0
Variable we
maintained
in model
Equality
test for
zero
Base Time Units
Its 6pm or later
and
there are no calls in the system.
Could have used NR(Trunk Line)
instead of Total WIP
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 18 of 51
Model 5-1: Simple Call Center
Animation
Place three Storage animations
Four Queue animations
Initial Recording Delay, Tech Call Recording Delay, Order
Status Delay
Select proper Identifier in each from pull-down list
Graphic behaves like Queue animations
Three tech-support call product types, sales
Came with four Process modules specifying Seize
Resource animations for three tech-support
types, sales Resources
Multi-unit Resource animations, as in Models 4-3, 4-4
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 19 of 51
Model 5-1: Simple Call Center
Animation (contd.)
Variable animations for WIP at tech calls, sales
For tech calls, Arena variable to animate is
Process Product Type 1 Tech Call.WIP, etc.
pull-down list
For sales calls, must include order-status calls seeking a
real person:
NR(Sales) + NQ(Process Sales Call.Queue)
Plot number of trunk lines busy,
NR(Trunk Line)
Labeling, background boxes as in model logic
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 20 of 51
Model 5-1: Simple Call Center
Results (one replication ... sample of size only one!!)
Trunk-lines-busy plot
734 attempted calls (User Specified section)
Starts, ends at 0 startup, termination logic
Capped at 26 during run
643 completed, other 91 rejected
Sometimes see mixture of sales (green), orderstatus (blue) entities in sales queue
Other usual outputs
Times in system separated out by call type
Queue lengths, times in queue separated out by resource
Resource utilizations normalized to [0, 1] by capacity
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 21 of 51
Model 5-2: Enhanced Call Center
Changes
Incoming calls arrival rate varies over day
Probabilistic model Nonstationary Poisson process
More in Section 12.3
Instead of a constant rate (= 1 / mean interarrival time),
specify a rate function
Arena supports piecewise-constant rate function step functions
Easy to specify, strong theoretical support
Rate-function specification:
Caution its
easy to
generate this
incorrectly ...
see text for
details
Simulation with Arena, 5th ed.
In Arena, rates MUST be
in arrivals per HOUR,
regardless of base time
units or time intervals
Chapter 5 Modeling Detailed Operations
Slide 22 of 51
Model 5-2: Enhanced Call Center
Changes (contd.)
Sales-staff size varies over day
Data in text, Schedule data module, Sales Schedule
Tech-support staff are partially cross-trained,
work complicated schedule:
Will use Arena
Sets concept to
implement this
cross training
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 23 of 51
Model 5-2: Enhanced Call Center
Changes (contd.)
4% of tech-support calls cannot be handled
during the call, need offline back-office research
Original call ends, same original talk-time distribution, gives
up its trunk line, but not counted (yet) as completed
Case sent to back office (outside model boundaries), takes
EXPO (60) minutes to resolve
Offline research may be carried over night, completed on a later day
Answer goes back to same tech-support person who took
original call, with higher priority than incoming calls, but still
might have to queue for this person
This tech-support person requests a trunk line for outgoing
call, higher priority than incoming calls, but still might have
to queue, talks for TRIA (2 ,4 ,9) min., call is now completed
Track number of each product type after research is done
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 24 of 51
Model 5-2: Enhanced Call Center
Data Structure
Resources, Schedules
Resource, Schedule data modules
Trunk Line fixed capacity at 26
Sales on Schedule Sales Schedule
11 individual tech-support people on individual schedules
Caution must fill out each schedule to all 22 half-hour periods,
with leading/trailing 0s if necessary ... use Edit via Dialog or
Spreadsheet, not graphical schedule editor
Ignore option to avoid shifting back schedule over multiple days
Include costing data for people in Resource data module
Define nonstationary arrival-rate function in Schedule
module Arrival Schedule
Enter trailing 0s in Edit via Dialog or Spreadsheet, not graphical
schedule editor
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 25 of 51
Model 5-2: Enhanced Call Center
Data Structure (contd.)
Sets collect same-type items together
Set, Advanced Set data modules (Basic, Advanced Process
panels, resp.)
Resource set for each tech-support product type
Refer to items in set by original name, or index (subscript) in set
Members are those tech-support resources qualified
Individual resources already defined Resource data module
Overlapping membership some resources in multiple sets
Sets are ordered here, put most versatile tech-support people at
bottom, to save them for other calls ... Preferred Order in Seize
Will Seize from a set in model
Counter one set for each hour
Count number of rejected calls in each hour
Individual counters already defined Statistic data module
Use results later to decide when to increase staffing
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 26 of 51
Model 5-2: Enhanced Call Center
Modifying the Model
Call-arrivals, termination, Run > Setup
Create module
Delete the entire arrival-cutoff section from Model 5-1
Arrival Schedule cuts off arrivals at 6pm, via 0 rate
Delete Total WIP variable used to terminate Model 5-1
Type = Schedule, Schedule Name = Arrival Schedule
Use built-in NR(Trunk Line) instead in Terminating Condition
Delete Assign modules used to manage Total WIP
Record module for rejected calls
Index into Counter Set Rejected Calls with index
AINT((TNOW/60) + 1)
which is 1 for first hour, 2 for second hour, etc. (AINT truncates
decimals toward zero)
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 27 of 51
Model 5-2: Enhanced Call Center
Modifying the Model (contd.)
Tech-support calls
Same through Determine Product Type Decide
Add Assign modules for each product type thereafter
Entity Type to distinguish product type in reports
Entity Picture to distinguish product type in animation
Attribute Tech Call Type (1, 2, or 3 by product type) for routing
Process modules, Resources subdialogs
Type = Set
Set Name = Product 1, etc.
Selection Rule = Preferred Order, to select earlier entries in set first
Recall we put more versatile tech-support people lower in the set list
Save Attribute = Tech Agent Index
Entity attribute, carried along, in case of back-office research to send back to this
same tech-support person for return call
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 28 of 51
Model 5-2: Enhanced Call Center
Modifying the Model (contd.)
Back office, returned tech-support calls all new
Entry via True branch (4%) in Decide module
Backoffice Research and Return Call?
Release this calls trunk line going offline now
Delay (with storage) for EXPO (60) back-office research
Increment Tech Return WIP(Tech Call Type)
1-dim. Variable array defined in Variable data module
Tech Call Type is 1, 2, or 3, assigned in earlier Assign module
Decide module Product Type? based on Entity Type
Seize the same tech-support person higher priority
Then seize a trunk line (higher priority), make return call
Then release this trunk line, tech-support person
Decrement Tech Return WIP(Tech Call Type)
Send entity to final Record, after trunk-line release there
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 29 of 51
Model 5-2: Enhanced Call Center
Modifying the Model (contd.)
Statistic data module
Ten Counter-type statistics, discussed earlier
Four Time-Persistent statistics to track expressions
Backoffice Research WIP to track total number of cases in
research, via NSTO(Backoffice Research Storage)
Tech 1 Total Online WIP Stat, etc., to track number of that
product type in back office via Expression Tech 1 Total Online
WIP, etc., defined in Expression data module as
Process Product Type 1 Tech Call.WIP + Tech Return WIP(1), etc.
No changes needed in sales-calls or order-statuscalls section of Model 5-1
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 30 of 51
Model 5-2: Enhanced Call Center
Modifying the Model (contd.)
Animation
Delete Tech 1, Tech 2, and Tech 3 resource animations
Change variables in three tech-support WIP displays to
track total number of tech-support calls of that type present
New back-office storage animation, variable animation for
number present
A new queue for each tech-support product type for return
calls waiting for service
Added a resource animation (from a .plb library) for each
individual tech-support person
Grouped by product type, colors for capabilities
Results
Most rejected calls in hours 5-8 ... increase staff then ... ?
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 31 of 51
Model 5-3: Overall Call-Center Stats
Setup
Develop overall operational-cost measure
Two cost categories staffing/resource, and poor service
Develop overall measure of service, % of calls
rejected
Add options for increased staffing, improvement
Make 5 replications, focus on weekly costs
IID replications, so will not carry over back-office research
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 32 of 51
Model 5-3: Overall Call-Center Stats
Staffing/Resource Costs
Resource data module hourly costs for people
$20/hr. for each sales staffer
$18/hr. $20/hr. for each tech-support, depending on skill
These salary costs paid when on duty, busy or idle
Summing, get $12,820/week (details in text)
View all this existing staff as fixed
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 33 of 51
Model 5-3: Overall Call-Center Stats
Staffing/Resource Costs (contd.)
Increase sales, tech-support staff noon-4pm
Variable New Sales = number of new sales staff
$17/hr., 4 hrs./day, 5 days/week, so $340/week for each addl. staff
Schedule data module to add capacity edit via dialog or
spreadsheet, not graphical editor
Resource (Sales) already exists in Resource data module
Variables New Tech 1, etc., and New Tech All for
number of new tech-support people qualified as named
$16/hr. for each one-product staff, $18/hr. for each all-product staff
$320/week for each single-product staff, $360/week for each all-product staff
New entries in Resource data module
Larry, Moe, Curly, Hermann for 1, 2, 3, All, resp.
Schedule data module to add capacity dialog or spreadsheet edit
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 34 of 51
Model 5-3: Overall Call-Center Stats
Staffing/Resource Costs (contd.)
Maybe increase number of trunk lines beyond 26
$98/week flat fee for each trunk line
Define Expression New Res Cost for all resource
costs:
New Sales*340
+ (New Tech 1 + New Tech 2 + New Tech 3)*320
+ New Tech All*360
+ 98*MR(Trunk Line)
This does not depend on simulation results, only on setup
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 35 of 51
Model 5-3: Overall Call-Center Stats
Customer-Dissatisfaction Costs
Incur cost for caller wait on hold, past a threshold
3 min. for tech, 1 min. for sales, 2 min. for order-status
Beyond threshold, incur per-min. costs of
$0.368 for tech, $0.818 for sales, $0.346 for order-status
In practice, such costs are difficult to estimate
Three new Assign modules (orange backing) accumulate
excess (beyond threshold) wait times on hold
Tech support (other two are similar): Variable
Excess Tech Wait Time increased by
MAX(ENTITY.WAITTIME - 3, 0)
ENTITY.WAITTIME is built-in Arena attribute holding all wait times (including in
queues) so far ... luckily, there were none before the preceding Process module
At end, multiply excess wait times by per-min. costs,
multiplied by 5 (to put on a weekly basis)
5 $0.368 = $1.84 for tech, 5 $0.818 = $4.09 for sales,
5 $0.346 = $1.73 for order-status
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 36 of 51
Model 5-3: Overall Call-Center Stats
Overall Output Performance Measures
Statistic data module, Total Cost entry
Type = Output, computed only at end of replication
New Res Cost
+ Excess Sales Wait Time * 4.09
+ Excess Status Wait Time * 1.73
+ Excess Tech Wait Time
* 1.84
+ 12820
Statistic data module, Percent Rejected entry
Counter Total Rejected Calls accumulated in new
Record module in call-arrival area (orange backing)
Already accumulating hour by hour, but this is total over the day
Type = Output
100 * NC(Total Rejected Calls) / NC(Attempted Calls)
NC is Arena function that returns the value of that counter
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 37 of 51
Model 5-3: Overall Call-Center Stats
Replication Conditions
Run > Setup > Replication Parameters,
Initialize Between Replications
Statistics? System? Details in text
Default is both only way to get truly IID replications
Destroys overnight tech-support research jobs, but to do otherwise
would complicate model so accept
Run > Setup > Project Parameters
Turned off all but Costing Statistics Collection, for speed
Costing required to get ENTITY.WAITTIME
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 38 of 51
Model 5-3: Overall Call-Center Stats
Results
Results from five replications
Base Case no additional staff, still 26 trunk lines
Total Cost = $22,500.07 Average over 5 replications
Conf. int. half-widths in output
Percent Rejected = 12.9%
Add 3 of each of five staff types, 3 more trunk lines
Total Cost = $22,668.69 Is this better?
Percent Rejected = 1.6%
Use in Chapt. 6 for statistically valid experiments
Statistical precision
Compare several alternatives, select best
Search for configuration that minimizes cost, subject to
upper limit on percent rejected
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 39 of 51
Model 5-4: (s, S) Inventory Simulation
Setup
Different kind of model not queueing
Use Blocks and Elements panels exclusively
SIMAN simulation language
Mostly just to demonstrate this capability
Could be done with higher-level panels weve been using
Company carries a single discrete item (widgets)
in inventory
I(t) = inventory level (an integer) at time t days
past the beginning of the simulation; I(0) = 60
Run simulation for 120 round-the-clock days
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 40 of 51
Model 5-4: (s, S) Inventory Simulation
Customer Demands Against Inventory
Customer interarrival times ~ EXPO (0.1) day
(round the clock)
Demand size is discrete random variable
First arrival not at time 0 but after an interarrival time past 0
1, 2, 3, 4 with respective probabilities
0.167, 0.333, 0.333, 0.167
If enough items are physically on hand in
inventory to satisfy a demand, customer gets
demand and leaves
If demand > number of items on hand, customer
gets whatever is there and the rest of the demand
is backlogged (I(t) becomes negative)
If I(t) was already negative, it just goes more negative
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 41 of 51
Model 5-4: (s, S) Inventory Simulation
Inventory Review, Replenishment
Take inventory just past midnight each day
So at exactly times 0, 1, 2, ..., 119 (not 120 ... see below)
Two managerially-chosen constant integers s = 20 and
S = 40 (must have s < S if we change these values)
If I(t) s, do nothing until next inventory evaluation exactly
24 hours later
If I(t) < s, order S I(t) items from supplier (order up to S)
Order does not arrive instantly from supplier, but after a
delivery lag (a.k.a. lead time) ~ UNIF(0.5, 1.0) day, so
sometime during the last half of the day of ordering
In the meantime, inventory level could fall further from additional
demands, so inventory level will not necessarily pop up to S when
the order arrives, but to something less than S
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 42 of 51
Model 5-4: (s, S) Inventory Simulation
Cost Structure
Average ordering cost per day
Average holding cost per day
When an order is placed, incur a fixed cost of $32, plus an
incremental cost of $3 per item ordered
If no order is placed at the beginning of a day, theres no
ordering cost, not even the fixed cost
At end of simulation, divide total of ordering costs by 120
Whenever I(t) > 0, incur $1 per day per item on hand
Average holding cost =
Average shortage cost per day
Whenever I(t) < 0, incur $5 per day per item in backlog
Average shortage cost =
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 43 of 51
Model 5-4: (s, S) Inventory Simulation
Cost Structure (contd.)
During periods when I(t) = 0 theres neither
holding nor shortage cost incurred
Overall performance measure
= Average total cost per day
= sum of average ordering, holding, and
shortage costs per day
Dont evaluate inventory at time 120
We might order and incur an ordering cost then, but order
will never arrive
Well fudge this, but an Exercise asks you to do it right
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 44 of 51
Model 5-4: (s, S) Inventory Simulation
Data Structure
Use Blocks, Elements panels exclusively
Even for Variables, Expressions, Attributes, Entities,
statistics collection, and run control
Variables Element (initialized, or default to 0
initially)
Inventory Level = I(t), changes during run, initialized
to 60
Little s = s = 20
Big S = S = 40
Total Ordering Cost accumulator
Setup Cost = 32
Incremental Cost = 3
Unit Holding Cost = 1
Unit Shortage Cost = 5
Days to Run = 119.9999 (The Fudge)
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 45 of 51
Model 5-4: (s, S) Inventory Simulation
Data Structure (contd.)
Expressions element
Define Interdemand Time, Demand Size,
Evaluation Interval, Delivery Lag
Attributes, Entities elements
Just to define these objects
Project, Replicate elements
Cumulative probabilities in DISC function for Demand Size
Similar to Run > Setup
DStats element
Request accumulation of integrals for total holding,
shortage costs
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 46 of 51
Model 5-4: (s, S) Inventory Simulation
Data Structure (contd.)
Outputs element
Two entries, both of Data type Output so that theyre
executed only at end of run, and reported
Avg Ordering Cost computed
Avg Total Cost added up
OVALUE returns most recent value
DAVG returns time-persistent average
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 47 of 51
Model 5-4: (s, S) Inventory Simulation
Logic for Customer Demands
Create block for arrival
Assign block to decrement Inventory Level by
a Demand Size
Entity Type is Customer
Uses Interdemand Time Expression
First Creation after an Interdemand Time
Demand Size was defined as an Expression
Backlogging naturally happens
Dispose block for customer exit
If backlogged, is accounted for automatically in the (simple)
definition and tracking of Inventory Level
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 48 of 51
Model 5-4: (s, S) Inventory Simulation
Inventory Evaluation
Create block for Inventory Evaluator entities
First Creation at time 0 evaluate inventory at start of run
Interval is Evaluation Interval, defined as Expression
Branch block somewhat like Decide module
To determine whether to place an order now
Add branches, each evaluated as true or false
Clone of incoming entity sent out along each true branch,
but at most Max Number of Branches will be sent out
So we set Max Number of Branches to 1 (default is )
First branch of type If if true we want to order
Second branch of type Else if true it means that the
first branch was false so we dont order just Dispose
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 49 of 51
Model 5-4: (s, S) Inventory Simulation
Placing an Order
If we exit the Branch block via the top If branch,
it must be that I(t) < s so we want to order up to S
Assign block
Define Order Quantity Attribute
Could have made this a Variable in this model with these
parameters, but its more general for it to be an Attribute ... why?
Increment Total Ordering Cost Variable
Delay block for Delivery Lag
Assign block to increment Inventory Level by
the Order Quantity
Dispose block
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 50 of 51
Model 5-4: (s, S) Inventory Simulation
Animation
Plot separate in the black and in the red
curves
If in backlog, red curve will be plotted in negative direction
due to its Expression
Pair of Level (thermometer) animations
Fill Direction for in the red is Down
Simulation with Arena, 5th ed.
Chapter 5 Modeling Detailed Operations
Slide 51 of 51
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more.
Course Hero has millions of course specific materials providing students with the best way to expand
their education.
Below is a small sample set of documents:
Abraham Baldwin Agricultural College - ECON - 102
StatisticalAnalysis ofOutput fromTerminatingSimulationsChapter 6Last revision September 9, 2009Simulation with Arena, 5th ed.Chapter 6 Stat. Output Analysis Terminating SimulationsSlide 1 of 31What Well Do .Time frame of simulationsStrategy fo
Abraham Baldwin Agricultural College - ECON - 102
Random-NumberGenerationProperties of Random NumbersRandom Number, Ri, must be independently drawn from auniform distribution with pdf:U(0,1)1, 0 x 1f ( x) = 0, otherwise2xE ( R ) = xdx =021101=2Figure: pdf forrandom numbersTwo import
Abraham Baldwin Agricultural College - ECON - 102
Random-VariateGenerationPurpose & Overview Develop understanding of generating samplesfrom a specified distribution as input to asimulation model. Illustrate some widely-used techniques forgenerating random variates. Inverse-transform technique C
Abraham Baldwin Agricultural College - ECON - 102
EntityTransferChapter 8Last revision June 9, 2003Simulation with Arena, 3rd ed.Chapter 8 Entity TransferSlide 1 of 25What Well Do .Types of Entity TransfersModel 8-1: Resource-Constrained TransfersModels 8-2, 8-3: TransportersConveyorsModel 8-
Abraham Baldwin Agricultural College - ECON - 102
Chapter 9Input ModelingBanks, Carson, Nelson & NicolDiscrete-Event System SimulationPurpose & OverviewInput models provide the driving force for a simulation model.The quality of the output is no better than the quality of inputs.In this chapter, w
Abraham Baldwin Agricultural College - ECON - 102
QUEUEING SYSTEMSQueueing SystemsEntitiesPopulationServerWaiting Line (Queue)Finite vs.InfiniteOne line vs.Multiple linesOne server vs.multiple serverCharacteristicsInterarrival and Service TimesExponential (M)Deterministic (D)Erlang (E)Ge
Abraham Baldwin Agricultural College - ECON - 102
Structuralmodeling:whatwevedonesofar Logicalaspectsentities,resources,paths,etc.Quantitativemodeling Numerical,distributionalspecifications Likestructuralmodeling,needtoobservesystemsoperation,takedataifpossibleChapter4ModelingBasicOperationsandIn
Abraham Baldwin Agricultural College - ECON - 102
INTRODUCTION TO SIMULATIONWHAT IS SIMULATION? The imitation of the operation of a real-world process orsystem over timeMost widely used tool (along LP) for decision makingUsually on a computer with appropriate softwareAn analysis (descriptive) tool
Abraham Baldwin Agricultural College - ECON - 102
Branch-and-Cut Valid inequality: an inequality satisfied byall feasible solutions Cut: a valid inequality that is not part of thecurrent formulation Violated cut: a cut that is not satisfied bythe solution to the current LP relaxationBranch-and-Cut
Abraham Baldwin Agricultural College - ECON - 102
Branch-and-Cut Valid inequality: an inequality satisfied byall feasible solutions Cut: a valid inequality that is not part of thecurrent formulation Violated cut: a cut that is not satisfied bythe solution to the current LP relaxationBranch-and-Cut
Stanford - CS - 345
CS 345 Data MiningOnline algorithms Search advertisingOnline algorithmsClassic model of algorithmsYou get to see the entire input, then compute some function of it In this context, offline algorithmOnline algorithmYou get to see the input one piece
Stanford - CS - 345
CS 345 Data MiningOnline algorithms Search advertising Online algorithmsClassic model of algorithmsOnline algorithmYou get to see the entire input, then compute some function of it In this context, "offline algorithm" You get to see the input one
Stanford - CS - 345
CS 345 Data MiningOnline algorithms Search advertisingOnline algorithmsClassic model of algorithmsYou get to see the entire input, then compute some function of it In this context, offline algorithmOnline algorithmYou get to see the input one piece
Stanford - CS - 345
CS 345 Data MiningOnline algorithms Search advertising Online algorithmsClassic model of algorithmsOnline algorithmYou get to see the entire input, then compute some function of it In this context, "offline algorithm" You get to see the input one
Stanford - CS - 345
CS 345 Data MiningOnline algorithms Search advertising Online algorithmsClassic model of algorithmsOnline algorithmYou get to see the entire input, then compute some function of it In this context, "offline algorithm" You get to see the input one
Stanford - CS - 345
Association RulesMarket Baskets Frequent Itemsets A-priori Algorithm1The Market-Basket ModelA large set of items, e.g., things sold in a supermarket. A large set of baskets, each of which is a small set of the items, e.g., the things one customer buys
Stanford - CS - 345
"Association Rules"Market Baskets Frequent Itemsets Apriori Algorithm1The MarketBasket Modelx A large set of items, e.g., things sold in a supermarket. x A large set of baskets, each of which is a small set of the items, e.g., the things one customer
Stanford - CS - 345
Association RulesMarket Baskets Frequent Itemsets A-priori Algorithm1The Market-Basket ModelA large set of items, e.g., things sold in a supermarket. A large set of baskets, each of which is a small set of the items, e.g., the things one customer buys
Stanford - CS - 345
Association RulesMarket Baskets Frequent Itemsets Apriori Algorithm1The MarketBasket Modelx A large set of items, e.g., things sold in a supermarket. x A large set of baskets, each of which is a small set of the items, e.g., the things one customer bu
Stanford - CS - 345
Association RulesMarket Baskets Frequent Itemsets A-Priori Algorithm1The Market-Basket ModelA large set of items, e.g., things sold in a supermarket. A large set of baskets, each of which is a small set of the items, e.g., the things one customer buys
Stanford - CS - 345
Association RulesMarket Baskets Frequent Itemsets APriori Algorithm1The MarketBasket Modelx A large set of items, e.g., things sold in a supermarket. x A large set of baskets, each of which is a small set of the items, e.g., the things one customer bu
Stanford - CS - 345
Improvements to A-PrioriPark-Chen-Yu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results1PCY AlgorithmHash-based improvement to A-Priori. During Pass 1 of A-priori, most memory is idle. Use that memory to keep counts of buckets in
Stanford - CS - 345
Improvements to APrioriParkChenYu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results1PCY Algorithmx Hashbased improvement to APriori. x During Pass 1 of Apriori, most memory is idle. x Use that memory to keep counts of buckets in
Stanford - CS - 345
Improvements to APrioriParkChenYu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results1PCY Algorithmx Hashbased improvement to APriori. x During Pass 1 of Apriori, most memory is idle. x Use that memory to keep counts of buckets in
Stanford - CS - 345
Improvements to APrioriBloom Filters ParkChenYu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results1Aside: HashBased Filteringx Simple problem: I have a set S of one billion strings of length 10. x I want to scan a larger file F o
Stanford - CS - 345
SQL/MRPeter Pawlowski Member of Technical Staff January 16, 2009ASTER BACKGROUND2Our Founders3 PhD students from Stanford C.S. Cool ideas. . but no funding, no product, no clients!OK, they had $ 10,000.3Our Product: nCluster A massively scalable
Stanford - CS - 345
Clustering AlgorithmsApplications Hierarchical Clustering k Means Algorithms CURE Algorithm1The Problem of Clusteringx Given a set of points, with a notion of distance between points, group the points into some number of clusters, so that members of a
Stanford - CS - 345
Clustering PreliminariesApplications Euclidean/Non-Euclidean Spaces Distance Measures1The Problem of ClusteringGiven a set of points, with a notion of distance between points, group the points into some number of clusters, so that members of a cluster
Stanford - CS - 345
Clustering PreliminariesApplications Euclidean/NonEuclidean Spaces Distance Measures1The Problem of Clusteringx Given a set of points, with a notion of distance between points, group the points into some number of clusters, so that members of a cluste
Stanford - CS - 345
Clustering PreliminariesApplications Euclidean/Non-Euclidean Spaces Distance Measures1The Problem of ClusteringGiven a set of points, with a notion of distance between points, group the points into some number of clusters, so that members of a cluster
Stanford - CS - 345
Clustering PreliminariesApplications Euclidean/NonEuclidean Spaces Distance Measures1The Problem of Clusteringx Given a set of points, with a notion of distance between points, group the points into some number of clusters, so that members of a cluste
Stanford - CS - 345
Clustering AlgorithmsHierarchical Clustering k -Means Algorithms CURE Algorithm1Methods of ClusteringHierarchical (Agglomerative):Initially, each point in cluster by itself. Repeatedly combine the two "nearest" clusters into one.Point Assignment:Ma
Stanford - CS - 345
Clustering AlgorithmsHierarchical Clustering k Means Algorithms CURE Algorithm1Methods of Clusteringx Hierarchical (Agglomerative): Initially, each point in cluster by itself. Repeatedly combine the two "nearest" clusters into one. Maintain a set of
Stanford - CS - 345
Clustering AlgorithmsHierarchical Clustering k -Means Algorithms CURE Algorithm1Methods of ClusteringHierarchical (Agglomerative):Initially, each point in cluster by itself. Repeatedly combine the two nearest clusters into one.Point Assignment:Main
Stanford - CS - 345
Clustering AlgorithmsHierarchical Clustering k Means Algorithms CURE Algorithm1Methods of Clusteringx Hierarchical (Agglomerative): Initially, each point in cluster by itself. Repeatedly combine the two "nearest" clusters into one. Maintain a set of
Stanford - CS - 345
CS345 Data Mining Crawling the Web Web Crawling BasicsStart with a "seed set" of tovisit urlsget next url get page extract urlsto visit urlsWebvisited urlsweb pagesCrawling Issues Load on web servers Insufficient resources to crawl entire web
Stanford - CS - 345
Problem 1:a) True Consider visiting the rows in the permuted order. The first time you see a one in any of the two columns, the column C1 \/ C2 will also have a one. Consequently, the first (minimum) row number which corresponds to the min hash value for
Stanford - CS - 345
Locality-Sensitive HashingBasic Technique Hamming-LSH Applications1Finding Similar PairsSuppose we have in main memory data representing a large number of objects.May be the objects themselves (e.g., summaries of faces). May be signatures as in minha
Stanford - CS - 345
LocalitySensitive HashingBasic Technique HammingLSH Applications1Finding Similar Pairsx Suppose we have in main memory data representing a large number of objects. May be the objects themselves (e.g., summaries of faces). May be signatures as in minh
Stanford - CS - 345
Finding Similar PairsDivideComputeMerge LocalitySensitive Hashing Applications1Finding Similar Pairsx Suppose we have in main memory data representing a large number of objects. May be the objects themselves (e.g., summaries of faces). May be signatu
Stanford - CS - 345
Mining Data StreamsThe Stream Model Sliding Windows Counting 1s1The Stream ModelData enters at a rapid rate from one or more input ports. The system cannot store the entire stream. How do you make critical calculations about the stream using a limited
Stanford - CS - 345
Mining Data StreamsThe Stream Model Sliding Windows Counting 1's1The Stream Modelx Data enters at a rapid rate from one or more input ports. x The system cannot store the entire stream. x How do you make critical calculations about the stream using a
Stanford - CS - 345
Mining Data StreamsThe Stream Model Sliding Windows Counting 1's1Data Management Versus Stream ManagementIn a DBMS, input is under the control of the programmer.SQL INSERT commands or bulk loaders.Stream Management is important when the input rate i
Stanford - CS - 345
Mining Data StreamsThe Stream Model Sliding Windows Counting 1's1Data Management Versus Stream Managementx In a DBMS, input is under the control of the programmer. x Stream Management is important when the input rate is controlled externally. Example
Stanford - CS - 345
More Stream-MiningCounting How Many Elements Computing Moments1Counting Distinct ElementsProblem: a data stream consists of elements chosen from a set of size n. Maintain a count of the number of distinct elements seen so far. Obvious approach: mainta
Stanford - CS - 345
More StreamMiningCounting How Many Elements Computing "Moments"1Counting Distinct Elementsx Problem: a data stream consists of elements chosen from a set of size n. Maintain a count of the number of distinct elements seen so far. x Obvious approach: m
Stanford - CS - 345
More Stream-MiningCounting Distinct Elements Computing "Moments" Frequent Itemsets Elephants and Troops Exponentially Decaying Windows1Counting Distinct ElementsProblem: a data stream consists of elements chosen from a set of size n. Maintain a count
Stanford - CS - 345
More StreamMiningCounting Distinct Elements Computing "Moments" Frequent Itemsets Elephants and Troops Exponentially Decaying Windows1Counting Distinct Elementsx Problem: a data stream consists of elements chosen from a set of size n. Maintain a count
Stanford - CS - 345
Still More Stream-MiningFrequent Itemsets Elephants and Troops Exponentially Decaying Windows1Counting ItemsProblem: given a stream, which items appear more than s times in the window? Possible solution: think of the stream of baskets as one binary st
Stanford - CS - 345
Still More StreamMiningFrequent Itemsets Elephants and Troops Exponentially Decaying Windows1Counting Itemsx Problem: given a stream, which items appear more than s times in the window? x Possible solution: think of the stream of baskets as one binary
Stanford - CS - 345
Stream ClusteringExtension of DGIM to More Complex Problems1Clustering a StreamAssume points enter in a stream. Maintain a sliding window of points. Queries ask for clusters of points within some suffix of the window. Important issue: where are the cl
Stanford - CS - 345
Stream ClusteringExtension of DGIM to More Complex Problems1Clustering a Streamx Assume points enter in a stream. x Maintain a sliding window of points. x Queries ask for clusters of points within some suffix of the window. x Important issue: where ar
Stanford - CS - 345
CS345 Data MiningIntroductions What Is It? Cultures of Data Mining1Course Staffx Instructors: Anand Rajaraman Jeff Ullman Robbie Yanx TA:2Requirementsx Homework (Gradiance and other) 20% x Project 40% x Final Exam 40% Gradiance class code BB8F69
Stanford - CS - 345
CS345 - Data MiningIntroductions What Is It? Cultures of Data Mining1Course StaffInstructors:Anand Rajaraman Jeff UllmanTA:Jeff Klingner2RequirementsHomework (Gradiance and other) 20%Gradiance class code DD984360Project 40% Final Exam 40%3Pr
Stanford - CS - 345
CS345 Data MiningIntroductions What Is It? Cultures of Data Mining1Course Staffx Instructors: Anand Rajaraman Jeff Ullman Jeff Klingnerx TA:2Requirementsx Homework (Gradiance and other) 20% x Project 40% x Final Exam 40% Gradiance class code DD9
Stanford - CS - 345
CS345 - Data MiningCourse Introduction Varieties of Data Mining Bonferroni's Principle1Course StaffInstructors:Anand Rajaraman Jeff UllmanTA:Babak Pahlavan2RequirementsHomework (Gradiance and other) 20%Gradiance class code B0E9AA66 Note URL for
Stanford - CS - 345
CS345A: Data Mining on the WebCourse Introduction Issues in Data Mining Bonferroni's Principle1Course Staffx Instructors: Anand Rajaraman Jeff Ullman Babak Pahlavanx TA:2Requirementsx Homework (Gradiance and other) 20% Gradiance class code B0E9A
Stanford - CS - 345
CS345A: Data Mining on the WebCourse Introduction Issues in Data Mining Bonferroni's Principle1Course Staffx Instructors: Anand Rajaraman Jeff Ullmanx Reach us as cs345awin0809staff @ lists.stanford.edu. x More info on www.stanford.edu/class/cs345a.
Stanford - CS - 345
Generalizing MapReduceThe Computational Model MapReduceLike Algorithms Computing Joins1Overviewx There is a new computing environment available: x Mapreduce allows us to exploit this environment easily. x But not everything is mapreduce. x What else c
Stanford - CS - 345
CS 345A Data MiningMapReduceSingle-node architectureCPU Machine Learning, Statistics Memory "Classical" Data Mining DiskCommodity ClustersWeb data sets can be very largeTens to hundreds of terabytesCannot mine on a single server (why?) Standard arc
Stanford - CS - 345
CS 345A Data MiningMapReduce Singlenode architectureCPU Machine Learning, Statistics Memory "Classical" Data Mining DiskCommodity ClustersWeb data sets can be very large Cannot mine on a single server (why?) Standard architecture emerging: Te