Может ли кто-нибудь помочь мне с настройкой функции `optim() 'для двух переменных с разными граничными условиями?Функция Optim() для нескольких переменных с различными граничными условиями в R
x = rnorm(1:100)
y = rnorm(1:100)*50+2
#ndays is a vector of two values
test=function(ndays, x, y){ sum(x*ndays[1] - (x^2)*ndays[2] + y^2) }
optim(par = c(2,10),test, x=x, y=y, lower=c(1,10),upper=c(20,30), method="L-BFGS-B")
$par
[1] 20 30
Очевидно, что эта оптимизация не работает, как Ndays [2] должно быть 10.
Если optim()
не хорошая функция для применения здесь, вы бы рекомендовать некоторые другие функции?
Спасибо, Вы правы, я смутился, когда пытался составить пример, чтобы продемонстрировать мою проблему. Итак, давайте предположим, что эта функция более сложна, и моделируемые значения всегда лежат на границе, как я могу с ней справиться? У вас есть какие-то советы, которые я могу взять взаймы? –