Upload
oscar-franklin
View
222
Download
5
Embed Size (px)
Citation preview
Chapter 5
Modeling Detailed Operations
A Simple Call Center System
With lower priority than the sales calls
Aslı Sencer 2
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.1)After creation of a call, use a Queue and Seize blocks where the trunk line resource capacity =26 and queue capacity=0. 2)After creation of a call, use a Decide module to testNR(TrunkLine)<MR(TrunkLine)NR(TrunkLine): Number of busy resources of TrunkLineMR(TrunkLine): Capacity of resource TrunkLine
Aside recall: NQ(Rework Process.Queue): Number in queue of the Process Module named Rework Process.
Balking
Aslı Sencer 3
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.
Arrival Cutoff Logic
Aslı Sencer 4
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
Priority Queues
Aslı Sencer 5
Priority Queues2) 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 6
Undefined Simulation DurationStop 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 7
Nonstationary Call Rates Model 5.2
Aslı Sencer 8
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 9
Dynamic Resource Capacity1) 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 10
Personal Working Schedules2) Each Tech. Support Resource has his/her working schedule.
Use Schedule and Resource Data modules similar to part (1)
Aslı Sencer 11
Multi Skilled ResourcesThe 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 12
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: Anna and Sammy are common in all resource sets
• There can be sets of setsAslı Sencer 13
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 14
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 15
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 16
Adding Staffing and Resource CostsModel 5.3
Current staff costs
Sales staff altogether=45 hr/day x $20/hr x 5days/wk=4,500/wk
Tech Support staff
8 people x 8hr/day/person x $18/hr x 5days/wk=$5,760/wk
1 person x 8hr/day/person x $20/hr x 5days/wk=$800/wk
2 people x 8hr/day/person x $22/hr x 5days/wk=$1,760/wk
Total Cost=$12,820/wk (Model 5.2)
Aslı Sencer 17
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 18
Costs of the new resources• New Sales staff cost=
$17/hr x 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 19
Expressions of Model 5.3
• Use Expressions Data Module New Resource Cost = New Sales x 340
+ (New Tech 1+New Tech 2+New Tech 3) x 320
+ New Tech All x 360 + 98 x MR(Trunk Line)
Aslı Sencer 20
Variables Data Module• A data module in the Basic Process panel.
• Some parameters of the model can be set as a global variable so that if they has to be modified in the future it will be easier.
Ex: New Sales, New Tech1,2,3,All are variables
• Can be a scalar, vector, or 2-dim. matrix, but any entity can change the value of a variable during simulation.
• Allow re-use of the same number(s) in different places
• Cannot involve arithmetic expressions, entity attributes, other Variables, or distributions.
Aslı Sencer 21
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 22
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 23
Expressions of Model 5.3
• Use Assign Module Excess Technical Wait Time= Excess Technical Wait Time + MAX(ENTITY.WAITTIME-3,0)• Entity.Waittime: Built in Arena attribute that holds the total
waiting times of an entity (also the delays in Wait state) Check Costing box in Run>Set up>Project parameters
Aslı Sencer 24
Statistic Data Module• New Resource Cost= Excess Sales Wait Time x 4.09 + Excess Status Wait Time x 1.73 + Excess Technical Wait Time x 1.84
+ 12,820Type of statistic=Output Output statistics are computed only at the end of the
simulation and shown in the reports under User Specified. • Percent Rejected= 100 x NC(Total Rejected Calls) /
NC(Attempted Calls) NC is a bult in Arena function that returns the value of the
counter.Aslı Sencer 25
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 26