1. Introduction
Queuing-inventory systems are in the focus of recent research due to practical applicability in many fields including social, biological and technical systems. Access to a finite consumable and refillable resource is a natural way of modeling interaction with retail shop customers, office visitors, hospital patients, and even packages in the telecommunication network. In such systems, various sophisticated models arise, including the models with random demand and/or number of customers served [
1,
2], random order grouping [
3] or duplicate ordering from several facilities [
4]. In operations research, queuing-inventory system is a natural way to model load leveraging techniques, such as the leaky bucket congestion avoidance scheme used in a wide range of systems, from large scale routers [
5] to electric vehicle charging stations [
6].
Queuing inventory systems with positive service time were first investigated in Reference [
7], followed by the work of Reference [
8], in which an optimal quantity of inventory to be ordered to minimize the cost rate was obtained. In queuing inventory framework with positive service time, customers’ queue is formed even when some inventory is available. We point the reader to a detailed survey of inventory systems with positive service time given in Reference [
9], which includes classical, retrial, and production inventory.
Many retailers and banks find it helpful to partition the customers into different categories (classes) according to specific characteristics and adopt an inventory management policy based on this differentiation strategy. In particular, long-term customers can be treated as high priority as compared to walk-in customers. Given a limited resource, the low priority customers may have to wait while some amount of resource is still available, reserved for customers with higher priority. The reservation may be made by imposing typical inventory levels for each class of customers according to their priority level. When the inventory comes below the level, customers from corresponding classes may have to wait until the inventory replenishment. Such a critical level policy is introduced and studied in Reference [
10]. Different classes experience congestion with a single inventory; thus, customer sojourn times in a system are intrinsically correlated.
In most cases priorities are accompanied with heterogeneity of customer classes, e.g., in terms of service time distribution either in single-server [
11,
12] or in multi-server case [
13,
14,
15]. As such, the arrival process also becomes heterogeneous, and the promising candidate is the so-called Marked Markovian Arrival Process (MMAP) used, e.g., in the works [
11,
14,
16].
MMAP[K] is a generalization of Markov arrival processes (MAP) which have been studied and used extensively in queuing theory. MAP was introduced in Reference [
17] to model non-Markovian point processes. While MAP is a useful tool to model point processes with one class of customers, MMAP[K] introduced by Neuts (see Reference [
18]) is useful when multiple types of customers are present, while the model remains analytically tractable [
19]. The basic characteristics of MMAP, such as peakedness of the arrival process, the first passage time to the arrival of an item of a specific type, and the behavior of the MMAP during that first passage, are analyzed in Reference [
18].
In this paper, we analyze a multi-server queuing-inventory system with
K classes of customers served from a single inventory which is managed according to the
with a positive lead time. Following References [
11,
14,
16], we use MMAP[K] to model the arrival process. The servers are class-dependent, each server dedicated to one specific class of customers. Only the highest priority customers are allowed to wait in an infinite buffer. All other class customers can wait in respective finite buffers. The service for each class of customers is carried out with different exponential rates, and the inventory item is consumed at the end of service. A class-specific boundary level in the inventory is defined, causing customers of this specific class to wait for inventory replenishment when this boundary is down crossed. To the best of our knowledge, this model is new.
The structure of the paper is as follows. In
Section 2, we give a detailed description of the model. The example of
is also given for better illustration of the model. In
Section 3, an intuitive stability criterion for the system has been derived.
Section 4 analyzes the steady state of the system and expresses a few important performance measures. In
Section 5, a detailed analysis of the inventory recycle time has been carried out. Numerical illustrations are provided in
Section 6, in which an optimization problem of practical importance has also been stated.
2. Model Description
We consider a multi-server queuing inventory system with heterogeneous customers. A
K-server station provides service to
K classes of customers. Arrivals occur according to the Marked Markovian Arrival Process (MMAP) driven by an irreducible continuous time Markov chain (CTMC)
with finite state space
. Let
. The sojourn time in each state
is distributed exponentially with rate
and d.f.
At sojourn time expiration epoch, with probability
the process
moves from the state
z to
, generating a class
k customer arrival,
(conventionally, no customer arrival is generated if
). Note that, for any
,
Thus, the MMAP is characterized by a set of
transition rate square matrices
of order
W defined as follows:
where
is the indicator of a non-random condition
. The matrices
constitute a
generator matrix
of the Markov process
such that
Recall that
, which also follows from (
1) and (
2). Hereinafter,
(
, respectively) is the vector of ones (zeroes), and, if necessary, we designate the row vector with a transpose sign, e.g.,
. As such, denoting by
the
stochastic invariant vector of
(i.e.,
, that is,
is the distribution of the corresponding Markov jump process governed by
), the class
k arrival rate,
, equals
We would like to note that the MMAP process being a versatile Markov process, is suitable for a wide range of applications due to variety of modeling features including correlated arrivals [
20]. However, capturing sophisticated features, such as Long-Range Dependence (slow autocorrelation decay of the process that complicates application of the standard methods of performance estimation), may require infinite number of sources [
21]. As such, it is necessary to balance the size
W of the MMAP state space with practical capabilities of the model, including computational/storage capacity. Useful examples of MMAP processes may be found in Reference [
19].
If the server k is busy, then the arriving class k customer can wait in a buffer space of capacity , where and , . The class k customer, finding the respective buffer completely filled on arrival, leaves the system forever.
The inventory is divided into
K segments,
Class k customer spends an exponentially distributed, with rate , time at the (class-specific) server . At service completion epoch, one item from a single common inventory is consumed by the customer. However, class k customers are served only if the inventory level exceeds , . Thus, s is not only inventory replenishment boundary, but also the critical level, at or below which only the class 1 customers ( highest priority) are served. If the inventory level at service completion epoch is insufficient, the corresponding customer of class k repeats an independent service time with the same rate, , until a service completion coincides with a sufficient inventory level.
The inventory is replenished under
policy in an exponentially distributed
lead time with rate
. That is, when the inventory hits level
s, a request for replenishment is issued, and the inventory level
S is restored after an independent exponentially distributed random time with rate
. Finally, we note that the arrival process, service times and replenishment times are
independent. The structure of the system is presented on
Figure 1.
Let
be the number of class
k customers in the system,
,
be the inventory level,
, and
be the phase of the MMAP, at time
. Then, the considered system can be modeled by the regular irreducible CTMC
with state space
,
and
.
Fix the process at some state . Due to independence of the components of , the transitions are now possible only to states enumerated below:
with rate , (arrival of class j customer);
with rate , if and , (departure of class j customer);
with rate (MMAP phase switch);
with rate , if (inventory replenishment).
This gives a very special structure of the infinitesimal generator matrix of the considered process
. First, since the component
corresponds to the unbounded buffer, while other components of
are finite, and due to the fact that the transitions of
are
skip-free in both directions (i.e., it may be incremented/decremented by at most one), the process
is the so-called Quasi-Birth-Death (QBD) process with
level and
phase . Lexicographically ordered state space allows one to write the generator matrix in block-tridiagonal form
where the matrix
is a zero block of corresponding dimension (we give the dimension explicitly if and when necessary).
Define an integer-valued function of two arguments,
, such that
:
and define
otherwise. Then, the blocks
, and
are square matrices having size
The matrix
consists of the rates of transitions corresponding to the arrival of class 1 customer,
keeps the transition rates corresponding to departure of a class 1 customer, while
is related to
remaining possible transitions, such that the
level remains unaffected. It is quite straightforward to define
, since, upon arrival of a class 1 customer, only the MMAP phase is switched; thus,
where ⊗ is the Kronecker product and
is the identity matrix of corresponding dimension.
We will need the following notation: hereafter is the (column) vector of dimension with ith to jth components equal 1, and zero otherwise, (conventionally we take if ). To shorten the notation, we use for any
(a single non-zero component at ith row, dimension k);
(last non-zero component, dimension k);
(all non-zero components of dimension k).
To define
and for further use, we need to construct some auxiliary matrices. Define for
the following square matrix of order
:
where the matrix
has non-zero entries below main diagonal only for rows
, and the zero vectors are of size
S. The block matrix
corresponds to possible transitions of the inventory for class
j customer, and is indexed from 0 to
S. In particular, for class 1 customers the matrix
has the lower diagonal of ones (there is no constraint for the inventory to be decremented). Since, upon departure of class 1 customer, the
level, as well as the inventory, are decremented by one, the matrix
has the following form:
Now, to define
, which contains the transition rates related to arrivals and departures of class
j customers,
, inventory replenishment and MMAP phase change, we need auxiliary matrices of an increment/decrement in the corresponding (phase) component:
Note that is a square matrix of order having lower diagonal of ones, while is semi-upper diagonal. This asymmetry will be explained below.
Using these constructions, it is rather straightforward to define the transition rates of all possible transitions constituting the matrix
:
Conventionally, in (
10) and (
11), we define the zero-size identity matrix
. Note that (
10) corresponds to arrival of class
j customer, (
11) is the corresponding class departure, (
12) is a replenishment (where in fact the corresponding vector product gives a matrix with only last column being non-zero), while (
13) is the MMAP phase change. It is worth noting that asymmetry in
(non-zero last row), defined in (
8), is used in (
10) to indicate an arrival of a class
j customer that is lost, while the MMAP phase is changed according to
. The matrix
is a diagonal matrix that guarantees
; thus,
Straightforward algebra allows to obtain
, the diagonal matrix of dimension
, from (
14) in a closed form as follows:
where
is the vector of transition rates due to departure of customers of classes
,
contains transition rates due to a class 1 customer departure, and
is the vector of transition rates due to replenishment given as follows:
It remains to define the block
corresponding to possible transitions of the model from within the states having zero class 1 customers. Note that such a matrix is very similar to the matrix
, and the only difference is in the diagonal balancing matrix (
14). Indeed, from the condition
, define
The matrix
is then defined as follows:
where it follows from (
14) and (
18) that
.
We note that the definitions of subblocks may be rewritten in a more compact form using Kronecker sums. Moreover, by defining unbounded analogs of the matrices given in (
8), the generator matrix itself may be rewritten similarly. However, we skip this possibility to keep parsimony of the notation.
To illustrate (
3), we consider the case
. Recall that class 1 customers have priority over class 2 customers. Class 1 customers are allowed to wait in an infinite buffer, whereas class 2 customers cannot enter the system if there are
class 2 customers already in the system. Server 1 serves class 1 customers with rate
and server 2 serves class 2 customers with rate
. Customers are served with an inventory from a common source running according to
policy with exponential lead time (rate
). Even if the server 2 is free, class 2 customers will be served only if the inventory level is at least
.
We consider the CTMC
with state space
, where
. Since
, it follows from (
4) that
. Corresponding to each
level , there will be
phase states. The infinitesimal generator matrix of
is given by (
3), where the non zero blocks
, and
are of size
and have the following forms:
where
is a matrix of order
with a non-zero lower diagonal, defined as
The subblocks
also have the block-tridiagonal structure with
blocks over the main diagonal indexed by the number of class 2 customers:
Submatrices
, of order
, are given below.
where
has non-zero entries in the lower diagonal from
nd row onward,
It remains to define
. These matrices have semi-block-diagonal structure with main diagonal and last column containing
, possibly non-zero, blocks, indexed by the number of inventory items available, each block being a square matrix of order
W. Indeed, since the departures of class 1 customers are not possible from
level 0,
where, from
st row onward, the diagonal elements are
(only MMAP phase change is possible). Similarly, since
corresponds to states with positive number of class 2 customers,
Since
corresponds to positive levels of the process
, i.e., the number of class 1 customers is positive,
where
is a square matrix of order
consisting of a zero column, zero row, and identity matrix as follows:
Indeed, the matrices
and
correspond to positive number of class 1 customers; thus, their diagonals include the service rates of class 1 customers, except the case of the empty inventory. As a final note, the last diagonal blocks in matrices,
and
, correspond to arrivals of class 2 customers that are lost; hence,
3. Stability Condition
The necessary and sufficient condition for existence of the non-zero steady-state probability is the specific version of Foster ergodicity condition known as the Neuts ergodicity criterion [
22],
where the stochastic vector
is the solution of the system
and
Note that, due to the properties of
,
, the matrix
is a generator matrix of a finite state space CTMC giving the projection of the phase transition at high levels; thus, the vector
may be considered as the steady-state probability of the phase at high levels [
22]. It now follows from (
5), (
7), and (
9) that
has block-tridiagonal structure indexed by the number of class-2 customers as follows:
The blocks
, and
,
, are square matrices, and their structure follows from (
5), (
7), and (
9). Indeed,
where ⊕ is the Kronecker sum defined as
;
being a diagonal matrix that guarantees
, and obvious convention
for
is used. It remains to note that, since
corresponds to states with no class-2 customers,
, while the matrix
includes the lost arrivals of class-2 customers. Recall that the losses of class 2 customers appear here due to the specific indexing of the blocks of matrix
, and corresponding losses of classes
are encoded in the components of matrix
. It is worthwhile to note that, despite the expected independence of the MMAP component evolution on the system state, the changes in the phase occur upon arrival of customers of classes
, both in the corresponding queue size and in MMAP phase; similar simultaneous changes occur upon departure of such customers (both counter and inventory). In the case
, the subblocks of
have the following clear structure:
Note that the Kronecker sums in the phase transition rate matrices appear due to the multidimensional structure of the phase state space. These sums highlight the independent changes of one of the components of the phase vector, and is used if the corresponding component remains unchanged due to a transition.
To solve the system (
21), the following numerically stable algorithm is suggested. Let the row vector
be presented in the form
. The vectors
are considered to have the following form:
The matrices
, are obtained from the system (
21) using (
22), starting from the last column, i.e., calculated using the backward recursion,
under the initial condition (following from the last column of the matrix
)
Note that, since
is a generator matrix,
is diagonally dominant and, hence, invertible. Finally, the vector
is the unique solution to the system (obtained from the first column of
and the fact that
is stochastic)
Now, let us consider the l.h.s. of (
20). The vector
is the steady-state probability vector of the finite state space CTMC defined by the matrix
and having the state space
However, it is possible to shrink the state space
into the following subsets defined for all
:
Now, we show that, for each state from
, the transition rate to the set
(i.e., the sum of corresponding transition rates to individual states) equals
. Indeed, to obtain this transtion rate, the matrix
needs to be multiplied by the matrix that would sum up the corresponding transition rates, that is,
. As such, using the fact that, for any matrices
, the following equation holds good,
it can be obtained from (
5) that
It follows from (
7) and (
17) that
Finally, it follows from (
9), (
15), (
16), after some algebra, that
Then, it follows from (
27)–(
29) that
Thus, the subsets
, are the states of a CTMC defined by the matrix
. Now, we note that
hence,
. Finally, from (
5), obtain
Now, taking into account (
7), (
22), (
24), and using the property (
26) for the unit vector
, the r.h.s. of the stability condition (
20) becomes
Note that the stability condition (
30) has a nice interpretation, since
is the upward drift, while the sum in brackets is the mean downward drift of class 1 customers at high levels obtained by aggregation of the components phase probabilities vector
corresponding to the states with positive departure probability of class 1 customers.
5. Analysis of Inventory Recycle Time
Starting with inventory level
S, the time taken to hit the level
S again is called inventory cycle time, say,
. The distribution of inventory cycle time depends on the number of customers of all classes in the system and the phase of the arrival process. However, we note that, since the replenishment happens only at the event when the inventory hits the level
s, the inventory cycle is essentially the lead time plus the time it takes to reach
s from
S by the steps decreasing the inventory, made by the process
. It is clear that such a process is a time until absorption of the process, where the absorption happens at the level
s. It is known that such a time can be modeled by a phase-type distribution (for details on this type of distributions, see Reference [
24]), and below we obtain the parameters of such a distribution.
Indeed, consider the inventory level
. If
, then the class
k customers present in the system are capable of consuming all the inventory allowed for such a class, either before stopping service for this specific class at the boundary level
, or before hitting the absorbing inventory state
, and in such case the time to absorption does not depend on the arrivals of class
k customers after time
t. Otherwise, arrivals of class
k customers can be tracked until the condition
is met (if this happens before absorption). Moreover, if the level
hits the value
from below, the departures of class
k customers need not be tracked, but instead, only the inventory decreasing process should take into account the corresponding rate of the class
k customer service,
. Thus, the time it takes
to reach
s (time to absorption) can be modeled by a finite state space absorbing CTMC, which is essentially a restriction of
to the set
This means that the time to reach inventory level
s has a phase-type distribution
, where
is the initial distribution of the restricted chain
at time 0, and
is the transition matrix which follows from
and the aforementioned restrictions. In particular, it is straightforward to define the transition rate matrix
as follows.
Note that
is a block-tridiagonal finite matrix, with
blocks on the main diagonal, where the first block corresponds to states with
, while the last block is for
, respectively. The rows corresponding to the last block have zeroes except the block on the main diagonal, since upon reaching the level
, neither the departures, nor the arrivals, of class 1 customers are tracked, but the rate
is taken into account in the value of the inventory decreasing rate. Moreover, the inventory states become in fact re-numbered so as to have
states starting from inventory level
, numbered sequentially, that is, compared to the original inventory component
, it holds that
and the absorption happens when
makes a transition to 0. The size of the blocks is
where, for
,
and
otherwise.
It is straightforward to see
and
where
is obtained from the matrix
defined in (
6) by reducing the latter to rows and columns from
to
, i.e.,
where the matrix
removes the first
a rows,
that is,
with an exception for
defined as
Let us restrict the matrices
and
defined in (
8) to the finite state space of the absorbing CTMC, and modify the last row of
so as to force
to stay at the level
once reached,
. To do so, denote
Multiplication by
on the left leaves only the first
a rows in the resulting matrix and removes the last
rows, while multiplication on the right by
removes the last
columns. Then, the matrices
and
are defined as follows:
where the
-dimensional vector
is zero vector except the last component equal to one, while
is the
-dimensional vector of ones. Now, we are ready to define the matrix
as follows:
Note that the diagonal matrix
holds the exit rates from states which do not lead to absorption, that is, transitions from inventory levels
according to enumeration (
43). As such, this matrix can be defined explicitly as follows:
Similarly to (
19), the matrix
differs from
only on the diagonal (the states corresponding to
have no class 1 customers), so that
Finally, we need to define the matrix
corresponding to the boundary states. Since at the
level (number of class 1 customers)
, neither arrivals nor departures of the class 1 customers are tracked,
It remains to denote as the corresponding absorption rate vector, and note that the initial state probability vector should be taken so as to have initial inventory equal to S, that is, .
To simplify comprehension, we outline the transitions possible for the chain
according to the subgenerator matrix
and the absorption vector
. For some
, fix
. Then, the state after transition is one of the following:
, with rate (arrival of a class j customer),
, with rate (change of the MMAP phase),
, with rate , if and (departure of a class j customer, if allowed).
Note that the absorption happens if the transition is made from the inventory level downward. In particular, this means that, since , the absorption happens only due to a transition caused by service completion of either class 1, or class 2 customer.
It is well known that time to absorption, say
X, of an absorbing CTMC defined by a subgenerator
and initial state probability vector
has a phase-type distribution with mean [
24]
Thus, to define the mean inventory cycle time,
, it only remains to convert the steady-state probability vector
obtained in (
32) into the initial state probability vector for the corresponding phase-type distribution defined by the matrix (
42).
We summarize our findings in the following Lemma.
Lemma 1. Let Γ
be the inventory cycle time. Then,where the vector , split into finite subvectors by the first component, is defined from the vector in a component-wise manner as follows: if thenand if for some and indices , holds thenwhere The vector is zero elsewhere.
It remains to note that the expectation is taken so as to summarize the resulting times by the appropriate steady-state probabilities involving the inventory level S, and the term is added to emphasize the exponentially distributed lead time.