Hi, I'm having trouble using the constrOptim function to generate the 9-component vector argmin of the function ELfsds:
ELfsds <- function(pvechat){ LG=0 for(i in 1:9){ LG=LG+log(pvechat[i]) } return(-LG) } with accompanying gradient function: gradfunc <- function(thetavec){ g=1/(9*thetavec) return(g) } The constraints on the optimization problem are: 1 - components of potentialargmin must add to 1. 2 - each potentialargmin component must be (weakly) positive and (weakly) less than 1. 3 - potentialargmin %*% c(1,2,3,4,5,6,7,8,9) = 4.5 I'm starting the optimization routine at: thetatest = c(0.02, 0.2755, 0.139, 0.0955, 0.1025, 0.125, 0.13, 0.055, 0.0575), which satisfies all constraints and was found through trial-and-error guessing. The constrOptim line I've been using is: pvec <- constrOptim( thetatest, ELfsds, gradfunc, ui = rbind( -diag(9), dvec, -dvec, rep(-1,9), rep(1,9) ), ci = cbind( c(rep(-1,9), fsdmean-0.005, -fsdmean-0.005, -1.005, 0.995) ) ) (constraints in constrOptim are phrased such that (ui %*% thetatest - ci >= 0)) constrOptim says that the argmin of the function is exactly thetatest. I'm confident that I didn't select the argmin with thetatest. I would really appreciate any input you have on this code -- I've been staring at it for a while and feel like I'm just banging my head into the wall now. Thank you very much for your time and help!!! Best regards, Joanne ______________________________________________ R-help@stat.math.ethz.ch 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.