使用optim() - 两个方程式两个未知数R.

时间:2015-09-21 19:54:14

标签: r optimization

我正在尝试使用optim()来解决&格言。以下等式系统:

group

参数/变量定义如下:

model <- function(z) {
    q1 <- z[1]
    q2 <- z[2]
    return ((10-2*(q1+q2))*q1-k1*q1)
    return ((10-2*(q2+q1))*q2-k2*q2)
}

其余如下:

A <- rep(0,2)
lowerb <- rep(0,2)
upperb <- rep(6,2) 
k1 <- 3
k2 <- 2

我没有收到错误,但是,最大值应该是在q1 = 1和q2 = 1,5而不是在1,75和0,因为R现在正在说明。由于我需要将它应用于更复杂的方程系统,我确实使用了一个简单的方程式,可以轻松地手动计算。

感谢帮助!非常感谢!

1 个答案:

答案 0 :(得分:0)

k1 <- 3
k2 <- 2
q2 <- 0
q2 <- 0 
for (i in 1:20) {
  #For 1
  objective1 <- function(q) ((10-2*(q+q2))*q-k1*q)
  result1 <- optimize(objective1, c(0,10), maximum = TRUE)
  q1 <- result1$maximum 
  #For 2
  objective2 <- function(q) ((10-2*(q1+q))*q-k2*q)
  result2 <- optimize(objective2, c(0,10), maximum = TRUE)
  q2 <- result2$maximum 
  }
q1
q2