#Based on Conrad Examples (Natural Resource Economics) #Page 20 #Hamiltonian Method, terminal time GET_Z <- function(lambda_2){ Z=(1-lambda_2)/2 return(Z) } GET_LAMBDA <- function(LAMBDA_2,Z){LAMBDA_2+Z^2} Z_RES <- c() LAMBDA_RES <- c() LAMBDA_RES[1] <- 0 #Z_RES[10] <- 0 for(i in 1:10){ Z_RES[i] <- GET_Z(LAMBDA_RES[i]) if(i<10){LAMBDA_RES[i+1] <- GET_LAMBDA(LAMBDA_RES[i],GET_Z(LAMBDA_RES[i]))} } Z_RES <- c(rev(Z_RES),0) LAMBDA_RES <- c(NA,rev(LAMBDA_RES)) X_RES <- c() Y_RES <- c() C_X <- 1000 for(i in 1:11){ X_RES[i] <- C_X Y_RES[i] <- Z_RES[i]*C_X C_X <- C_X-Y_RES[i] } RES <- cbind(LAMBDA_RES,Z_RES,X_RES,Y_RES) plot(X_RES) lines(1:11,Y_RES) #Phase Plane Diagram plot(X_RES,LAMBDA_RES) #Page 22 Dynamic Programming, terminal time #Bellmans Equation backward induction