#12823: Allow constants for objective function & deletion of rows in
MixedIntegerLinearProgram
--------------------------------------+-------------------------------------
       Reporter:  john_perry          |         Owner:  ncohen          
           Type:  defect              |        Status:  needs_review    
       Priority:  major               |     Milestone:  sage-5.0        
      Component:  linear programming  |    Resolution:                  
       Keywords:  solver objective    |   Work issues:  failing doctests
Report Upstream:  N/A                 |     Reviewers:                  
        Authors:  john_perry, ncohen  |     Merged in:                  
   Dependencies:  12833               |      Stopgaps:                  
--------------------------------------+-------------------------------------

Comment (by john_perry):

 Replying to [comment:24 ncohen]:
 > > Well, in cases where the backend provides a way to add or remove
 multiple rows at once (`glpk` for instance), we ought to do that instead,
 rather than remove one at a time.
 >
 > Hmmm, but we can not do that without writing backend-specific code....
 >
 > ...Arggg !! NOononono, I meant duplicated code in the backend files !
 That is where we have 2 functions doing the same stuff, rewritten in 4
 different files ! `:-P`

 Okay, I understand now, and I think it makes better sense, too. `;-)`
 Duplicated code is one thing, like with the Gurobi, CPLEX, and Coin files.
 I don't think that's a problem, nor is it incompatible with using the one
 call in glpk, as I suggest. But I do think we should allow a backend to
 redefine `remove_constraint()` to take advantage of its own efficiency. In
 particular, glpk should be able to remove several constraints w/one
 function call, because it makes it possible. That doesn't duplicate code.

 If you're okay with that, I think this is something that I could take care
 of today in generic_backend, glpk_backend, and coin_backed; then you could
 take care of the others.

 If you're not okay with that, then, yeah, it would be best to work this
 out in a different ticket.

 > I tested them maaaaaaaaany times, but I can also ask David Coudert to
 check that tests pass, as he has them installed (well, CPLEX for sure and
 I do not know about Gurobi).

 That's probably a better idea; the refereeing process would look cleaner
 to me. We've been working on this stuff and there's a temptation to be
 hasty. I can read through the lines of your code & it can look good, but
 still miss things I can't test.

 > But you really should try CPLEX once, it is soooooooooo much faster for
 integer problems ! `:-)`

 Maybe. :-) I don't want to have to download all these things over & over
 with each new release of Sage, which occurs far more frequently than I'd
 like. Though we seem to have been stuck at 4.8 for a surprisingly long
 time...!

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12823#comment:25>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to