如题,最近编程想求解带有约束条件的非线性方程的极值问题,查找发现R中的solnp函数可以实现,但是有个问题,关于他给的例子:
fn1=function(x)
{
exp(x[1]*x[2]*x[3]*x[4]*x[5])
}
eqn1=function(x){
z1=x[1]*x[1]+x[2]*x[2]+x[3]*x[3]+x[4]*x[4]+x[5]*x[5]
z2=x[2]*x[3]-5*x[4]*x[5]
z3=x[1]*x[1]*x[1]+x[2]*x[2]*x[2]
return(c(z1,z2,z3))
}
x0 = c(-2, 2, 2, -1, -1)
powell=solnp(x0, fun = fn1, eqfun = eqn1, eqB = c(10, 0, -1))
这里的条件是说eqn1里的函数z1=0,z2=0,z3=0吗?因为发现求出来的值带进去之后不为0啊?