vaprox.split() DemonstrationThis vignette illustrates the use of vaprox.split() to
approximate the value function in a forest management application.
The example replicates the Douglas-fir forest application for an industrial site class 3 in western Oregon from Hashida and Fenichel (2022).
The demonstration data are provided in the forest
dataset included in the capn package.
## Example (industrial classite 3) from Hashida and Fenichel (2022)
data("forest")
param <- forest$param
simData <- forest$simData
Aspace <- aproxdef(param$order,param$lowerK,param$upperK,param$delta)
vCsplit <- vaprox.split(Aspace, simData$vol, simData$growth,
simData$profit, param$crit.vol,
param$margp, param$splittime)
vsimsplit <- vsim(vCsplit, simData[,1])
## harvest node and its time
hnode <- min(which(simData$vol > param$crit.vol))
m <- hnode -1
## plot data generation
plotdata <- data.frame(stock = vsimsplit$stock[1:m],
price = exp(-(simData$times[1:m]-simData$times[1])*param$delta)*vsimsplit$shadowp[1:m],
vfun = exp(-(simData$times[1:m]-simData$times[1])*param$delta)*vsimsplit$vfun[1:m])
## plot shadow (accounting) prices
## 3p of Figure 4 in Hashida and Fenichel (2022)
plot(plotdata$stock,plotdata$price,type='l',col='blue',
xlab = 'Forest Volume (MBF)',
ylab = 'Shadow Price ($/MBF)')
## plot value function
plot(plotdata$stock,plotdata$vfun,type='l',
xlab = 'Forest Volume (MBF)',
ylab = 'Value Function ($)')