R中的任意约束优化

时间:2014-02-06 18:30:55

标签: r optimization constraints mathematical-optimization nonlinear-optimization

我在Excel中完成了它,但需要在R中运行正确的模拟。

我需要最小化函数F(x)x是一个向量),同时具有sum(x)=1的约束,x中的所有值都是[0,1]和另一个函数G(x) > G_0

我已尝试使用optimconstrOptim。他们都没有给你这个选择。

3 个答案:

答案 0 :(得分:2)

您所指的问题(可能)是非线性约束的非线性优化。这是最常见的优化问题之一。

我用于这些目的的包名为nloptrsee here。根据我的经验,它既多功能又快速。您可以相应地设置eval_g_eqeval_g_ineq来指定相等和不等式的重量。如果明确知道雅可比(可以通过分析得出),请指定它们以便更快收敛;否则,使用数值近似。

使用this list作为优化问题的一般参考。

答案 1 :(得分:1)

使用Lagrange multiplier编写方程组,然后使用R命令nlm求解。

答案 2 :(得分:0)

您可以在OpenMx包中进行此操作(目前主机位于下面列出的网站。目标是今年的2.0版本重新开始)

这是一个通用的包,主要用于结构方程建模,但处理非线性约束。

对于你的情况,用你的代数用mxAlgebras()表示mxModel()和mxConstraints()中的约束

当mxRun()模型时,如果可能的话,代数将在约束内求解。

http://openmx.psyc.virginia.edu/