[R] minimization function

Gabor Grothendieck ggrothendieck at gmail.com
Sun Apr 11 17:02:12 CEST 2010


Add meq=1 to the arguments.

On Sun, Apr 11, 2010 at 9:50 AM, li li <hannah.hlx at gmail.com> wrote:
> Hi, thank you very much for the reply!
>
> Consider minimize quadratic form w'Aw with A be the following matrix.
>> Dmat/2
>      [,1] [,2] [,3]
> [1,]  1.0  0.5  0.8
> [2,]  0.5  1.0  0.9
> [3,]  0.8  0.9  1.0
> I need to find w=(w1,w2,w3), a 3 by 1 vector, such that sum(w)=3, and wi>=0
> for all i.
>
> Below is the code I wrote, using the function solve.QP , however, the
> solution for w still have a
> negtive component. Can some one give me some suggestions?
>
> Thank you very much!
>
>> x <- 2*c(1,0.5,0.8,0.5,1,0.9, 0.8,0.9,1)
>> Dmat <- matrix(x, byrow=T, nrow=3, ncol=3)
>> dvec <- numeric(3)
>> Amat <- matrix(0,3,4)
>> Amat[,1 ] <- c(1,1,1)
>> Amat[,2:4 ]<- t(diag(3))
>> bvec <- c(3,0,0,0)
>>
>> solve.QP(Dmat,dvec,Amat,bvec=bvec)
> $solution
> [1]  1.500000e+00  1.500000e+00 -8.881784e-16
> $value
> [1] 6.75
> $unconstrained.solution
> [1] 0 0 0
> $iterations
> [1] 3 0
> $Lagrangian
> [1] 4.5 0.0 0.0 0.6
> $iact
> [1] 1 4
>
>
>
>
>
>
>
>
>
>
>
> 2010/4/10 Gabor Grothendieck <ggrothendieck at gmail.com>
>>
>> Check out the quadprog package.
>>
>> On Sat, Apr 10, 2010 at 5:36 PM, li li <hannah.hlx at gmail.com> wrote:
>> > Hi, thanks for the reply.
>> >   A will be a given matrix satisfying condition 1. I want to find the
>> > vector w that minimizes the
>> > quadratic form. w satisfies condition 2.
>> >
>> >
>> > 2010/4/10 Paul Smith <phhs80 at gmail.com>
>> >
>> >> On Sat, Apr 10, 2010 at 5:13 PM, Paul Smith <phhs80 at gmail.com> wrote:
>> >> >>    I am trying to minimize the quardratic form w'Aw, with certain
>> >> >> constraints.
>> >> >> In particular,
>> >> >>    (1) A=(a_{ij}) is n by n matrix and it is symmetric positive
>> >> definite,
>> >> >>        a_{ii}=1 for all i;
>> >> >>        and 0<a_{ij}<1 for i not equal j.
>> >> >>    (2) w'1=n;
>> >> >>    (3) w_{i}>=0
>> >> >>
>> >> >> Analytically, for n=2, it is easy to come up with a result. For
>> >> >> larger
>> >> n, it
>> >> >> seems
>> >> >> difficult to obtain the result.
>> >> >>
>> >> >> Does any one know whether it is possible to use R to numerically
>> >> >> compute
>> >> it?
>> >> >
>> >> > And your decision variables are? Both w[i] and a[i,j] ?
>> >>
>> >> In addition, what do you mean by "larger n"? n = 20 is already large
>> >> (in your sense)?
>> >>
>> >> Paul
>> >>
>> >> ______________________________________________
>> >> 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<http://www.r-project.org/posting-guide.html>
>> >> and provide commented, minimal, self-contained, reproducible code.
>> >>
>> >
>> >        [[alternative HTML version deleted]]
>> >
>> > ______________________________________________
>> > 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.
>> >
>
>



More information about the R-help mailing list