1

我已经在 Excel 中完成了,但需要在 R 中运行适当的模拟。

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

我已经用optimand试过了constrOptim。他们都没有给你这个选项。

4

3 回答 3

2

您所指的问题是(大概)具有非线性约束的非线性优化。这是最普遍的优化问题之一。

我用于这些目的的包称为nloptr请参阅此处。根据我的经验,它既通用又快速。eval_g_eq您可以通过相应地设置和来指定相等和不等式约束eval_g_ineq。如果雅可比是明确已知的(可以分析得出),请指定它们以加快收敛速度​​;否则,使用数值近似。

将此列表用作优化问题的一般参考。

于 2014-02-06T19:26:20.497 回答
1

使用拉格朗日乘数写出方程组,然后使用 R 命令nlm求解。

于 2014-02-06T21:53:46.587 回答
0

您可以在 OpenMx 包中执行此操作(目前托管在下面列出的站点。目标是今年在 cran 上发布 2.0)

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

对于您的情况,使用 mxAlgebras() 中表示的代数和 mxConstraints() 中的约束创建一个 mxModel()

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

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

于 2014-07-25T14:19:06.277 回答