[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Nonlinear Optimization with Constraints



PureBytes Links

Trading Reference Links

My problems with constraints ended up so that the
Lagrange multiplier did not have to be optimized. I
did not have to know the value of the Lagrange
multiplier. It was only implicit in the equations. 

Yours actually seems to be the same. There is only one
Lagrange multiplier, actually, and once you search for
optimum in multidimensional space of weights you
require that all partial derivatives versus weights
are zeros. Thus Lagrange multiplier will be present in
all equations (all partial derivatives equakl zero).
You don't have to optimize for Lagrange multiplier. It
is finally out of the equation as long as you remember
the constraint equation. 

Sergey


--- "Gray, Gabriel" <gabriel@xxxxxxxxxxxxxxx> wrote:

> First of all, thanks to all who responded.
> 
> I checked all the electronic references and the CERN
> site looks good
> except that it is in Fortran. Lester Ingbers's is a
> little too user
> unfriendly for my taste and adaptive annealing seems
> like overkill. As
> far as applications go, Matlab seemed to be, by far,
> the best.
> 
> Sergey,
> 
> "Adding constraints simply means modifying an object
> function via equation for constraints times Lagrange
> multipliers."
> 
> 
> That's right! I completely forgot. If the old
> objective function is just
> the minimum variance portfolio or :
> Min: SUMi(Wi^2 * VARi) + SUMi(SUMi<>j(Wi*Wj*COVij))
> Where Wi is the weight of each asset and VARi is the
> variance of asset i
> and COVij is the covariance of assets i and j.
> 
> Then, for example, if I want to add the constraints
> that all the asset
> weights sum to 1, :
> SUMi Wi=1
> 
> and that the portfolio have expected return R :
> 
> SUMi Wi*Ei=R
> 
> where Ei is the expected return of each asset.
> 
> 
> Then the new objective function would be:
> Min: SUMi(Wi^2 * VARi) + SUMi(SUMi<>j(Wi*Wj*COVij))
> - C*(1-SUM Wi)
> -Z*(R-Wi*Ei)
> 
> Where C and Z would be two Lagrange multipliers
> which I would just add
> as two additional elements to the input vector of
> independent variables
> to be optimized. I could then just use the standard
> Simplex optimization
> given in numerical recipes (www.nr.com). Is that
> right?
> 
> Gabriel
> 
> 
> 
> -----Original Message-----
> From: Sergey Efremov [mailto:svefremov@xxxxxxxxx] 
> Sent: Thursday, November 25, 2004 1:31 PM
> To: omega-list@xxxxxxxxxx
> Subject: Re: Nonlinear Optimization with Constraints
> 
> 
> The best optimization program that I know of is
> MINUIT, produced by CERN. It is distributed freely
> for educational and
> research purposes and may be purchased for
> applications other than
> above. (No relation other than past experience with
> it).
> 
>
http://wwwasdoc.web.cern.ch/wwwasdoc/hbook_html3/node118.html
> 
> It contains several algorithms for non-linear global
> optimization and
> especially good for finding global minimum of an
> object function.
> Contains SIMPLEX, MIGRAD, HESSE, MINOS, MINIMIZE
> (Monte-Carlo). It can
> simply SCAN over all parameters and find the minimum
> like TradeStation
> does. I believe some people work on converting it
> from FORTRAN to C/C++.
> 
> 
> Adding constraints simply means modifying an object
> function via equation for constraints times Lagrange
> multipliers.
> 
> Sergey
>  
> 
>