Free Python optimization framework

Saturday, September 20, 2008

new converter: lsp2nlp

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


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

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

Dmitrey said...

1. Please don't post comments unrelated to topic. All my coords are available here, 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.