Manual Approach to Call Center Scheduling

In the last post, we defined the problem of call center scheduling. In this post, we are going to present a manual way of solving this problem.

Let us first define some terminology. A time slot is a 30 minute interval, e.g. 12:00 am – 12:30 am. Each time slot has a required number of agents that must be in the office. Since there are 24 hours in a day, then there are 48 time slots in a day. each time slot is independent from each other. Therefore, the total number of independent time slots is 48*7 = 336. Let us define the following vectors

  • a vector \vec{req} of length 336 whose components define the required number of agents in the ith slot.
  • a vector \vec{v} of length 48*7=336. Each component of this vector represents the number of agents current in the office.
  • a vector \vec{z} of length 336. This vector represents the number of call center agents that will start in that time slot. A value of 0 means that no agent is to begin working on that time slot. A value of n means n call center agents are expected to begin working on that time slot.

Here is how we compute the vector \vec{v}[/tex] and [tex]$\vec{z}$.

for(i in 1:length(req)){
if(v[i]  48*7 = 336

z[i] = z[i] + x;
# since an agent works 9 hours in a day,
# we have 9*2=18 slots
for(j in 0:17){
k=i + j;
l=k %% 337;
v[l] = v[l] + x;

The vector v is initialized to 0. For each component i of v, we compare it with the value req[i], which is the required number of agents for time slot i. If the value of v[i] is less than req[i], then we add the number of agents to start at that time slot, which is x=req[i] - v[i]. We update the vector z with this value, z[i]=z[i]+x. We then update the vector v by adding the value of x to all components of v starting at i until i+17 because an agent starting at timeslotiwill work 9 hours until i+17.

The code above is actually a code snippet from the program I created using R programming language. To know more about R, click this link.

Running this code in R, we get the following result:


The corresponding value of vector v is:


The difference of v from the required staffing req is :


The matrix form is more convenient:


This means that for slot 1, we 2 more agents rather than the required 1 agent at that time slot. These two agents will not be doing anything productive as far as their job is concerned. They are just there because they need to complete the 9 hours of work as stated in their contracts.

Now, is there a way for us to minimize this unproductivity while still meeting the required number of agents in the center? We will answer this in the next post.


Published by

Bobby Corpus

Is an IT Architect.

9 thoughts on “Manual Approach to Call Center Scheduling”

  1. boobby yeow:

    Can you send me a \LaTeX installer that I can install in my laptop given to me by my bro? I really need it to start writing not just mathematical papers, but even like blah-blah-blogs, and I’m helping our pastor maybe write some books of his sermons that we can maybe post in the internet. Maybe, you can help us set up a website for our church, kasi wala na akong alam sa HTML and other web design languages.

    What do you tnink?

    Sana mahanap ni Ernie ang aking mga old files from UP para malagay ko sa laptop ko, especially the one with my CV in LaTeX.

    Baka puede ka rin kunin as consultant if the one who ligaw me to become a consultant will be serious to push thru with our usapan???

  2. why not ask Joy to give you a xerox copy of Sonia Andres’ thesis, kasi puede pa natin i-parallelize ang mga nagawa naming hybrid heuristics doon.

    Maybe, we can like start some kind of “Parallized Hybrid Heuristics” research group, where we apply them to many problems in the sciences (including Physics, kasi nag-GA dapat kami ni Perry sa thesis ng (tor)mentee niya!!! pero nagkasakit ako!!!), engineering, and management. We can start with Sonia’s thesis parallelized!!!

    What do you think???

  3. many problems in the sciences (including Physics, like the problem posed by Perry sa thesis ng (tor)mentee niya), engineering, and management, can be recasted as optimization problems which we can hybridize, heuristicize, and parallelize. We can start with Sonia’s thesis parallelized!!! why not ask my colleague na biostatistician now at Brown University (yep, sikat na siya with his researches sa brown)to send you a copy of our paper where we applied heuristics to statistical estimation? Puede din natin i-parallelize you, kasi nag-GA kami doon, among other heuristics. His name is:

    Dr. Hernando Ombao,

    and he is a very close good friend of mine.

    Also, why not ask Dr. Pros Naval to give you a copy of the thesis of Ritchie Mae Gamot that we both co-advised, where we had like PSO (Particle Swarm Optimization), etc…? Actually, ako ang main inspirator ng mga main seminal ideas sa thesis niya, kasi I just introduced Pros to the ideas of heuristics to many science and engineering problems. Similar yata ang model niya sa thesis ni Chua, pero iba ang heuristics na ginamit niya from those of Chua’s. Their thesis, Gamot’s and Chua’s, puede natin i-parallelize ang mga hybridized heuristics. Puede pa tayo mag-statistical modeling as what we started in their works. Meron namang libreng R from the web na puede natin gamitin for statistical modeling, di ba??

  4. we can parallelize what Ritchie did in her thesis!! and more pa!!!

    Ask her if she can send me a xerox copy of her thesis for our reference.

  5. have you contacted Joy? Is she interested in parallel computing with hybrid heuristics????

    Please try to help my new (tor)mentees learn a lot from your genius, like in Python, \LaTeX, etc.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s