I tried ti run a simple example with function solnp() from Rsolnp: find max(x+y) on a unit circle x*x+y*y=1. The answer should be x=y=1/sqrt(2) with max=sqrt(2).
Here are my code and results ################################################ > # test Rsolnp > library(Rsolnp) > fn1 <- function(x) + { + x[1] + x[2] + } > cond <- function(x) + { + z<- x[1]*x[1] + x[2]*x[2] + } > x0 <- c(0,1) > cval <- c(1) > optim <-solnp(x0,fun=fn1,eqfun=cond,eqB=cval) Iter: 1 fn: 1.0000 Pars: -3.053e-11 1.000e+00 solnp--> Completed in 1 iterations > optim $pars [1] -3.053113e-11 1.000000e+00 $convergence [1] 0 $values [1] 1 1 $lagrange [,1] [1,] 0.5 $hessian [,1] [,2] [1,] 2e+10 0 [2,] 0e+00 1 $ineqx0 NULL $nfuneval [1] 13 $outer.iter [1] 1 $elapsed Time difference of 0.00500083 secs > ##################################################### SOMETHING IS WRONG BUT I DO NOT SEE ANY MY MISTAKE. [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.