-
-
Notifications
You must be signed in to change notification settings - Fork 491
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
interactive_simplex_method enhancements #20311
Comments
Branch: u/novoselt/ISM_enchancements |
Changed branch from u/novoselt/ISM_enchancements to none |
New commits:
|
Commit: |
Branch: u/novoselt/ISM_enchancements |
comment:4
The standard-form transformation works well with #20296. Thanks very much! (I'll update the branch of #20296 when this ticket is merged.) Some issues:
|
Reviewer: Matthias Koeppe |
Changed branch from u/novoselt/ISM_enchancements to u/mkoeppe/ISM_enchancements |
comment:8
I'll probably work on it next weekend. For the record - it is not a good idea to edit old comments as apparently there are no notifications sent about it and it was a bit of an accident that I looked up. Also, bloody trac does not let me post reply comments for no reason, but:
New commits:
|
comment:9
Thanks! Sounds good. |
Changed branch from u/mkoeppe/ISM_enchancements to u/novoselt/ISM_enchancements |
New commits:
|
comment:12
I think the constant term also needs to be reflected in |
comment:13
Well, it definitely adds very little from the didactic point of view, mostly just annoying thing to remember ;-) But since we have started and for the sake of being able to convert other problems to this type let's finish the job. What exactly is the problem with the simplex method? My hope was that things will take care of themselves there but I guess they don't. |
comment:14
Replying to @novoselt:
It prints the non-shifted objective value. |
comment:15
That will complicate alignment for typesetting and in general it seemed fitting to put it on the left where the negative sign goes as well for minimization problems. I'll think some more about it. |
comment:16
Well, the dictionary already typesets a constant for the objective function -- that's the value of the dictionary. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:21
OK, how about this one? I've also renamed |
comment:22
I think it would be better to keep the notions of [in]feasible problem and [in]feasible solution separate. |
comment:23
This |
comment:24
Replying to @mkoeppe:
No confusion is possible in use and I planned to do it for a long time without any second thoughts - several students have actually asked for exactly this ;-) |
comment:25
|
comment:26
In my experience, the persistent confusion of students about the notions of feasible problems, feasible solutions, and feasible dictionaries is the number 1 frustration in teaching the simplex method |
comment:27
If you are looking at commits in a browser, there is a handy selector in top-right for the number of context lines, which allows to see such changes in context. |
comment:28
Replying to @novoselt:
Thanks! Yes, I was only reading the diff at this point |
comment:29
Agreed about confusion, but the questions in human language are: A) Is this problem feasible? which I want to translate in code to A) and find very natural and not adding any confusion at all. Most students also feel no difference between C) since they do give the same values. Yet C') are not the right way to teach them the difference. |
comment:30
I think my concern regarding A and B is in part because of Python defaulting semantics. I don't have a concern regarding the naming of C and D in the code. |
comment:31
What is default/current solution for a problem??? My point with C and D was that it is again just direct translation of "the human language" into code with neither solves nor adds confusion. How about going with the current addition and seeing how (and with what degree of confusion) it will be received? Overloading methods is a common practice and we can always deprecate the use of arguments if it turns out to be bad. |
comment:32
Replying to @novoselt:
Well, I know that in your design the problem is immutable, but a user might think that if he goes pivoting in "the" dictionary obtained from
OK, fine. |
comment:33
It seems the constant terms don't work the right way for minimization problems. Probably in the |
comment:34
See #20413. |
Changed branch from u/novoselt/ISM_enchancements to u/mkoeppe/ISM_enchancements |
comment:36
I have added a testcase. New commits:
|
Changed branch from u/mkoeppe/ISM_enchancements to u/novoselt/ISM_enchancements |
comment:38
Yes, of course - thanks for thorough testing! New commits:
|
comment:39
Thanks a lot for your work on this ticket! |
Changed branch from u/novoselt/ISM_enchancements to |
Allow constant terms in the objective, check solutions for feasibility and optimality, transformation map from standard form to the original one.
CC: @mkoeppe
Component: numerical
Author: Andrey Novoseltsev
Branch/Commit:
7145f7d
Reviewer: Matthias Koeppe
Issue created by migration from https://trac.sagemath.org/ticket/20311
The text was updated successfully, but these errors were encountered: