帮助R中的约束优化设置

时间:2014-10-13 07:53:32

标签: r optimization

我有一个函数,我希望优化哪些参数。作为一个简化的例子,该函数看起来像这样:

F <- function (d)
    {
            num_iterations <- 10
            function_data <- c(1,3,5,7,9,11)
            rslt <- 0
            di_1 <- 1
            di_2 <- length(function_data) 
            for (i in 1:num_iterations)
            {
                 di <- d [di_1:di_2]
                 rslti <- function_data - di

                 rslt <- rslt + sum(rslti)

                 function_data <- rslti
                 di_1 <- di_1 + length(function_data)
                 di_2 <- di_2 + length(function_data)

            }

            return (rslt)
    }

其中d是长度等于:num_iteration * length(function_data)的向量。

所以我希望最大化函数F并优化d的值,由每次迭代的d值组成。问题是我必须以某种方式限制优化过程,特别是在函数内部迭代di必须小于或等于function_datadi <= function_data)。此外,函数的标量结果应为正数。

由于di <= function_data每次迭代都会更改,因此我很难指定条件function_data。我在R中玩过 optim constrOptim ,但我认为不可能在 constrOptim 中设置这样的约束。

所以我想问一下如何(或者是否)可以在R中设置这个约束优化问题。我将非常感谢任何帮助,评论,代码片段或优化包建议。请耐心等待我,我是新手。

谢谢。

0 个答案:

没有答案