[R] Optim with two constraints

Thomas Wood twood at fortmasoncapital.com
Thu Oct 20 18:15:44 CEST 2005


   Alexis,
   WIKI:
   You  create  the  box  constraints with two inequality constraints for
   each  element.    Suppose  that you have five elements, and your upper
   bound is .33, and your lower bound is 0.   Then quadprog would require
   constraints as:
   A[1,]=(1,0,0,0,0)    b=(0)
   A[2,]=(-1,0,0,0,0)   b=(-.33)
   A[3,]=(0,1,0,0,0)     b=(0)
   A[4,]=(0,-1,0,0,0)      b=(-.33)
   .....and so on.
   The  syntax  is  not  quite correct but you get the picture.  Remember
   that   quadprog   distinguishes   between   equality   and  inequality
   constraints,  and  these must be inequality constraints.  The trick to
   the  upper  bound  is to multiply the constraint by -1 (as indicated),
   which  effectively translates the constraint from a <= constraint into
   the >= type of constraint required by quadprog.
   Regards,
   Tom
   Alexis Diamond wrote:

   I  have  a  follow-up  from  Jens's  question  and  Professor Ripley's
   response. Jens wants to do quadratic optimization with 2 constraints:

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

how does one set both constraints in quadprog, per Prof. Ripley's suggestion?

i know how to get quadprog to handle the second constraint, but not
BOTH, since quadprog only takes as inputs the constraint matrix "A"
and constraint vector "b"--
unlike in "ipop" (kernlab), there is no additional option for box constraints.

apologies if i am not seeing something obvious here.

thanks in advance,

alexis

  

   --

   Tom Wood
   Fort Mason Capital
   456 Montgomery Street 22nd Floor
   San Francisco, CA 94104
   Direct: 415-249-3387
   Fax: 415-249-3389
   [1]twood at fortmasoncapital.com

References

   1. mailto:twood at fortmasoncapital.com



More information about the R-help mailing list