From: Jens Hainmueller <jhainm_at_fas.harvard.edu>

Date: Thu 13 Oct 2005 - 11:52:30 EST

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 Received on Thu Oct 13 12:06:44 2005

Date: Thu 13 Oct 2005 - 11:52:30 EST

Hi R-list,

I am new to optimization in R and would appreciate help on the following question. I would like to minimize the following function using two constraints:

######

fn <- function(par,H,F){

fval <- 0.5 * t(par) %*% H %*% par + F%*% par fval

}

*# matrix H is (n by k)
*

# matrix F is (n by 1)

# par is a (n by 1) set of weights

*# I need two constraints:
*

# 1. each element in par needs to be between 0 and 1

# 2. sum(par)=1 i.e. the elements in par need to sum to 1

## I try to use optim

res <- optim(c(runif(16),fn, method="L-BFGS-B", H=H, F=f
,control=list(fnscale=-1), lower=0, upper=1)
######

If I understand this correctly, using L-BFGS-B with lower=0 and upper=1 should take care of constraint 1 (box constraints). What I am lacking is the skill to include constraint no 2.

I guess I could solve this by reparametrization but I am not sure how exactly. I could not find (i.e. wasn't able to infer) the answer to this in the archives despite the many comments on optim and constrained optimization (sorry if I missed it there). I am using version 2.1.1 under windows XP.

Thank you very much.

Jens

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 Received on Thu Oct 13 12:06:44 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:40:42 EST
*