RM_Notes-1
RM_Notes-1
Velibor Misic
1 Overview
In the general revenue management setup, we receive requests over a finite time
horizon. Each request consumes some amount of one or more resources. The prob-
lem is to decide, at each request arrival, whether to accept the request or reject the
request, so as to maximize the total revenue garnered over the total time horizon.
We begin by defining the basic data of our problem:
• M : number of resources.
1
In our linear programming formulation of the revenue management problem, we
let xj denote the number of requests of type j that we accept over the entire time
horizon. We also assume that there will be exactly dj requests of each request type
j. The problem can then be formulated as follows:
N
X
maximize rj xj (1a)
j=1
N
X
subject to Ai,j xj ≤ Bi , ∀i, (1b)
j=1
xj ≤ dj , ∀j (1c)
xj ≥ 0, ∀j. (1d)
In the above, we have formulated the problem generally in terms of requests, request
types, and resources. Some examples:
2
3 Bid-price control in the discrete setting
P (Xt,j = 1) = pj ,
P (Xt,j = 0) = 1 − pj
E[Xt,j ] = pj · 1 + (1 − pj ) · 0 = pj
Let Nt,T,j be the number of requests of type j from period t to T . Nt,T,j is related
to the Xt,j variables in the following way:
T
X
Nt,T,j = Xt′ ,j . (2)
t′ =t
XT
E[Nt,T,j ] = E[ Xt′ ,j ]
t′ =t
T
X
= E[Xt′ ,j ]
t′ =t
T
X
= pj
t′ =t
= (T − t + 1)pj .
With these assumptions, let us parametrize our linear program from the previous
section in terms of the period t we are in and the remaining amount of each resource
3
b = (b1 , . . . , bM ). Our LP, which we write as LP (t, b) is
N
X
LP (t, b) = maximize rj xj (3a)
j=1
N
X
subject to Ai,j xj ≤ bi , ∀i, (3b)
j=1
xj ≤ (T − t + 1)pj , ∀j (3c)
xj ≥ 0, ∀j. (3d)
4
Suppose that we fix any policy π, and we simulate the policy. In each simulation,
the number of units we accept of request j is Xjπ , which is a random variable.
Along any simulation (or in probability, what is called a sample path), we have that
Xjπ ≤ N1,T,j ; recall that N1,T,j is the random variable for how many requests we got
of type j from t = 1 to t = T . This is true because if we follow any policy, the most
number of requests of a type that the policy can accept is the number of requests
of that type that arrived over the entire time horizon. (If only 5 requests of type 1
were realized, then X1π is at most 5; it is not possible for it to be 6 or 10 or 2000.)
In probability, this is sometimes written as
where a.s. stands for “almost surely”; in probability theory, this is just another way
of saying with probability 1, i.e., in every sample path, this inequality will hold. If
we take the expected value of both sides, we get
Additionally, observe also that in any sample path, the number of requests of type j
that the policy accepts has to be at least zero. It is not possible to accept a negative
number of requests. So we also have
E[Xjπ ] ≥ 0. (8)
Lastly, let’s consider what happens with each resource. For resource i, observe that
the total amount of resource i that is consumed by policy π will not exceed the
initial amount Bi along any sample path. In math:
N
X
Ai,j Xjπ ≤ Bi , a.s., (9)
j=1
≤ Bi . (12)
Finally, along any sample path, the revenue that π garners is given by N π
P
j=1 rj Xj ,
PN
and so the expected revenue of policy π can be shown to be j=1 rj E[Xjπ ].
5
Let’s now collect everything. All of the inequalities that we wrote above can be
collected as follows:
N
X
Ai,j E[Xjπ ] ≤ Bi , ∀i, (13)
j=1
then x̃ is a feasible solution of the LP (3). Additionally, the objective value of x̃,
is exactly the expected revenue of policy π. Since x̃ is feasible, but not necessarily
optimal, the optimal objective value of problem (3) with t = 1 and b = B is an
upper bound on the expected revenue of policy π.
Another way to think about problem (3) is that this LP is treating the expected
number of requests that we accept as a decision variable, and the constraints cor-
respond to physical limits on what these expected values can be. The decision
variables xj do not tell us the policy, but tell us how the policy should behave in
expectation.
Bid-price control can also be used when time is continuous. In a continuous time
setting, we assume that T is the length of the continuous time horizon – for example,
T could be 24 hours. A request can arrive any continuous point in time in the interval
[0, 24]. For example, the sequence of request times could be
A common model that is used for describing such arrival processes is the Poisson
process. Before we define the Poisson process, we first define the Poisson random
variable.
Poisson random variable: A random variable X is a Poisson random variable
with mean µ if it has the following probability distribution:
µx −µ
P (X = x) = ·e .
x!
where x = 0, 1, 2, 3, . . . . We write X ∼ Poisson(µ) as a short hand notation to
indicate that X follows the Poisson distribution with mean µ.
We now define a Poisson process:
Poisson process: A Poisson process is a way of describing arrivals in continuous
time. We let Nt1 ,t2 , where t2 > t1 , denote the number of requests that arrive between
6
time t1 and time t2 . A Poisson process with rate λ means that on average, we get
λ arrivals per unit time. (For example, if t is in hours, and λ = 5, then this would
mean we get on average 5 arrivals per hour.) In a Poisson process with rate λ, Nt1 ,t2
is a Poisson random variable with mean λ(t2 − t1 ).
(Following from the example with λ = 5, if we asked how many arrivals we would see
between 6 hours and 10 hours, then we would be interested in N6,10 , which would
be a Poisson random variable with mean 5 · (10 − 6) = 20.)
Generalizing bid-price control to the continuous setting: For the purpose
of generalizing the bid-price control policy to this setting, we assume that of our
N request types, arrivals of request type j behave according to a Poisson process
Nt1 ,t2 ,j with arrival rate λj . This means that the number of arrival over the entire
horizon, N0,T,j , is a Poisson random variable with mean λj T . In addition, at any
point in time t ∈ [0, T ], the number of arrivals we expect to see in the remaining
interval [t, T ], is a Poisson random variable with mean λj (T − t). (Note that there is
no longer a +1 correction here, because we are modeling the problem in continuous
time!) So we have:
E[Nt,T,j ] = λj (T − t)
This now becomes our forecast for the number of arrivals of type j when we are at
time t for the remainder of the time horizon.
With these assumptions, let us parametrize our linear program in terms of a time
t in the continuous time horizon [0, T ] and the remaining amount of each resource
b = (b1 , . . . , bM ). Our LP, which we write as LP (t, b) is
N
X
LPcts (t, b) = maximize rj xj (16a)
j=1
N
X
subject to Ai,j xj ≤ bi , ∀i, (16b)
j=1
xj ≤ (T − t)λj , ∀j (16c)
xj ≥ 0, ∀j. (16d)
7
14: end while
The Poisson process has a number of other properties which are not critical to know
for the purpose of using the bid-price control algorithm above, but are good to know
as they are routinely capitalized on in other applications.
Exponential inter-arrival times / Memorylessness: In a Poisson process with
arrival rate λ, the time between consecutive arrivals – the inter-arrival time – is
assumed to follow an exponential distribution with rate λ (or equivalently, with
mean 1/λ). The density function of the exponential distribution is
f (x) = λe−λx .
Suppose now that you have waited t minutes already. What is the probability that
you wait for another q minutes? This is the conditional probability
We can calculate this out just by applying the definition of conditional probability:
P (X > t + q, X > t)
P (X > t + q | X > t) =
P (X > t)
P (X > t + q)
=
P (X > t)
e−λ(t+q)
=
e−λt
−λq
=e (19)
• Equation (17) says: when you just start waiting, the probability that you wait
longer than q minutes is e−λq ; this is P (X > q) = e−λq .
• Equation (19) says: After already waiting for t minutes, the probability that
you wait another q minutes... is still e−λq !
8
that among continuous probability distributions, this property is unique to the ex-
ponential distribution. If a continuous probability distribution has this property,
it must be the exponential distribution. (Among discrete distributions, the only
distribution which has this property is the geometric distribution.)
Conditional distribution of arrival times is uniform: Another useful property
of the Poisson process is the following: suppose that Nt1 ,t2 is a Poisson process with
rate λ. Suppose that we know that n arrivals have occurred in the interval [t1 , t2 ].
What is the joint distribution of the arrival times of these n arrivals? It turns out
that the n arrival times are uniformly distributed over the interval [t1 , t2 ]. This is
a property that is useful when simulating the Poisson process (this is the property
being used in the code for generating arrival sequences in the cloud computing
homework problem).
Thinning of Poisson processes: Suppose that we have a Poisson process denoted
by Nt1 ,t2 , with rate λ. The arrivals are randomly divided into two groups: an arrival
goes to group 1 with probability p1 and to group 2 with probability p2 , where
p1 + p2 = 1.
The thinning property says this: if you focus on just arrivals to group 1, then the
arrival process for group 1 is itself a Poisson process, with rate p1 λ. The arrival
process for groups 2 is also a Poisson process, with rate p2 λ.
As a physical example, suppose that you are standing at a bus stop in Westwood.
Buses arrive randomly as a Poisson process with rate 5 per hour. Of all buses, 40%
are green and 60% are blue. Then, the arrival process of green buses is a Poisson
process with rate 5 × 0.4 = 2 per hour, and the arrival process of blue buses is a
Poisson process with rate 5 × 0.6 = 3 per hour.
Superposition of Poisson processes: The previous property says that if you
randomly divide arrivals from a Poisson process into two groups, the arrival process
of each group is a Poisson process.
It turns out that combining Poisson processes together also results in a Poisson
process. For example, suppose that a bank receives applications for two types of
loans: mortgage loans and personal loans. Applications for these loans arrive ac-
cording to Poisson processes, with mortgage loan applications arriving at a rate of
20.2 applications per month, and personal loan applications arriving at rate of 4.5
applications per month. Then, the arrival process for loan applications of any kind
is a Poisson process with arrival rate 20.2 + 4.5 = 24.7 applications per month.