【问题标题】:replacement has length zero: auglag function from alabama package in R替换长度为零:来自 R 中阿拉巴马州包的 auglag 函数
【发布时间】:2019-02-09 15:35:03
【问题描述】:

(已编辑) 我试图重复在 Internet 上找到的示例(代码如下)。不幸的是,我遇到了一个错误:“h[1] 任务是在给定等式和不等式约束的情况下最小化函数:

# To minimize:  -(0.653*x[1] + 0.234*x[1]*x[1]+ 0.437*x[2]
# + 0.769*x[3] + 0.453*x[4] + 0.744*x[5] + 0.476*x[5]*x[5])

# Equality constraint: x[1] + x[2] + x[3] + x[4] + x[5] = 2600

# Inequality constraints:
# x[1] > 900      # x[4] > 175
# x[1] < 1100     # x[4] < 225
# x[2] > 400      # x[5] > 295
# x[2] < 600      # x[5] < 305
# x[3] > 250
# x[3] < 350

fn <- function(x) {
  -(0.653 * x[1]+ 0.234 * x[1] * x[1]+ 0.437 * x[2] + 0.769 * x[3] +
      0.453 * x[4] + 0.744 * x[5] + 0.476 * x[5] * x[5])
}

heq <- function(x) {
  h <- rep(NA, 1)
  h[1] <- x[1] + x[2] + x[3] + x[4] +x[5] - 2600
  h
  }

hin <- function(x) {
  h <- rep(NA, 1)
  h[1] <- x[1] - 900
  h[2] <- 1100 - x[1]
  h[3] <- x[2] - 400
  h[4] <- 600 - x[2]
  h[5] <- x[3] - 250
  h[6] <- 350 - x[3]
  h[7] <- x[4] - 175
  h[8] <- 225 - x[4]
  h[9] <- x[5] - 295
  h[10] <- 305 - x[5]
  h
}

ans <- auglag(par=NULL,fn=fn, gr=NULL,hin=hin, heq=heq)

【问题讨论】:

  • 您是否查看了?auglag 帮助页面中的示例?仅仅请求示例真的不是一种在这里受到欢迎的“问题”。如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。

标签: r optimization


【解决方案1】:

问题是您没有输入初始起点。

auglag(par = 1:5, fn = fn, hin = hin, heq = heq)

【讨论】:

    猜你喜欢
    • 2017-11-29
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    相关资源
    最近更新 更多