260 likes | 268 Views
This model explores a call center system where sales calls have higher priority than order status calls. Sales calls are processed by sales resources, while order status calls may request sales resources but have lower priority. The model includes features like balking, dynamic resource capacity, personal working schedules, multi-skilled resources, and sets to group similar objects together.
E N D
Chapter 5 ModelingDetailed Operations
A Simple Call Center System With lower priority than the sales calls Aslı Sencer
Balking A call is balked, i.e., gets a busy line sound on the phone and rejected from the call center system, if all trunk lines are busy. • After creation of a call, use a Queue and Seize blocks where the trunk line resource capacity =26 and queue capacity=0. • After creation of a call, use a Decide module to test NR(TrunkLine)<MR(TrunkLine) NR(TrunkLine): Number of busy resources of TrunkLine MR(TrunkLine): Capacity of resource TrunkLine Aside recall: NQ(Rework Process.Queue): Number in queue of the Process Module named Rework Process. Aslı Sencer
Arrival Cutoff Logic No more calls are allowed to enter the call center after 6 p.m., say after 600 min. of the simulation time. Thus no more calls should be created after 600 min. Aslı Sencer
Priority Queues Sales Calls are processed by Sales Resource. Order Status calls may ask to be processed by Sales Resource as well. Then they enter a ‘shared queue’ with Sales calls, where they have lower priority than the Sales Calls. 1) Use Process Sales Call.Queue Aslı Sencer
Priority Queues 2) Default queue ranking rule= FIFO. Others are LIFO, Lowest attribute value, Highest attribute value. Generate attribute: Sales Call Priority (Default value=0) =0, if it is a Sales Call; =1, if it is an Order Status Call that seizes a Sales Resource. Data Module Queue: Process Sales Call.Queue Type= Lowest Attribute value Attribute=Sales Call Priority Aslı Sencer
Undefined Simulation Duration Stop call arrivals at 18:00 by using Arrival Cutoff Logic; And continue simulation until all the existing calls at 18:00 are processes Use Assign to generate a counter WIP: Work in Process WIP:=WIP+1 when a call can seize a Trunk Line WIP:=WIP-1 When a call departs from the system Use Run Set up: Replication Length=Infinite Termination Condition = TNOW>=600 &&Total WIP= =0 (Hint: Use Expression builder by right clicking on the cell.) Aslı Sencer
Nonstationary Call Rates Model 5.2 Aslı Sencer
Nonstationary Call Rates Model 5.2 Average call rates differ during the day due to a nonstationary Poisson Process. Schedule Data Module:: Define average call rates in each hour of a day, name it Arrival Schedule. Create Call Arrivals: Time between arrivals: Type=Schedule Schedule Name=Arrival Schedule Aslı Sencer
Dynamic Resource Capacity 1) Sales Resource has dynamic capacity. Schedule Data Module: Define dynamic resource capacities and name it Sales Schedule. Resource Data Module: Resource name= Sales resource Type=Based on Schedule Schedule Name= Sales Schedule Dynamic capacity resources have identical skills, schedules! Aslı Sencer
Personal Working Schedules 2) Each Tech. Support Resource has his/her working schedule. Use Schedule and Resource Data modules similar to part (1) Aslı Sencer
Multi Skilled Resources The members of the Technical Support resource have multiple skills. Use Set Data Module to define these resource sets. Product 1={Charity, Noah, Anna, Sammy, Molly} Product 2={Tierry, Adrian, Emma, Anna, Sammy} Product 3={Shelly, Jenny, Christie, Anna, Sammy, Molly} Use Process Product Type 1 Tech. Call Resource type=Set, Set name=Product 1 Selection Rule=Preferred Order, i.e., their order in the set defines their preference in getting seized. Save attribute=Tech Agent Index, attribute holds the index of the selected resource. Aslı Sencer
Sets • Group similar objects (resources, sequences, pictures, etc.) together under a single name • Define: SETS data module from Basic Processes • Refer to objects in a Set by their original name and by a set index Product 1={Charity, Noah, Anna, Sammy, Molly} In Arena, Product 1 (2) = Noah. • An object can be a member of more than one Set (or not be in any Sets) Ex: AnnaandSammyarecommon in allresourcesets • There can be sets of sets Aslı Sencer
Sets • Resource Sets • Allows dissimilar resources to be grouped • Entities can choose among members of a Resource Set according to preference rules. • Can animate individual Resources in a Set (state, picture) — unlike Dynamic-Capacity Resources • Sets of entity pictures (can access via part-type number) • In our model: Resource sets: Product 1, Product 2, Product 3 Counter set: Rejected Calls with ten members indicating the number of rejected calls in each hour Aslı Sencer
Trace the number of rejected calls in each hour • Statistic data module: Generate 10 counters: Period i Rejected Calls, i=1,2,…,10 • Set data module: Generate Counter set Rejected Calls with ten members • Record module Type=count, Value=1, Record into Set=Check Counter set name=Rejected Calls Set Index=AINT((TNOW/60)+1) Ex: TNOW=90min., 90/60+1=2.5, AINT(2.5)=2 So, Rejected Calls(2)=Period 2 Rejected Calls will be incremented by 1. Aslı Sencer
Selecting a Specific Resource Some technical calls require back office research and return call. A call is processed by the same resource member the next time it is processed again. Seize Block: Seize Tech Agent Type 1 Selection Rule=Specific Member Attribute=Tech Agent Index, is created in Process Product Type 1 Tech. Call to keep the index of the previous agent used. Aslı Sencer
Adding Staffing and Resource CostsModel 5.3 Current staff costs Sales staff altogether=45 hr/day x $20/hrx 5days/wk=4,500/wk Tech Support staff 8 peoplex 8hr/day/person x $18/hrx 5days/wk=$5,760/wk 1 personx 8hr/day/person x $20/hrx 5days/wk=$800/wk 2 peoplex 8hr/day/person x $22/hrx 5days/wk=$1,760/wk Total Cost=$12,820/wk (Model 5.2) Aslı Sencer
Adding variable number of staff Add both sales and technical support during 12:00-16:00. Variable: New Sales, might be any value Schedule: Sales schedule Since New Sales variable will be used in the dynamic capacity, Graphical editor can not be used! Value (Capacity), Duration=1,2 Value (Capacity), Duration=5+New Sales,1 Aslı Sencer
Costs of the new resources • New Sales staff cost= $17/hrx 20hrs/wk = $340/wk/sales-staff • New Type 1 techs (Larry) cost= New Type 2 techs (Moe) cost= New Type 3 techs (Curly) cost= $16/wk/tech-staff x20 hrs/wk = $320/wk/tech-staff • New Type all (Hermann) cost=$18/wk/tech-all-staff (capable of all types) $18/wk/tech-all-staff x20 hrs/wk = $360/wk/tech-all-staff • Trunk Line cost=$98/wk/trunk line Aslı Sencer
Expressions of Model 5.3 • UseExpressions Data Module New Resource Cost = New Salesx340 + (New Tech 1+New Tech 2+New Tech 3)x320 + New TechAllx360 + 98xMR(TrunkLine) Aslı Sencer
Variables Data Module • A data module in the Basic Process panel. • Someparameters of the model can be set as a global variablesothatifthey has to be modified in thefuture it will be easier. • Ex: New Sales, New Tech1,2,3,Allarevariables • Can be a scalar, vector, or 2-dim. matrix, but any entity can change the value of a variableduringsimulation. • Allow re-use of the same number(s) in different places • Cannot involve arithmeticexpressions, entity attributes, other Variables, or distributions. Aslı Sencer
Expressions Data Module • A data module in the Advanced Process panel. • Can be a scalar, vector, or 2-dim. Matrix., but the form of the expression cannot be changed during the simulation • Aim is to use the same expression in several places in the model • A fixed “formula” or function that can involve arithmetic, entity attributes, other Variables, and distributions — very general • Expressions do not store values, name of the expression corresponds to a mathematical expression and its value is returned Aslı Sencer
Adding Costs due to Poor Customer Service • People have limits for waiting on the line 1 min. for Sales calls; 2 min. for Order Status calls 3 min. for Technical calls; • Beyond these limits, system incurs a cost 81.8 cent/min. for Sales calls; 34.6 cent/min. for Order Status calls 36.8cent/min. for Technical calls; Note: Simulation is run for a day. To estimate the weekly total costs, daily costs are multiplied by 5! So we have $4.09, $1.73, $1.84 as weekly costs per min. excess waiting. Aslı Sencer
Expressions of Model 5.3 • UseAssignModule Excess Technical Wait Time= Excess Technical Wait Time + MAX(ENTITY.WAITTIME-3,0) • Entity.Waittime: Built in Arena attributethatholdsthe total waitingtimes of an entity (alsothedelays in Waitstate) CheckCostingbox in Run>Set up>Project parameters Aslı Sencer
Statistic Data Module • New Resource Cost= ExcessSalesWait Timex 4.09 + ExcessStatusWait Timex 1.73 + Excess Technical Wait Timex 1.84 + 12,820 Type of statistic=Output Output statistics are computed only at the end of the simulation and shown in the reports under User Specified. • PercentRejected= 100x NC(Total Rejected Calls) / NC(Attempted Calls) NC is a bult in Arena function that returns the value of the counter. Aslı Sencer
Simulation Replication Data • Project replication parameters • Run/Setup dialog – Replication Parameters tab • 5 Replications of 660 min. each (No stopping condition) • Four options for Initialization Between Replications: • Initialize system (yes), initialize statistics (yes) • 5 independent and identical replications – no calls carried over • Reports for each day separately • Initialize system (yes), initialize statistics (no) • 5 independent replications – no calls carried over • Cumulative summary reports (repl. 1, repl. 1-2, repl. 1-3, …, repl. 1-5) • Initialize system (no), initialize statistics (yes): Selected • 5 continuous days (660 x 5 min.) – calls carried over • Reports are by replication (after each day) • Initialize system (no), initialize statistics (no) • 5 continuous days (660 x 5 min.) – calls carried over • Cumulative summary reports (repl. 1, repl. 1-2, repl. 1-3, …, repl. 1-5) Aslı Sencer