Optimization codes


You find information about some more optimization codes from P.Spellucci and Rolf Felkel here. In order to get the codes you must directly write to s p e l l u c c i _at_ @mathematik.tu-darmstadt.de (remove the blanks from the name) for academic use you will get the codes free of any charge . !!!for commercial use you have to sign a license agreement with TUD !!!which owns the right of commercial exploitation of this work. !!!there will be a small royalty fee to be paid once for all. Each code comes as a gzipped tar file , with documentation and mostly testcases.

 
  • Unconstrained minimizer


  • domin.tar contains Spellucci's implementation of the BFGS minimizer, with control of conditioning, updating of the Cholesky decomposition and a stepsize code based on a mix of interpolation and backtracking. It also has the possibility to use numerical gradients. domin_ad.tar is the same code, combined with netlib's jakef code for automatic differentiation which takes off the burden of coding the analytic gradient.
  • domin_c.tar contains a f2c'ed version of domin.f you will need also f2c-libs.tar for using this.
  • Bound constrained minimization


  • gpcg.tar is the implementation of the More-Toraldo version of the conjugate gradient method combined with gradient projection. There is presently no preconditioner built in.
  • gpcg_c.tar is the same code in its version from f2c (uses f2c-libs)
  • pl2_orig.tar.gz is a f77/gfortran implementation of Heinrich's ''3-directions-method'' combined with an incomplete Newton's method based on the Lanczos method and with gradient projection. This is meant for large scale possibly nonconvex bound constrained minimization and aims in finding second order necessary points.
  • pl2c2.tar.gz is this the pl2 code in ansi c, accompanied by the necessary stuff from clapack. no f2c stuff needed here.
  • convex QP solver

  • dualqp.tar contains Spellucci's implementation of the Goldfarb-Idnani dual QP method for solving general convex QP's. comes with driver which allows sparse matrix input. internally there is no sparse linear algebra. The original algorithm using unitary tansformations is used, which would destroy sparsitiy anyway.
  • dualqp_c.tar is the same code translated with f2c hence you will need f2c-libs for this.