Description Usage Arguments Details Value Author(s) References Examples
PD
unconstrains demand data in quantity-based revenue management.
1 | PD(demand = demand, tau = 0.5, eps = 0.005)
|
demand |
demand vector with constrained and unconstrained entries. A 0 in the name of an entry means that the corresponding demand is unconstrained. Conversely, a 1 in the name of an entry suggests that the corresponding demand is constrained. |
tau |
fixed constant that reflects how aggresive the unconstrainig is. The default value is 0.5. |
eps |
small number used as the stopping criterion. The default value is 0.005. |
PD
unconstrains demand data in quantity-based revenue management. The observed demand entries, some of which are constrained because the product class was closed, are assumed to be realizations from an underlying normal distribution with mean μ and standard deviation σ. The objective is to find the parameters μ and σ of this underlying demand distribution.
param |
parameters of demand distribution |
niter |
number of iterations |
demand |
unconstrained demand vector |
history |
parameter convergence history |
Tudor Bodea tudor.bodea@ihg.com
Dev Koushik dev.koushik@ihg.com
Mark Ferguson mark.ferguson@mgt.gatech.edu
Talluri, K. T. and Van Ryzin, G. (2004) The Theory and Practice of Revenue Management. New York, NY: Springer Science + Business Media, Inc. (Pages 485–486).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # SPECIFY THE SEED
set.seed(333)
# SPECIFY REAL PARAMETERS OF THE DEMAND DISTRIBUTION
rmean <- 20
rsd <- 4
nrn <- 20
# GENERATE REAL DEMAND
rdemand <- round(rnorm(nrn, rmean, rsd))
# GENERATE BOOKING LIMITS
bl <- round(rnorm(nrn, rmean, rsd))
# GENERATE OBSERVED DEMAND
demand <- rdemand * (rdemand <= bl) + bl * (rdemand > bl)
# IDENTIFIED PERIODS WITH CONSTRAINED DEMAND: 1 - CONSTRAINED DEMAND
names(demand) <- as.character(as.numeric(rdemand>bl))
demand
# UNTRUNCATE DEMAND
PD(demand)
PD(demand, tau=0.5, eps=0.005)
PD(demand, tau=0.5, eps=0.00005)
# MODIFY DEMAND VECTOR - NO CONSTRAINED INSTANCES ARE OBSERVED
names(demand) <- rep(0, length(demand))
# ATTEMPT TO UNTRUNCATE THE DEMAND
PD(demand, tau=0.5, eps=0.005)
|
Loading required package: msm
1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1
17 24 12 20 14 19 25 23 21 11 16 17 20 18 17 18 21 20 18 13
$param
[1] 19.59 3.28
$niter
[1] 6
$demand
1 1 0 1 0 0 0 0 0 1 0 0 0
20.49 25.16 12.00 22.07 14.00 19.00 25.00 23.00 21.00 19.61 16.00 17.00 20.00
0 0 1 0 0 1 1
18.00 17.00 20.92 21.00 20.00 20.92 19.68
$history
Mean StDev
1 18.69 3.43
2 19.44 3.26
3 19.56 3.27
4 19.58 3.28
5 19.59 3.28
6 19.59 3.28
$param
[1] 19.59 3.28
$niter
[1] 6
$demand
1 1 0 1 0 0 0 0 0 1 0 0 0
20.49 25.16 12.00 22.07 14.00 19.00 25.00 23.00 21.00 19.61 16.00 17.00 20.00
0 0 1 0 0 1 1
18.00 17.00 20.92 21.00 20.00 20.92 19.68
$history
Mean StDev
1 18.69 3.43
2 19.44 3.26
3 19.56 3.27
4 19.58 3.28
5 19.59 3.28
6 19.59 3.28
$param
[1] 19.59 3.28
$niter
[1] 9
$demand
1 1 0 1 0 0 0 0 0 1 0 0 0
20.49 25.16 12.00 22.07 14.00 19.00 25.00 23.00 21.00 19.61 16.00 17.00 20.00
0 0 1 0 0 1 1
18.00 17.00 20.92 21.00 20.00 20.92 19.68
$history
Mean StDev
1 18.69 3.43
2 19.44 3.26
3 19.56 3.27
4 19.58 3.28
5 19.59 3.28
6 19.59 3.28
7 19.59 3.28
8 19.59 3.28
9 19.59 3.28
[1] "Warning: All demand instances are unconstrained"
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.