DE optimization with equality constraint
On Sat, Mar 29, 2008 at 9:33 PM, Hans W. Borchers <hwborchers at gmail.com> wrote:
Reply to "Optimization with constraint" on March 14, 2008
One can get an accurate solutons applying the "Differential Evolution" algorithm
as implemented in the DEoptim package:
f2 <- function(x){
if (x[1] + x[2] < 1 || x[1] + x[2] > 1) {
r <- Inf
} else {
r <- x[1]^2 + x[2]^2
}
return(r)
}
lower <- c(0, 0)
upper <- c(1, 1)
DEoptim(f2, lower, upper, control=list(refresh=200))$bestmem
iteration: 200 best member: 0.5 0.5 best value: 0.5
This approach assumes nothing about the gradient, hessian or whatever. And the
equality is split into two inequalities assuming no relaxation or penalty.
The problem with DEoptim approach is that is not guaranteed that it converges to the solution. Moreover, from my experience, it seems to be quite slow when the optimization problem is high-dimensional (i.e., with many variables). Paul
Andreas Klein <klein82517 <at> yahoo.de> wrote:
> > Hello. > > I have some problems, when I try to model an > optimization problem with some constraints. > > The original problem cannot be solved analytically, so > I have to use routines like "Simulated Annealing" or > "Sequential Quadric Programming". > > But to see how all this works in R, I would like to > start with some simple problem to get to know the > basics: > > The Problem: > min f(x1,x2)= (x1)^2 + (x2)^2 > s.t. x1 + x2 = 1 > > The analytical solution: > x1 = 0.5 > x2 = 0.5 > > Does someone have some suggestions how to model it in > R with the given functions optim or constrOptim with > respect to the routines "SANN" or "SQP" to obtain the > analytical solutions numerically? > > Again, the simple example should only show me the > basic working of the complex functions in R. > > Hope you can help me. > > With regards > Andreas.
______________________________________________ R-help at 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.