Almost a year ago there was a brief discussion about this topic:
http://groups.google.com/group/sage-devel/browse_thread/thread/fed15c54478e8d5
GLPK is a GPLv3 program from the FSF for linear programming:
http://www.gnu.org/software/glpk/
Many of the awesome graph theory functions (such as for Hamiltonian
graphs) depend on some LP program being installed, and I think it
would be great if sage-standard could, e.g. solve the is_hamiltonian
question. Here are a few William Stein quotes from the last
discussion:
> NOTE: GLPK is GPLv3. Since we need to retain the ability to release GPLv2
> versions of Sage for now, this is another very good reason to make it
> optional for a while (so it is easy to swap out).
...
> I personally think GLPK will end up being standard in Sage before
> long, so I think your approach right now is pretty good. It's just
> that it has to be optional for a bit (a month or so), since that's
> what we do.
I recently emailed him about the GPLv3 issue, asking "is GPLv3 a
deal-breaker?" and he replied "No, it is not a dealbreaker."
As more and more functions requiring LP get merged into Sage, I think
the time has come to reconsider this.
--
Robert L. Miller
http://www.rlmiller.org/
This is an official call for a vote:
[ ] yes, include glpk
[ ] no, don't because.... ___________________
>
> --
> Robert L. Miller
> http://www.rlmiller.org/
>
> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to sage-devel+...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
...
>
> This is an official call for a vote:
>
> [ ] yes, include glpk
I vote yes.
The tarballs are roughly 3MB.
Build time?
Tested on solaris?
Tested on cygwin?
> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to sage-devel+...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/sage-devel
On my MacBook, under two minutes:
$ time sage -f glpk
...
real 1m25.964s
user 0m58.227s
sys 0m14.410s
> Tested on solaris?
>
> Tested on cygwin?
Sorry, but I have no idea...
I'm all in favour of having some LP (and MIP) solver in Sage by default. It
seems to me GLPK fits the requirements best. It is not a very efficient solver
(at least in my experience) but there is not GPL'd alternative AFAIK.
So I vote yes.
Martin
PS: Of course, we'll have to figure out Solaris and Cygwin support first etc.
--
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
_www: http://www.informatik.uni-bremen.de/~malb
_jab: martinr...@jabber.ccc.de
Seems to work on Cygwin:
real 9m30.674s
user 2m52.117s
sys 5m37.069s
Successfully installed glpk-4.42.p0
Now cleaning up tmp files.
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing glpk-4.42.p0.spkg
mhansen@WINXP2 ~/sage-4.3.5
--Mike
Having a class to build easily MILP problems and discover that p.solve() raise an excetion by default is somewhat frustrating!
:)
--
Michele Comignano
Computer Science student
University of Pisa, Italy
Pretty quick!
On my Sun Ultra 27, with a parallel build, I can build it in under 7 seconds!
'configure' takes a bit under 3 seconds, and 'make' takes a bit under 3.8 seconds.
For a serial build, it takes a little under 20 seconds.
So even on old hardware, that is not going to take too long.
> Tested on solaris?
32-bit Solaris 10 on SPARC - OK
64-bit Solaris 10 on SPARC - OK
32-bit OpenSolaris on x64 - OK
64-bit OpenSolaris on x64 - OK
In all cases, I just used 'configure' to the source code. I've not tried it
whatever a Sage package decides to link to it.
Makes sense to me. Does it have a spkg-check?
- Robert
> [ ] yes, include glpk
>
> [ ] no, don't because.... ___________________
Yes.
Thanks,
Jason
Dave,
I've made a ticket for this -- #9312. If you felt like posting a new
spkg there, I would gladly review it. Or if you want to do it the
other way around, since you have better access to Solaris
architectures, that would be fine by me too.