- 我正在使用pip
进行优化。
起始参数值需要满足我的约束。应该是这种情况,但constrOptim()
会抛出错误:
初始值不在可行区域
我出错了什么?
看看这些约束
constrOptim
让我们使用这些初始参数:
ci <- c(0, 0, 0, 0, 0, -10, -1 , -1, -1, -1, 0, -1, 0, -1)
ui <- matrix(
c( 1, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 0,
0, 0, 0, 0, 1,
-1, 0, 0, 0, 0,
0, -1, 0, 0, 0,
0, 0, -1, 0, 0,
0, 0, 0, -1, 0,
0, 0, 0, 0, -1,
0, 1, 1, 0, 0,
0, -1, -1, 0, 0,
0, 0, 0, 1, 1,
0, 0, 0, -1, -1), ncol=5, byrow=T)
...让我们检查它们是否满足约束条件,如&#34;详细信息&#34; documentation of constrOptim的一部分。 (他们似乎满足了约束条件)
par <- c(1.0, 0.5, 0.5, 0.5, 0.5)
但是运行ui %*% par - ci >= 0
# TRUE
会抛出parms不在可行区域中的错误。
constOptim()