| Task | Importance | Difficulty | Details | Status
|
| Some openopt code clean up | 10 | 10 | for efficient further OO development code clean up is required, especially for files runProbSolver.py, Residuals.py, objFunRelated.py (latter should be modified before dependency patterns implementation). More object-oriented code and attributes should be added instead of the lines like "if p.probType in [LP, QP, ...]" | Some % are done
|
| Fix nssolve graphics output for constrained problems | 2 | 2 | it's better to do after some openopt code clean up, especially in ooGraphics.py | Done
|
| Unified text output for all NLP solvers (that should be stored in single py-file), including those w/o native callback function | 5 | 5 | | Done
|
| implement handling of maximization problems + correct graphic & text output for the ones | 4 | 4 | | Not ready for some classes yet (ready for NLP, NSP)
|
| Create some converters like QP -> NLP, LLSP -> QP | 10 | 4*(number of the converters) | I intend to do something like p = QP(...), r=p.solve('nlp:ralg'), so converter qp2nlp will translate p to NLP and use ralg solver. Of course specialized solvers usually show much better results but they can fail to be compiled/installed and/or currently absent in OO at all | Done
|
| Create DFP class (Data Fit), with syntax similar to MATLAB's lsqcurvefit (+constraints), provide solver(s) | 8-9 | 7-8 | For UC problems converter to MINPAC's leastsq could be used, for constrained - converter dfp2nlp. DFP could be very convenient (vs LSP) for translating MATLAB code with lsqcurvefit or nonlinfit | requires converter dfp2nlp implementation
|
| Write or connect NLSP solver with blockwise decomposition | 4 | ? | |
|
| Add scaling to lpSolve | 1 | 1 | | Done
|
| Provide {OO} <-> {ALGENCAN v.2.0} bridge | 10 | ?(4-5) | | Done
|
| Provide integer problems handling by GLP solver galileo | 7-8 | 2-3 | | Done
|
| Create OO web doc page entry with description of graphic arguments | 2 | 2 | color, show, etc |
|
| Create OO web doc page entry with description of NLP parameters | 2 | 2 | maxTime, maxCPUTime, maxIter, contol etc |
|
| Make available at least one constrained NLP solver with 2nd derivatives | 10 | ? | Most inconvenient issue is lots of sparse matrix formats in Python, incompatible with each other: PySparse, CVXOPT (is required in CVXOPT nlp solver), scipy.sparse, simple list of [i,j,val] (ALGENCAN style), so it requires lots of translatrs from each one to another one. Maybe, it's better to wait till numpy will have native sparse matrices |
|
| Connect bvls.f to scipy | ? | very simple for those who are very skilled in fortran & f2py | I want to implement callback function (for using native OO stop criteria like maxTime, maxCPUTime, text & graphic output), but it requires more advanced knowledge of f2py |
|
| Implement LLAVP class (linear least absolute value problem), connect solver(s) | 4-5 | 4-5 | toms/615 could be used | Done (converter llavp2nsp is temporary solution)
|
| Connect IPOPT | 10 | ? | most famous free NLP solver from coin-or project, license: CPL | Done (Linux-only)
|
| Implement dependency patterns | 10 | 8-9 | main problems are avoiding slow Python loops and minimizing memory consumption via sparse matrices or somehow else | Done via oofun, see /examples/oofun/set_deps.py
|
| Add scaling | 8 | 7-8 | | Done, see OO Doc page or examples/badlyScaled.py
|
| Connect a GLP (global) solver | 8 | ? | scipy.optimize.anneal doesn't work correctly; I had tried to rewrite this and this MATLAB fileexchange solvers to Python (latter is especially good because it is vectorized) but it still don't work properly | "galileo" solver (license: GPL) has been connected
|
| Add more GLP solvers | ? | ? | currently single GLP galileo solver, AFAIK w/o efficient vectorization and loops avoiding | pswarm has been connected
|
| Connect CLP | 8 | 5-6? | another free solver from coin-or for LP, license: CPL; the connection is obsolete NumArray-based |
|
| Connect constrained LLSP solver | 9-10 | 5-6 | the one would be a good candidate | bvls connected
|
| Connect constrained NLLSP solver | 8? | ? | converter to NLP has been written |
|
| Connect QP solver w/o copyleft | 8? | ? | I have tried to connect qld but is yields strange (and seems incorrect) results |
|
| Enhance ralg solution precision | 9 | 7-9 | current implementation will hardly give solution with better precision than deltaX ~1e-6, while its possible (like in ralg Fortran version) to achieve deltaX ~1e-20...1e-30 | Some enhancements have been done, some more is intended to be implemented in future
|
| Implement ralg-4 instead of ralg-5 | 7-8 | 7-8 | See chapter 2 from "Other ralg features" here |
|
| Implement SDP class, connect solver(s) | 9-10? | ? | CVXOPT native and DSDP solvers have been connected |
|
| Implement MINLP class (mixed-integer NLP), connect solver(s) | 5-7? | ? | mb something like "branch and bound" would be useful; mb translating of fminconset (MATLAB-written routine) + OO NLP solver(s)? |
|
| Implement MMP class (mini-max), connect solver(s) | 5-7? | ? | | Done. Some ralg-based code is temporary solution
|
| Possibility to obtain 1st derivatives df, dc, dh via parallel calculations | 10 | ? | mb something from here could be useful |
|
| fix iterValues issue with converters | 4 | 4 | |
|
| connect Soplex | 5 | 8-9 | LP/MILP solver, free for academic usage, one of most powerful |
|
| connect NEWUOA | 7-8 | 8-9 | one of most powerful NLP solvers, BSD license (or free at all?) |
|
| position to add your own task | | | |
|