|
From: Bianchetti M. <mar...@ca...> - 2007-05-28 16:54:28
|
Francois: Fran=E7ois : >Though, I'm not absolutely sure that the terms of use are compatible = with those of QL.=20 They look ok, any comment ? --- from http://www.alglib.net/copyrules.php --- Use Conditions for Source Codes 9. Unless otherwise stated, the Source Codes shall be distributed on the = basis of the terms and conditions, set out in this Document.=20 10. The visitor may include the Source Codes in the software = (irrespective of the fact whether those software programs are commercial = or not).=20 11. The visitor may modify the Source Codes on condition that the = comments, which accompany them (including the link to the distribution = terms and conditions), shall remain unchanged.=20 12. The visitor may distribute the software programs, which use various = Source Codes. The distribution of the Source Codes is allowed only along = with the program, which uses them. The visitor may not alter the = distribution terms and conditions for the Source Codes.=20 13. When using any kind of the Source Codes, the link to ALGLIB Project = is regarded as obligatory. In particular, when distributing the software = programs, which use Source Codes, through the Internet, it is obligatory = to use the hyperlink to the www.alglib.net at each page of the website, = which distributes the software programs.=20 14. Any other ways of using the Source Codes are possible only under = agreement with the author of ALGLIB Project.=20 --- Ciao Marco -----Original Message----- From: DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI=20 Sent: mercoled=EC 23 maggio 2007 19.35 To: Bianchetti Marco; qua...@li... Subject: RE: [Quantlib-dev] optimizers Here is a good C++ implementation candidate,=20 http://www.alglib.net/optimization/lbfgs.php Though, I'm not absolutely sure that the terms of use are compatible = with those of QL.=20 Fran=E7ois =20 -----Original Message----- From: qua...@li... = [mailto:qua...@li...] On Behalf Of = Bianchetti Marco Sent: Wednesday, May 23, 2007 6:13 PM To: qua...@li... Subject: [Quantlib-dev] optimizers Hello, at the moment are available into QuantLib the following optimizers: =B7 Simplex (recently revisited: the Numerical Recipes = implementation badly failed in finding the minimum of a 1D parabole...) =B7 Levenberg-Marquardt =B7 Conjugate Gradient =B7 Steepest Descent (still to be debugged, work in progress) and we are currently considering the option to port into QuantLib the = Broyden-Fletcher-Goldfarb-Shanno (BFGS2) algorithm, which in GSL is = declared to be the best (see the text below). So: =B7 Any comment on the choice of BFGS2? do anyone has experience = with it ? =B7 is anyone aware of an available open source C++ = implementation to be ported into Quantlib with small effort ? Personally, I would prefer NOT to translate the GSL implementation from = C to C++, because of the danger to introduce some tricky bug and because = it requires a much more sophisticated test suite (and much work). ciao Marco --- from: = http://www.gnu.org/software/gsl/manual/html_node/Multimin-Algorithms.html= Minimizer: gsl_multimin_fdfminimizer_vector_bfgs2 Minimizer: gsl_multimin_fdfminimizer_vector_bfgs These methods use the vector Broyden-Fletcher-Goldfarb-Shanno (BFGS) = algorithm. This is a quasi-Newton method which builds up an = approximation to the second derivatives of the function f using the = difference between successive gradient vectors. By combining the first = and second derivatives the algorithm is able to take Newton-type steps = towards the function minimum, assuming quadratic behavior in that = region.=20 The bfgs2 version of this minimizer is the most efficient version = available, and is a faithful implementation of the line minimization = scheme described in Fletcher's Practical Methods of Optimization, = Algorithms 2.6.2 and 2.6.4. It supercedes the original bfgs routine and = requires substantially fewer function and gradient evaluations. The = user-supplied tolerance tol corresponds to the parameter \sigma used by = Fletcher. A value of 0.1 is recommended for typical use (larger values = correspond to less accurate line searches).=20 |