Changes between Version 1 and Version 2 of OptimizationProblems
- Timestamp:
- 04/20/07 04:25:38 (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
OptimizationProblems
v1 v2 1 There are lots of commercial modelling systems for numerical optimization like AMPL(www.ampl.com), GAMS(www.gams.com), TOMLAB are. Just see for example 2 http://tomopt.com/tomlab/company/customers.php – tomlab users 3 http://tomopt.com/tomlab/products/prices/commercial.php – tomlab prices 1 As far as I understood there are very few constrained solvers for Python. In google I failed to find anything but the CVXOPT, which consists mostly of wrappers to commercial mosek; some LP/MIP wrappers to GNU C- or f- code; and some optimization routines from scipy, of course. 4 2 5 My proposition is creatinga free Python-based equivalent to them, + connecting some non-smooth & network solvers that our optimization department researches, + inviting our collaborators from other optimization departments of our & some other institutes to provide their own solvers.3 There are lots of commercial modeling systems for numerical optimization like [http://www.ampl.com AMPL], [http://www.gams.com GAMS], [http://tomopt.com TOMLAB]. I propose to create a free Python-based equivalent to them, + connecting some non-smooth & network solvers that our optimization department researches, + inviting our collaborators from other optimization departments of our & some other institutes to provide their own solvers. 6 4 7 5 This project is based on: 8 6 1. existing m-code from my OpenOpt experience (see below) 9 1. fortran standalone routines from our optimization department7 1. Fortran standalone routines from our optimization department 10 8 1. lots of scipy solvers + connecting to other, already written. 11 9 … … 17 15 BTW there are usually some solvers for solving systems of non-linear equations (like MATLAB, scipy fsolve or my nonSmoothSolve) attached. 18 16 19 I already had some experience with my OpenOptfor MATLAB/Octave, see http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=13115&objectType=file20 there are some examples in directory OpenOpt/Examples & some pictures generated automatically. See http://www.box.net/shared/3jmi2hj8lk for my CV and detailed proposition.17 I already had some experience with my [http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=13115&objectType=file OpenOpt] for MATLAB/Octave, see http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=13115&objectType=file 18 there are some examples in directory !OpenOpt/Examples & some pictures generated automatically. See http://www.box.net/shared/3jmi2hj8lk for my CV and detailed proposition. 21 19 22 20 The environment will provide scaling, unified convenient text & graphics output, checking user-supplied analytical derivatives, parallel calculations (for example for numerical gradient/subgradient obtaining), easy comparison & similar to TOMLAB unified for all solvers call: … … 29 27 30 28 Also in future I intend to connect glpk, lpsolve, COIN-OR & other free solvers to the environment. I don't mean writing python-c connection once again, I mean simple unified call {{{prob=LP(...), r=prob.run(solver, <optional options>)}}} with some benchmarking elements. As lot solvers as it can be done will be Python-written, for to avoid problems with installation C- & Fortran-code & for to RAD ability. 29 30 * write ralg() & ShorEllipsoid() solvers 31 (Unconstrained: ~1 week, constrained: +2-3 weeks) 32 * write nonSmoothSolve() : ~ 1-2 weeks 33 * writing MATLAB bintprog equivalent 34 (f*x->min, A*x<=b, Aeq*x=beq) 35 based on rd. Shilo (& others) 36 * write a Python version of GRASP: ~2-3 weeks 37 * create an optimization environment for Python that is 38 similar to MATLAB/Octave (1-1.5 months) 39 * write MATLAB fmincon equivalent (smooth constrained 40 optimization, c(x)<=0, h(x)=0, linear constraints +1st 41 & 2nd derivatives) based on Nikitin & Pshenichniy 42 * writing or connecting of some already existing NLP UC or 43 box-bounded solvers 44 * write module for checking 1st derivatives provided by user 45 (less than 1 week) 46
