Free Python optimization framework

Saturday, September 20, 2008

new converter: lsp2nlp

I have committed lsp2nlp converter, see LSP page for details.

3 comments:

Leonid Volnitsky said...
This comment has been removed by the author.
Leonid Volnitsky said...

Дима, какой бы ты порекомендовал оптимизатор, если производные не достутны, она гладкая и наверно похожа на регрессию (канавы), одно вычивление около 2мин (C++), параметров от 10 до 100.

Dmitrey said...

1. Please don't post comments unrelated to topic. All my coords are available here http://scipy.org/scipy/scikits/wiki/OOFeedback, as I had answered to your 1st post.


2. The info you have provide is not enough. Do you have any constraints, box-bound (lb <= x <= ub), general linear (Ax < b, Aeq x = beq), general non-linear (c(x)<=0, h(x)=0). Is numerical noise value sufficient for the problem? (This is rather common situation if you have so much calculations - 2 min). Is the problem ill-conditioned? Convex? Is your function defined in whole R^nVars?

3. OpenOpt is Python toolbox. If all your code is C++, using other soft is recommended (low-level languages written). If you want free software first of all IPOPT (license: CLP, code: C++) should be taken into account, ALGENCAN (license: GLP, code: Fortran, has C++ interface) would be a good choice as well. Of course, there is a huge number of other NLP free solvers, especially unconstrained.

4. If you still intend to involve Python code (+OpenOpt), just connect C++ code to Python (using Cython/SWIG/Ctypes etc) and try using r=p.solve('ralg'), r=p.solve('scipy_cg'), r=p.solve('scipy_ncg'), r=p.solve('ipopt') etc (see OO NLP page for more details). Only experiment can reveal which one is more appropriate.

Regards, D.