Hello everybody !!!

After a discussion from a few days ago where I asked for people
interested in a LP Solver in SAGE, I began to write what I could of
it. I have now what seems to be a "minimal" interface between SAGE and
Clp/Cbc( the Coin-or LP Solver and Branch and Bound solver,
respectively ). It uses CBC to solve Linear programs with or without
integer values, and it is now for me the easiest way to use a LP
solver, as I had to generate Cplex or MPS files before to use GLPK or
Cbc...

There are probably a lot of errors, of mistakes, of necessary
modifications which would improve the code. I have never been writing
code for anyone else except myself, so there is bound to be a lot of
things to criticize. I would also like those of you who are interested
in a good implementation of a LP solver in SAGE to try this code,
because I will continue to implement the interface by addings features
to it and it would be better if I avoid now a big mistake I did not
see which would have to be corrected later ;-)

You will find two TRAC tickets for this, the first being a SPKG for
CBC :
http://trac.sagemath.org/sage_trac/ticket/6501

and the second the patch needed to use it :
http://trac.sagemath.org/sage_trac/ticket/6502

Once you will have the two installed, you can try to solve a simple
"maximal independant set problem" with those lines :

g=graphs.RandomGNP(10,.5)

p=MIP(max=True)

obj={}
for i in g.vertices():
    obj["V"+str(i)]=1
    p.setinteger("V"+str(i))
p.setobj(Constraint(obj,obj=True))
for (a,b,c) in g.edges():
    obj={}
    obj["V"+str(a)]=1
    obj["V"+str(b)]=1
    p.addconstraint(Constraint(obj,lt=1))
p.solve()

I hope those who already used LP solvers will find the notations
natural.

Thank you !!! ;-)

Nathann

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to