-
-
Notifications
You must be signed in to change notification settings - Fork 580
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Risk of confusion between LPProblem and MixedIntegerLinearProgram #17867
Comments
Commit: |
Branch: public/17867 |
Author: Nathann Cohen |
New commits:
|
This comment has been minimized.
This comment has been minimized.
comment:3
Good idea! No time for reviewing now... |
This comment has been minimized.
This comment has been minimized.
comment:5
Could you make a reference in the doc of And (not for this ticket) it would be cool if the arguments were compatible: namely And last but not the least: we can use the class Vincent |
comment:6
Replying to @videlec:
I mentioned some time ago that there is a way to get proper certificates of optimality/infeasibility for LPs (cf Farkas lemma, etc), and it ought to be in Sage... |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:8
Hello,
Done.
I expect.
Possibly. I never read the code of Nathann |
comment:9
I would prefer a suffix, rather than prefix, but I guess for courses you tell the name to students anyway and with a cross-link it is easy to discover. Regarding parameters being the same or not - please don't do it here to avoid breaking anything, it will require careful changes in documentation. And in general the behaviour is different enough that sameness of input does not matter much, so I'd prefer to not touch it at all. What would be nice to have are conversion functions between regular and educational versions, but when I was working on them I was hitting corner cases bugs in MILP and never finished. Will add to my todo list, especially if I get to teach this course in May/June. Regarding types: the education version actually works best with exact rings like QQ. For floating point there is nothing to deal with degeneracy, which is actually nice for education: |
Reviewer: Andrey Novoseltsev |
comment:10
LGTM, thanks, Nathann! |
comment:11
Replying to @dimpase:
Definitely, and these certificates are produced for free when using simplex method, one should just get them out - do solvers interfaces from Sage support providing them? |
comment:12
Replying to @novoselt:
Commercial solvers like CPLEX and GUROBI do provide these certs, as well as CVXOPT, but GLPK apparently not, cf https://lists.gnu.org/archive/html/help-glpk/2010-11/msg00062.html Not sure about PPL. |
comment:13
Helloooooooooo !
Yesyes. I hope that this will not change too much on your side, and that nobody will get to one class when (s)he should be working with the other. Thanks for the review, Nathann |
comment:14
We can ask again. More importantly, how do you think that such certificates should be returned to the user ? Nathann |
comment:15
Replying to @nathanncohen:
given the plethora of different formulations of LPs, it's a bit hard do say. If we talk about canonical primal-dual pair, i.e. for ineasibility, a Farkas certificate (i.e. coefficients of a nonnegative linear |
comment:16
This is what I am asking. How do we return that? As list of floats, and that's it? Nathann |
comment:17
Replying to @nathanncohen:
floats, or the other appropriate base ring (e.g. rationals for PPL). Anything that maps correctly into the list of constraints would do.
|
Changed branch from public/17867 to |
Ticket #14288 added a feature meant for educational purposes only which can very easily be confused with Sage's support of Linear Programming, as the two classes it creates are named LPProblem and LPProblemStandardForm AND imported in the global namespace.
That's suicidal.
With this branch, the two classes are renamed to something more meaningful, pointers are added toward
MixedIntegerLinearProgram
, and the old import are deprecated.Nathann
CC: @dimpase @videlec @tscrim @novoselt
Component: linear programming
Author: Nathann Cohen
Branch/Commit:
5b98d3d
Reviewer: Andrey Novoseltsev
Issue created by migration from https://trac.sagemath.org/ticket/17867
The text was updated successfully, but these errors were encountered: