Hi,
> I noticed that Martin started work on a SCIP wrapper for SAGE.
> http://trac.sagemath.org/sage_trac/ticket/10879
> I wanted to add two other ideas for interfacing with SCIP that are
> written in python:
>
> Numberjack
> http://4c110.ucc.ie/numberjack/
>
> python-zibopt
> http://code.google.com/p/python-zibopt/
I knew python-zibopt but I didn't know Numberjack which looks interesting. The
reason I didn't go for python-zibopt is:
- we wanted a SCIP interface which matches our generic MIP interface such that
you can use SCIP wherever MIP is used in Sage (I could have written that on
top of python-zibopt I guess, but that would have meant more overhead)
- I wanted more constraints than python-zibopt offers. It only does MIP but I
want to access all the constrains SCIP has to offer (non-linear constraints
etc.)
- Finally, it was a good way for me to learn the API (and some internals) of
SCIP :)
> I'd love to use SCIP through SAGE, but am a newbie with SAGE so I
> don't know how to help out.
Sage is meant to be easy to get into in so let's test that :) What is your
interest? Do you want to add optional packages for Numberjack & python-zibopt
or are you happy with improving the current SCIP interface? If you want to
help out with the latter here are some ideas :)
- If you run Linux of some sort: just try it out, does it install okay for
you, does it work?
- If you run OSX and know your way around C you could help to fix the SIGSEGV
we see there
- You could read the documentation and improve it (i.e. provide documentation
patches for our SCIP interface)
- You could provide feedback what kind of interface would be nice to have,
i.e. how we can improve the interface
Cheers,
Martin
--
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
_www: http://martinralbrecht.wordpress.com/
_jab: martinr...@jabber.ccc.de
python-zibopt
http://code.google.com/p/python-zibopt/
Yes, it should "just work" (TM) in your VirtualBox :)
> > - You could read the documentation and improve it (i.e. provide
> > documentation patches for our SCIP interface)
>
> This sounds good, probably at my level of current ability as a
> newbie.
> I could also convert some other problems from PuLP to SAGE syntax to
> add other examples to one of the tutorial websites
> http://www.sagemath.org/doc/reference/sage/numerical/mip.html
> http://www.sagemath.org/doc/thematic_tutorials/linear_programming.html#
>
> > - You could provide feedback what kind of interface would be nice to
> > have, i.e. how we can improve the interface
>
> Definitely, I'll let you know once I get started.
>
> On a slightly different topic:
> I would also be interested in adding MIP support for other solvers
> such as Gurobi.
> I have Gurobi, but not CPLEXl; therefore without SCIP, I'm out of luck
> solving MIP problems where CBC is too slow or are quadratic in
> nature. PuLP provides a nice interface directly to the Gurobi API
> which we could learn from, or another route is that Gurobi also
> accepts LP files which SAGE can already create. Here is a video from
> Gurobi ( http://www.gurobi.com/flash/shell-2011-02.html ) and where
> they show how to the same an LP file could be read into Gurobi.
I know Gurobi and IIRC there was some plan to add an interface to that too. I
think Harald Schilly did some work with the Gurobi interface but no-one worked
on a proper integration into Sage yet.
I know Gurobi and IIRC there was some plan to add an interface to that too. I
think Harald Schilly did some work with the Gurobi interface but no-one worked
on a proper integration into Sage yet.