possible package for inclusion in Sage

4 views
Skip to first unread message

William Stein

unread,
Apr 20, 2008, 10:42:28 AM4/20/08
to sage-...@googlegroups.com
Hi,

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

David Joyner

unread,
Apr 20, 2008, 11:08:44 AM4/20/08
to sage-...@googlegroups.com
On Sun, Apr 20, 2008 at 10:42 AM, William Stein <wst...@gmail.com> wrote:
>
> Hi,
>
> Should we include OpenOpt in Sage:
> http://scipy.org/scipy/scikits/wiki/OpenOpt

+1

Harald Schilly

unread,
Apr 20, 2008, 11:20:42 AM4/20/08
to sage-devel
On Apr 20, 4:42 pm, "William Stein" <wst...@gmail.com> wrote:
> OpenOpt

+1

I've already requested it some time ago I think. Since I've a strong
background in numerical optimization and computation, i know about the
difficulties involved. Inclusion would help to expose OpenOpt to a
larger userbase and forces him to release higher quality releases
(doctests and so on). Also very useful for education and
experimentation.
The only thing not compatible with Sage is the interactive plotter -
this is a graphic pop window showing a realtime view of how the
optimization process currently works, but that's just a trivial
problem. Another difficulty could be cross platform availability of
included solvers, but that's pluggable anyway.

h

David Roe

unread,
Apr 20, 2008, 4:22:27 PM4/20/08
to sage-...@googlegroups.com
+1 from me as well. There have been a few times recently when I've
wished Sage included a component for solving linear programming or
integer programming optimization problems.
David

William Stein

unread,
Apr 20, 2008, 4:50:18 PM4/20/08
to sage-...@googlegroups.com
On Sun, Apr 20, 2008 at 1:22 PM, David Roe <ro...@math.harvard.edu> wrote:
>
> +1 from me as well. There have been a few times recently when I've
> wished Sage included a component for solving linear programming or
> integer programming optimization problems.

Does OpenOpt do either of those things?

William

Harald Schilly

unread,
Apr 20, 2008, 4:58:37 PM4/20/08
to sage-...@googlegroups.com

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

mhampton

unread,
Apr 20, 2008, 5:02:12 PM4/20/08
to sage-devel
Sage does include linear programming. But this looks like a good thing
to support in general.
¬M. Hampton

On 20 avr, 22:50, "William Stein" <wst...@gmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages