Динамическая Оптимизация - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь установить проблему, которая максимизирует потребление (и) в течение времени (10 лет) с учетом изменения благосостояния (х т + 1 - х т = -c t ), где x 0 = 1000.Я пытался решить это, но не могу оценить функцию по начальным параметрам.Кроме того, окончательные условия: x 10 > = 0 и u 10 > = 0. Вот код, который я использую:

library('optimx')

# Parameters
t <- seq(0,10) # time
desc <- 0.1 # tax
beta <- 1/(1+desc) # parameter of function
alpha <- 0.8 # function
xo = 1000 # wealth in t=0

# Variables
x <- rep(xo, length(t)) # wealth in time

# Function
utilidade_total <- function(u, npar=TRUE, print=TRUE){
  for (i in lenght(t)){
    obj[i]=(beta^i)*(u[i]^alpha)
    x[i]=x[i-1]-u[i-1]
  }
  result <- sum(obj)
  return(result)
}

maxuti <- optimx(par=u,fn= utilidade_total,
                 control = list(maximize=TRUE))

umax <- coef(maxuti)

for (i in 2:lenght(t)){
   print(obj[i]=(beta^i)*(u^alpha))
    print(stock[i]=x[i-1]-umax[i-1])
}

# Result
for (i in 2:lenght(t)){
  obj[i]=(beta^i)*(u^alpha)
  x[i]=x[i-1]-u[i-1]
}

plot(t, x, type='b')
plot(t, u, type='b')
...