#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.