Chapter 5

advertisement
Chapter 5
Modeling Detailed Operations
A Simple Call Center System
With lower
priority than the
sales calls
Aslı Sencer
2
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.
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 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
3
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
4
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
5
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
6
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
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 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
10
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
11
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
Aslı Sencer
12
the selected resource.
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 sets
Aslı 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 Costs
Model 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:0016: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,820
Type 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
Download