maximum concurrency level for minimizing the aver-
age number of clients in the system is just the con-
currency level where the total service rate is maxi-
mized. This follows from the fact that at each number
of clients in the system, L(X(t)), the rate at which
service is performed for the system is equal or higher
than for any other choice of n while the arrival rate is
the same. Thus, for the sojourn time measure it suf-
fices to find the optimal number and distribution of
servers over the groups. This translates to an assign-
ment rule that routes new clients as evenly as possible
if the total service rate is an integer concave function
of the concurrency level.
A special case is when there is only one group
with a linear increase in total service rate as a func-
tion of the concurrency level. Such a system may be
represented by a M/M/sn queueing system.
Another type of service measure that might be
worth considering is a fairness one, such as that the
time spent idling should be fairly evenly distributed
between groups and agents. In the example of Sec-
tion 4.3 below it will be shown why this would be an
interesting metric.
4.2 Optimization Formulation
Given the QoS measure, estimates of the system pa-
rameters and the costs of agents the problem may be
formulated as an optimimization problem. It is also
assumed that forecasts concerning the arrival process
are available. There are two main perspectives on
the optimization problem, the first being how many
agents are enough to fullfill demands of the service
quality as captured by the QoS measure,
(P)
min
s
∑
i
C
i
(s)
subj. to QoS(s,n) ≤ b
s,n ∈ Z
+
, (35)
and the second being given a budget how to best staff
the chat system to provide the best possible service.
The second formulation is mostly of interest when the
budget does not allow for sufficient staff to actually
fullfill the QoS level requirements.
(B)
min
s
QoS(s,n)
subj. to
∑
i
C
i
(s) ≤ B
s,n ∈ Z
+
, (36)
C is the agent cost function, b the required service
level and B is a budget constraint. It is assumed that
agents from the same group cost the same.
The optimization formulations may easily be re-
formulated to include multiple QoS measures and re-
strictions on agent availability.
4.3 Numerical Example
For a system that is measured on minimizing the aver-
age number of clients both the expected sojourn time
and the expected queueing time may be used as mea-
sures. In many cases it is easier to work with the time
a customer has to wait in line rather than the sojourn
time, since the average queueing time can be pushed
close to zero, while the sojourn time will depend on
the arrival rate and the single customer service rates.
When solving these types of problems it is possi-
ble to find the optimal solution via an iterative com-
binatorial approach, however, such a method is very
costly in terms of the number of calculations needed.
This really becomes an issue when dealing with large
systems, with a high degree of concurrency and many
groups. Even efficient and sparse solvers will struggle
to deliver solutions quickly. Thus, a simple heuristic
may be employed to achieve near optimal solutions
for realistic parameters. Given some starting distri-
bution of agents over the groups such that, s
i
j
> 0,
for all i ∈ G and j ∈ {1, . . . , s
i
}, then one agent at
a time is added according to some prediction func-
tion κ(s) : N
G
→ G. This function calculates marginal
gains for each group in terms of service rate per cost
of agent, and then returns the corresponding group in-
dex with the largest marginal gain. The service rate
used is based on a prediction of what state an addi-
tional agent would be in and uses the corresponding
service rate.
To decide which group receives the additional
agent the heuristic looks at the current system so-
lution and determines the most likely (weighted fre-
quency) concurrency level of each group. These lev-
els are used to calculate the corresponding marginal
gains,
µ
i
k
C
i
, to compare the benefits of adding agents to
the different groups and picks the one with the largest
marginal gain. In the next step the system is solved
with the predicted agent distribution and if the new so-
lution predicts another agent to be added to the same
group then the choice is accepted. However, if the
new solution indicates that a new group is to receive
an additional agent then all possible updates are com-
pared and the QoS measures determine the best up-
date. The drawback of using this heuristic is that there
are situations where the algorithm reacts too slowly,
as can be seen in the example below.
In general the heuristic will provide means to con-
trol a base distribution of agents between groups,
which may be dictated by contracts, etc. It will also
generate near optimal solutions at a much lower com-
putational cost than the combinatorial approach. It
works best when the service level of the groups dom-
inate each other consistently. Near efficient points are
ICORES 2019 - 8th International Conference on Operations Research and Enterprise Systems
130