【问题标题】:R language: Maximize function subject to another functionR语言:最大化函数服从另一个函数
【发布时间】:2013-10-27 10:06:38
【问题描述】:

我很想知道如何使用 R 最大化受 x + y = 100 约束的函数 f(x) = xy。我知道一些包,如 optim 或 optimize 有助于做到这一点,但它需要参数的值向量待优化。我想知道我是否可以在不使用这些值的情况下做到这一点。

任何建议或帮助将不胜感激。

谢谢!!

【问题讨论】:

  • 这不只是一个接近无穷大的极限吗?无限被x=100100/(100-100) 击中
  • 对不起。我的错。它是 xy 而不是 x/y
  • 这并没有太大变化,您仍然可以用x 表达y,并将该函数提供给optimise - 即function(x) 100*x - x^2。对于这个假设的示例,您知道 x 必须介于 0 和 100 之间,所以我不知道为什么需要指定上限和下限是一个很大的问题。
  • 这看起来像是经济学作业中熟悉的问题。您可以查找 cobb-douglas 函数(其中 xy 是一个特例)以了解如何解析求解。一旦你知道该怎么做,你应该能够在你的脑海中解决这个问题...... :)
  • 你不就是最大化x*(100-x)吗?好像是大一的微积分。这是一个 R 问题吗?

标签: r optimization


【解决方案1】:

是的,我能够做到。

maxiFunc <- function(x) {
    x1 <- x[1]
    y = (500-x1)/2
    x1*y
}
xmax = optimize(maxiFunc, interval= c(0, 500), tol = .Machine$double.eps^0.25, maximum = TRUE)
paste("The maximum value of the function is", xmax$objective)

我并不是要问高中微积分问题,而是想知道是否有办法解决我没有指定interval= c(0, 500) 的问题。感谢您的投入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 2014-07-14
    相关资源
    最近更新 更多