Should we include OpenOpt in Sage:
http://scipy.org/scipy/scikits/wiki/OpenOpt
I noticed it when looking at GSoC applications for the Python software
foundation. That application is as follows:
OpenOpt had been created in 2006 as MATLAB/Octave numerical
optimization toolbox, and later it had migrated to Python:
http://scipy.org/scipy/scikits/wiki/OpenOpt
OpenOpt development had been assisted by GSoC 2007 support, and
despite no any other incomes were obtained, I still continue to
develop the one, check it here: http://openopt.blogspot.com/
Numerical optimization problems occur everywhere - in physics,
economics, chemistry, biology etc. Examples:
* planes, helicopters, vehicles fuel consumption minimizing
* shop profits maximizing
* seedlings of crops growth (in greenhouses) maximizing
* gaskets ways communications minimizing (auto and transportation
industries, the Internet network)
with any restrictions, like
* minimum and maximum speed
* working capital, the risk for devastation, the showcase
* illumination, water and financial costs on them
* capacity of branches and nodes
That's why almost every university studies numerical optimization.
Numerical optimization software costs thousands, and sometimes dozens
of thousands $ (you can check link to T0M0PT's prices from OpenOpt
homepage). Also, you should spend approximately 10% on soft updates
annually.
In recent times, due to sponsorship from various funds, universities,
some corporations, lots of viable free numerical optimization software
have appeared. However, most packages have license GPL/LGPL, that
prevents using the software by any non-free code. Also, most of them
is C- or Fortran-written, that doesn't allow RAD and has lots of
cross-platform troubles.
So maybe that's why OpenOpt (license: BSD) has about 50-70 visitors
daily (in September 2007 it was 10-12), and ~15% of them visit
installation page.
Now OpenOpt consists of few own solvers and APIs to a number of others
(free as well), many of which are C/Fortran-written.
Some days ago I had been proposed to be paid something if I'll agree
to create and develop similar optimization toolbox for R language. I
had refused & I hope your voting will approve that I have taken
correct decision.
If no appropriate mentor will be found, my dept's chief (Petro I.
Stetsyuk) can be the one.
Here are intended tasks to be done for GS0C 2008:
http://scipy.org/scipy/scikits/wiki/OOTimeLine
Regards, Dmitrey.
Detailed Description
OpenOpt occupies high positions in google search for optimization soft:
http://openopt.blogspot.com/2008/01/experiment-google-search-for.html
In addition to much more powerful optimization solvers than scipy has,
it provides some really "MUST HAVE" (for essential optimization soft)
features, that are absent in scipy.optimize at all (like graphical
output of convergence, convenient automatic gradients check for
user-supplied non-linear constraints and objective function).
Some more "MUST HAVE" features (like dependency patterns), as well as
some new solvers, are intended to be done in future, and some existing
solvers are intended to be updated (enhanced). Also, a good code clean
up is required.
People from USA, Canada, Europe etc can obtain money support from
other than GSoC sources, while in Ukraine it seems to be impossible,
because almost everyone here use (as scientific software) either
C/Fortran or (illegal) MATLAB, and other (foreign) foundations require
having their country citizenship or resident status. So I suspect w/o
GSoC support I'll have to switch to other tasks and be either enable
to continue OpenOpt development at all, or reduce my rate of
contributions to OO in a factor of 4-5 times.
I would provide exact timeline, but it's hard to estimate time
required for most of tasks mentioned in OO TODO list
(http://scipy.org/scipy/scikits/wiki/OpenOptTODO), because numerical
optimization is sufficiently more difficult than drawing all those
widgets/gadgets in other GSoC projects (I have dealt with GUI 9 months
so I know exactly what I say).
So here's approximate timeline (I want to have a right during GSoC to
replace 1-2 tasks to other from TODO list with same points of
difficulty).
Despite my detailed description (i.e. this section) was only 3700
characters of 7500 max, it refused to be published because of "message
is too long", so I have created a separate web page:
http://scipy.org/scipy/scikits/wiki/OOTimeLine
--
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org
+1
Does OpenOpt do either of those things?
William
http://scipy.org/scipy/scikits/wiki/OOClasses
yes and no. it's an unified classification of problem structures and
each of them has interfaces to various packages and there are also
included solvers. link above explains for each type of problem what it
can currently do with it. e.g. lp problems in cvxopt_lp or lpsolve.
h