[R] DE optimization with equality constraint

From: Hans W. Borchers <hwborchers_at_gmail.com>
Date: Sat, 29 Mar 2008 21:33:44 +0000 (UTC)


> 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.

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. Received on Sat 29 Mar 2008 - 21:37:07 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sun 30 Mar 2008 - 00:30:25 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive