```Date: May 28, 2008 12:03 PM
Author: Michael
Subject: Re: Preventing negative values in fmincon

John and Bruno,I think I must be misinterpreting your suggestion.  I havetried several variations of what I think it means, butnothing seems to work.Did you mean to take the square root of the variables in theoriginal objective function without transforming thevariables in the constraints?  So because X1 = Y1^2, etc,then Obj = aX1^0.5 + ... = aY1 + ...subject to:  X1 + ... =< b.Everything I have tried either stopped because a negativenumber was passed into the square root, or has made theproblem less stable.  Am I completely missing the point?Thanks,Mike"John D'Errico" <woodchips@rochester.rr.com> wrote inmessage <g16p8v\$5ee\$1@fred.mathworks.com>...> "Mike " <michael.gerstREMOVE@yale.edu> wrote in message > <g16n7a\$9m8\$1@fred.mathworks.com>...> > Bruno and John, thanks for the tip.> > > > If I understand you correctly, the following simple LPproblem> > > > Obj = a*X1 + a*X2 + a*X3> > subject to: X1 + X2 + X3 =< b> > > > would transform to> > > > Obj = a*sqrt(X1^2) + b*sqrt(X2^2) + c*sqrt(X3^2)> > subject to: sqrt(X1^2) + sqrt(X2^2) + sqrt(X3^2) =< b> > > > Is this the basic idea?> > Not exactly. Have the optimizer vary a vecotr> with three unknowns in it [Y1,Y2,Y3]. Inside> the objective function, transform your> variables so that> > X1 = Y1^2> X2 = Y2^2> X3 = Y3^2> > So now X1, X2, X3 are assured to be positive.> > When the optimization is done, and it returns> the vector [Y1, Y2, Y3], just square the elements> to recover [X1, X2, X3].> > There are similar strategies to deal with variables> that have both upper and lower bounds.> > John
```