1 / 88

Detailed Modeling and Terminating Statistical Analysis

Detailed Modeling and Terminating Statistical Analysis. Chapter 5. What We’ll Do . Explore lower-level modeling constructs Model 5-1: A generic call-center system Nonstationary arrival process Balking, three-way decisions, sets, variables, expressions, submodels, and costing Debugging

dolf
Download Presentation

Detailed Modeling and Terminating Statistical Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Detailed Modeling and Terminating Statistical Analysis Chapter 5 Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  2. What We’ll Do ... • Explore lower-level modeling constructs • Model 5-1: A generic call-center system • Nonstationary arrival process • Balking, three-way decisions, sets, variables, expressions, submodels, and costing • Debugging • Model 5-2: Animating the call center model • Plots, global pictures, and storages • Model 5-3: The model with overall performance measures • Run conditions, model size and speed, overall performance measures Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  3. What We’ll Do ... (cont’d.) • Statistical analysis of simulation output (terminating systems) • Time frame of simulations • Strategy for data collection and analysis • Confidence intervals • Comparing two alternatives • Comparing many alternatives via the Arena Process Analyzer (PAN) • Searching for and optimal alternative with OptQuest Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  4. Generic Call Center(Model 5-1) • Single telephone number, 26 trunk lines • If all 26 lines busy, caller gets busy signal and goes away • Answered call gets recording asking … • Technical support? (76% of callers choose this) • Sales information? (16%) • Order-status inquiry? (8%) • Time for caller to choose ~ UNIF (0.1, 0.6) • All times are in minutes in this model Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  5. Technical Support Calls • Get second recording asking … • Product type 1? (25% of tech support callers choose this) • Product type 2? (34%) • Product type 3? (41%) • Recording and choosing takes UNIF(0.1, 0.5) • If a qualified tech-support person is available for chosen product, call routed for immediate service • If not, call placed in (electronic) queue, subjected to annoying rock music • All tech support conversations ~ TRIA (3, 6, 18) • When call done, customer exits system Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  6. Technical Support Calls (cont’d.) • 4% of tech support calls need further assistance after completion of their call • Questions forwarded to another tech group that prepares a response; time to prepare this response ~ EXPO (60) • Response sent back to the same tech-support person who took the original call • This person calls the customer back and talks, which lasts TRIA (2, 4, 9) • These calls require one of the 26 trunk lines and take priority over incoming calls • If return call not completed on same day, it’s carried over to the next day Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  7. Sales Calls • Call automatically routed to sales staff • Sales staff is separate from tech-support staff • If a sales-staff person is available, call gets immediate service • If not, call placed in (electronic) queue, treated to soothing new-age space music • All sales conversations ~ TRIA (4, 15, 45) • When call done, customer exits system Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  8. Order-Status Calls • Automatically handled by phone system — no people • No limit on number handled at a time (but still limited by the 26 trunk lines) • Time for “conversation” ~ TRIA (2, 3, 4) • After call, 15% take option to talk to a real person (the rest exit the system) • These calls are routed to sales staff • Have same priority as incoming sales calls • Conversation durations ~ TRIA (3, 5, 10) • Then exit the system Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  9. Call Arrivals • Calls accepted from 8 AM until 6 PM • Some staff available until 7 PM • Incoming calls shut out after 6 PM • But all calls that entered before 6 PM are answered • Call arrival rate varies substantially over the day • Data on rate (calls per hour) for each half-hour period: Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  10. Staffing • Sales staff: 7 people with staggered schedules • 3 on duty for first 90 minutes (notation: 3@90) • Then 7@90, 6@90, 7@60, 6@120, 7@120, 4@90 • Tech support staff: 11 people variously qualified for the three different product lines • Work eight-hour days plus 30 minutes off for lunch • Some people only qualified on one line • Some people qualified on two or maybe all three lines • Detailed staffing description and schedule ... Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  11. Technical-Support Staff Schedules Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  12. New Modeling Issues • This is a service (not manufacturing) system • But can use same modeling capabilities • Nonstationary arrival process • Arrivals occur one at a time and are independent of one another • Average rate varies over time (would be constant for a stationary Poisson process) • Built into Create module (beware of popular-but-wrong methods … details in book) • Balking • Required because there are only 26 trunk lines • Entity arrives at queue, which is full (capacity is 0 here) • Entity departs from system – count these Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  13. New Modeling Issues (cont’d.) • Three-way decisions • Entity or call can go to one of three places in model based on call type • Similarly, tech-support calls can go to one of three places based on product type • Capability available in Decide module • Sets • Groups of similar objects • Can be referenced by a common set name and index (1, 2, 3, …) into the set • Can also be referenced by original name, independent of set • Technical-support staff requires sets • An object can be a member of more than one set • Sets data module Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  14. New Modeling Issues (cont’d.) • Variables and Expressions • Can be referenced in model by name • Can be one- or two-dimensional arrays, indexed by one or two integers • User-defined Variables • Store some numerical value (not a formula) • Can be initialized in Variable data module • Can be used, reassigned during the simulation run by any entity • User-defined Expressions • A name defined by a mathematical expression • This name can be references anywhere in the model • Can use constants, Variables, Attributes, system state variables, values from distribution – connected via mathematical operations • Can use Expression Builder to help define • Defined in Expression data module (Advanced Process panel) Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  15. New Modeling Issues (cont’d.) • Submodels • Partition simulation model into several smaller submodels • Can link them together, more manageable pieces • Just like a normal model view within a submodel • Submodels can also contain further submodels, etc. – hierarchical structure • Submodels can be externally connected to other modules or submodels • Navigate panel in Project Bar shows submodels, under Top-Level Model • Costing • Automatic time and cost information for entities • Wait, value-added, non-value-added, transfer, other • You must enter cost information – Entity and Resource data modules Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  16. Key Output Performance Measures • Count balks — no. of attempted incoming calls sent away due to all 26 trunk lines being busy • Will not model reneging — customers in queue leaving the system if they get sick of waiting • Total time in system, by customer type • Time waiting for a real person, by customer type • Contact time, by customer type • Number of calls waiting, by customer type • Personnel utilization Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  17. Animation Requirements • No entity movement to animate here • Can still display queues • To see how well staffing matches up with load, craft appropriate plots vs. time • Number of calls balked • Lengths of queues • Number of idle staff • Strategy to improve performance — alter the staffing schedule, see if it produces a better matchup of the plots Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  18. System or Simulation Type • Terminating • Known starting and stopping conditions – part of model • Time frame is known (and finite) • Steady-State • Initial conditions are not always well defined • No defined stopping condition (theoretically infinite) • Interested in system response over the long run • Call-center model • Start at 8 AM and end at 7 PM • Some Technical support calls are held over, but not many – we’ll ignore this aspect (sort of … fixed below) • Treat the system as terminating (sort of … see below) Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  19. Arena Modeling Panels • Basic Process panel • Highest level of modeling • Advanced Process panel • More detailed (and different) modeling capabilities • Advanced Transfer panel • Material-handling, entity-movement capabilities • Blocks, Elements panels • Lowest level of modeling capabilities – the underlying SIMAN simulation language itself • Other panels are created using modules from these panels • Occasionally needed, but not very often Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  20. Building the Model • Defining the Data • Submodel Creation • Divide model in sections or submodels • Increment the Time Period • Create Arrivals and Direct to Service • Technical Support Calls • Technical Support Returned Calls • Sales Calls • Order-Status calls • We’ll discuss each of these in turn … Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  21. Simulation Replication Data • Project replication parameters • Run/Setup dialog – Replication Parameters tab • 10 Replications of 11 hours each • Four options for Initialization Between Replications: • Initialize system (yes), initialize statistics (yes) • 10 independent and identical replications – no calls carried over • Reports for each day separately • Initialize system (yes), initialize statistics (no) • 10 independent and identical replications – no calls carried over • Cumulative summary reports (day 1, days 1-2, days 1-3, …, days 1-10) • Initialize system (no), initialize statistics (yes): Selected • 10 continuous days – calls carried over • Reports are by replication (day) • Initialize system (no), initialize statistics (no) • 10 continuous days – calls carried over • Cumulative summary reports Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  22. Schedule Data • Schedules • Enter into Schedule data module • 13 schedules required • One for each of the 11 technical-support people • One for the sales staff overall • The arrival process (Type = Arrival, not Capacity) • Use Graphical schedule editor (initially) • Use Edit via Dialog (or Edit via Spreadsheet) if you need trailing zeros in the capacity to fill out the cycling time window • We need this in this model due to not Initializing System between replications … see book for details Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  23. Resource Data • Define resources • Use Resource data module • 13 resources • Sales staff • 11 technical support staff • Trunk Line (single resource with 26 units) • Enter Schedule Name for all but Trunk Line • For resources on a Schedule, use Ignore option for Schedule Rule to ensure correct cross-day modeling … details in book • Add hourly wage under costing data Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  24. Sets Data • Use Set data module (Basic Process panel) • Develop three Resource sets for technical support staff • Product 1 • Charity, Noah, Molly, Anna, Sammy • Product 2 • Tierney, Sean, Emma, Anna, Sammy • Product 3 • Shelley, Jenny, Christie, Molly, Anna, Sammy • Note that Anna and Sammy are in all three sets • Consistently listed the more versatile staff at the end of the list in each set … “save” them … discussed later Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  25. Sets Data (cont’d.) • Develop two Tally sets • Tech Calls • Product 1 Call, Product 2 Call, Product 3 Call • Returned Time • Return 1 Call, Return 2 Call, Return 3 Call • Sets used to collect statistics by product type • Develop a Counter set • Keep track of number of balks per half-hour period • 22 counters – one for each half-hour period • First defined 22 counters in Statistic data module (Advanced Process panel) Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  26. Variables and Expressions Data • Variables • Use Variable data module to define thee variables • Period (the current time period) • Busy Per Period (busy signals in current time period) • Per Period Balk (total balks for last completed time period) • Note – explicit use of Variables module is required only if you want a Variable to have a non-zero initial value • Expressions • Use Expression data module to define three expressions • Returned Tech Time, for duration of returned tech-support calls: TRIA(2, 4, 9) • Tech Time, for duration of tech-support calls : TRIA(3, 6, 18) • Available 1, Available 2, and Available 3 • Sum of currently available, but idle, resources by product type, for staffing plots • Use Expression Builder … details in book, model Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  27. Submodel Creation • Object/Submodel/Add Submodel menu option to create a submodel … we’ll use six submodels • Define (right-click, then Properties) • Name • Number of entry, exit points (could be 0 if there’s no flow interaction) • Move between submodels: Navigate panel, Named Views, or mouse • Double-click on a submodel to open it • When in a submodel, right-click in an empty place, then Close Submodel, to go up Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  28. Time Period Counter Submodel • Increments the time period counter • No entry or exit points – interacts via Variables, not flow • Create Counter Entity – Create module • Time Between Arrivals – 660 minutes (constant) • Assign Period – Assign module • Initialize Period variable value to zero Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  29. Time Period Counter Submodel (cont’d.) • Assign Variables – Assign module • Increment Period variable for the next half-hour period • Assign Per Period Balk to Busy Per Period variable value (number of calls balked during previous half hour) • Set Busy Per Period variable to zero to start balk counting during the half hour starting now • Check Period – Decide module • 2-Way by Condition • Determine if there are still more periods in this day (i.e., if Period < 22) • Yes: Delay for a half hour – Delay module, then loop back • No: Dispose of entity – Dispose module Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  30. Create and Direct Arrivals Submodel • Creates arrivals, checks for available trunk line, and directs to appropriate type of service • No entry points • Three exit points • Tech Call, Sales Call, Order Status Call Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  31. Submodel Logic • Create arriving calls • If a trunk line is available – seize one • Assign Arrival Time attribute (for use downstream) • Delay to listen to recording • Determine call type • Direct call and assign entity type • Else (all trunk lines are busy) • Count balked call • Increment Busy Per Period counter • Dispose of call Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  32. Develop Submodel • Create arriving calls – Create module • Time Between Arrivals • Type: Schedule • Schedule Name: Arrival Schedule • Was defined when we defined the data for the model • Check for available trunk line • Queue/Seize module combination (Blocks panel) • Set queue capacity to zero • If trunk line available, resource seized in following Seize module • If no truck line available, entity will automatically balk Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  33. Develop Submodel (cont’d.) • Assign arrival time – Assign module • Use Arena variable TNOW = current simulation clock • Delay for Recording – Delay module • Used Delay module from Blocks panel • Be careful of units – no choice here (uses Base Time Units) • Direct call – Decide module • Use N-way by Chance option • Enter probabilities as percents (0 – 100) • Assign call type – Assign module • Assign entity type to call type • Three modules Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  34. Develop Submodel (cont’d.) • Balking entities • Count balked call – Record module • Record into counter set Busy Lines • Set index is the variable Period • Increment Busy Per Period variable – Assign module • Dispose of balked call call – Dispose module Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  35. Technical Support Calls Submodel • Logic for servicing technical support calls • One entry point • One exit point – follow-up calls Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  36. Submodel Logic • Delay to listen to recording – Delay module • UNIF(0.1, 0.5) minutes • Determine product type – Decide module • N-way by Chance • Seize technical support person • Seize module – Advanced Process panel • Request from appropriate set for product type • Preferred order within the set • Save more versatile employees for other things • Save set index (particular tech-support person) in attribute Tech Agent Index • In case returned tech call is needed – get same tech-support person to call customer back Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  37. Submodel Logic (cont’d.) • Save product type and call start time – Assign module • Save type (1, 2, or 3) in attribute Product Type • Assign value from TNOW to attribute Call Start • Delay for call – Delay module • Use value from expression Tech Time • Release tech-support person and trunk line • Release module – Advanced Process panel • Use set index in attribute Tech Agent Index to release the particular tech-support person assigned from set • Release the seized unit of Trunk Line resource Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  38. Submodel Logic (cont’d.) • Record call and line time – Record module • Time Interval type • Tally set Tech Calls • Set index Product Type • Records only the time spent during the tech-support conversation (necessary?) • Record tech line time – Record module • Time Interval type • Tally Tech Support Line Time (not a Tally set) • Use Arrival Time attribute set when call first arrived, so this records the total time in the system so far • Direct to exit point Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  39. Returned Tech Calls Submodel • Logic for returned tech calls • One entry point, no exit points Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  40. Submodel Logic • Check for returned call – Decide module • If no returned call is needed • Dispose of entity • If a returned call is needed • Entity Type set to Returned Call – Assign module • Delay for response time – Delay module • Direct by product type • N-way by Condition based on attribute Product Type • Seize tech-support person and trunk line • Seize module: Seize specific member of appropriate Resource set • Use Set Index Tech Agent Index attribute • Seize Trunk Line Note use of “==” to check for equality. Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  41. Submodel Logic (cont’d.) • Delay for call time – Delay module • Expression Returned Tech Time • Release tech person and trunk line – Release module • Record returned time – Record module • Use beginning-time attribute Arrival Time, defined when call first arrived, so this records total time in system • Use Tally Set Return Time indexed by Product Type • Dispose of entity – Dispose module Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  42. Sales Calls Submodel • Logic for sales calls • One entry point, no exit points • Uses a Shared Queue • Single queue • Shared by two or more seize activities • In this case, the “real” incoming sales calls, as well as those order-status calls requiring more than just the automated response Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  43. Submodel Logic • Seize sales person – Seize module • Shared queue declared in Queue data module • Delay for call – Delay module • Release sales person and Trunk Line – Release module • Record call time – Record module • Records elapsed time from call’s original arrival until now • Dispose of entity - Dispose module Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  44. Order-Status Calls Submodel • Logic for order-status calls • One entry point, no exit point • Shared queue used when sales person required Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  45. Submodel Logic • Delay for call – Delay module • Decide if Sales person required – Decide module • If sales person is required • Seize sales person – Seize module, shared queue • Follow-up delay – Delay module • Release sales person – Release module • Record call – Record module • Elapsed time from call’s arrival to system up to now • Release trunk line – Release Module • Dispose of entity – Dispose module Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  46. Finding and Fixing Model Errors • Arena picks up “simple” errors in Check phase, and leads you to them via Find and Edit buttons in Errors/Warnings windows • Undefined variables, attributes, resources • Unconnected modules • Duplicate module names • Typos • Other kinds of errors are more complex, can’t be detected without trying to run — options on Run Interaction toolbar or on Run menu • Only mention capabilities here; see text for details Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  47. Finding and Fixing Model Errors (cont’d.) • Run Controller — Command-driven window to control, display details about model operation and underlying SIMAN code • Trace — Follow active modules, selected variables • Highlight active module – highlights the active module during the simulation run • Layers – gives control over what you see during the simulation run Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  48. Finding and Fixing Model Errors (cont’d.) • Break on Module; Break — stop run when entity hits a selected module, at a specific time, or when a selected entity is about to become active • Watch — select expressions to display in a window as model runs • Look at reports when model is running or paused • Remember to close reports windows Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  49. Model 5-2: Animating the Model • No “normal” entity animation — just plots, queues, a few other “data” animations • Plots (all vs. time on horizontal axis) • Queue lengths (as in earlier models) • Balks per period — reason for variable Per Period Balk • Number of tech support people available for each product type — reason for the “Available” expressions defined in Expressions module • With multiple plots, configure first one, then copy/edit for others to get consistent look and feel; snap to grid to align • Variable animations for Period and Day Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

  50. Animating the Model (cont’d.) • Created digital clock “by hand” (details in text) • Why not ready-made animated clocks? We didn’t reset the system state between replications, so internal clock just keeps increasing • Resource and queue animations • Just for realism — doesn’t add any analysis value • Resource button from Animate toolbar • Take pictures from libraries (.plb files), different states • Queue button from Animate toolbar • Add various text annotations, boxes, etc. Chapter 5 – Detailed Modeling and Terminating Statistical Analysis

More Related