Hello, Since the optimization goal is quadratic and constraint is linear, quadratic programming functions will help. There are many such packages available, e.g. quadprog.
On Tue, Jun 16, 2009 at 5:54 PM, Stu @ AGS<s...@agstechnet.com> wrote: > After a few days of work, I think I nearly have it. > > Unfortunately, theta is unchanged after I run this (as a script from a > file). I thought that theta would contain the fitted parameters. > > > > The goal here is to find the least squares fit according to the function > defined as "rss" subject to the constraints defined as ui and ci. > > I defined ui and ci to (hopefully) force par2 and par3 into the range 0.0 > <= par2 <= 1.0 and 0.0 <= par3 <= 1.0. > > I am not at all sure that ui and ci are defined correctly. > > > > The call to constrOptim returns normally, but without a solution > (apparently). > > > > Any suggestions appreciated. > > Thanks > > Stu > > > > # data > > y <- > c(0.111111111111111,0.0921052631578947,0.0564516129032258,0.0608108108108108 > ,0.0128205128205128,0.0136078431372549); > > x1 <- > c(0,0.978723404255319,0.087378640776699,0.549295774647887,0.0596026490066225 > ,0.61578947368421); > > x2 <- c(1,3,4,5,6,7); > > x3 <- c(3600,169200,185400,255600,271800,342000); > > > > observs <- data.frame(y, x1, x2, x3); > > > > # function definition > > rss <- function(par, y, x1, x2, x3) { > > par1 <- par[1] > > par2 <- par[2] > > par3 <- par[3] > > ressq <- (y - par1 * (x1 + 1) * x2^(-par2) * x3^par3)^2 > > sum(ressq) > > } > > > > #call to optimizer > > opti <- constrOptim(c(0.5, 0.5, 0.1), rss, NULL, ui = rbind(c(0, 0), c(1, > 0), c(0, 1)), ci = c(0, 1, 1)); > > > > > [[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. > -- 彭河森 Hesen Peng http://hesen.peng.googlepages.com/ ______________________________________________ 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.