Opened 7 years ago
Closed 2 years ago
#18804 closed enhancement (wontfix)
LPBackendDictionary  a debugging view of a MIP backend connected to interactive_simplex_method
Reported by:  mkoeppe  Owned by:  

Priority:  major  Milestone:  sageduplicate/invalid/wontfix 
Component:  numerical  Keywords:  lp 
Cc:  ncohen, yzh, zwang, novoselt, dimpase  Merged in:  
Authors:  Aedi Wang  Reviewers:  Dima Pasechnik 
Report Upstream:  N/A  Work issues:  Add methods add_row, __eq__ so that TestSuite passes 
Branch:  u/mkoeppe/zeyiwanglpbackenddictionarytrac18804lpcleandictionarytrac20203rebasedto9.1.beeta1 (Commits, GitHub, GitLab)  Commit:  06ec02254f0e8333bd3e79de9a7297f59952f8f8 
Dependencies:  Stopgaps: 
Description (last modified by )
This is a followup on #18734.
This ticket creates:
 a new class,
LPBackendDictionary
(inheriting fromLPAbstractDictionary
), would avoid going throughInteractiveLP
and rather be tied directly to the MILP backend, using tableau data query functions such asgetBInvArow
etc.
(It would be in a separate file perhaps interactive_backend_dictionary.py
, so as not to add clutter to the didactical implementation in interactive_simplex_method.py
.)
#18732 added most of the missing functions for retrieving the data of the dictionary (for the GLPK backend) such as getBInvARow
etc. The remaining functions are provided by #19472.
#18763 and #19471 do the same for the COIN backend.
See also: #18733
Doctests could then test that:
 A backend has implemented all the necessary methods to get tableau information.
 The information is consistent, by checking that the
LPBackendDictionary
(in this ticket) and theLPDictionary
(created in #18734) are the same.
Change History (27)
comment:1 Changed 7 years ago by
 Description modified (diff)
 Keywords lp added
comment:2 Changed 6 years ago by
 Branch set to u/zwang/temp
comment:3 Changed 6 years ago by
 Commit set to 440ed874635c88940bc0f06c6ed1e913c29d9042
 Dependencies set to #19471, #19472
 Description modified (diff)
comment:4 Changed 6 years ago by
 Commit changed from 440ed874635c88940bc0f06c6ed1e913c29d9042 to aa8bdc1fd054699b8997f686c69725577cd3dbff
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
1e5f5f6  improve style, fix bug, now complete

b402777  rename general_backend_dictionary

0e97b61  add coin option

e46a9b6  CleanDictionary quick draft

cc496c0  clean dictionary

3f972c2  fix interactive_lp_problem()

bd6954b  abstract backend dictionary renamed

1cb502a  selective import messages

cbb3d3e  clean dictionary done

aa8bdc1  Merge branch 'u/zwang/temp' of git://trac.sagemath.org/sage into temp

comment:5 Changed 6 years ago by
 Commit changed from aa8bdc1fd054699b8997f686c69725577cd3dbff to ec1f1675c382520b89e7798af4cec86375da83fb
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
ec1f167  backend dictionaries

comment:6 Changed 6 years ago by
 Dependencies changed from #19471, #19472 to #19471, #19472, #18734
 Milestone changed from sage6.8 to sage6.10
 Status changed from new to needs_review
comment:7 Changed 6 years ago by
 Branch changed from u/zwang/temp to u/mkoeppe/temp
comment:8 Changed 6 years ago by
 Commit changed from ec1f1675c382520b89e7798af4cec86375da83fb to b0f388ea4cddb638f7fc3b97f1d8caf9509aac75
 Status changed from needs_review to needs_work
comment:9 Changed 6 years ago by
 Milestone changed from sage6.10 to sage7.2
comment:10 Changed 6 years ago by
 Commit changed from b0f388ea4cddb638f7fc3b97f1d8caf9509aac75 to fd5da14d17fe2398ac6fefab01d3bf3b0cb708f7
Branch pushed to git repo; I updated commit sha1. New commits:
e94b9e4  Documentation fixes

639b1e6  LPAbstractBackendDictionary: Use GLPK instead of COIN for testing

3b84083  Use interactive_linear_program instead of interactive_lp_problem

bc86ca1  Use ZZ instead of int

fd5da14  Make all test problems bounded

comment:11 Changed 6 years ago by
 Commit changed from fd5da14d17fe2398ac6fefab01d3bf3b0cb708f7 to f45615cdcdb68bdda0bb78f591845309ef283f4f
Branch pushed to git repo; I updated commit sha1. New commits:
f45615c  Doc fixes

comment:12 Changed 6 years ago by
 Commit changed from f45615cdcdb68bdda0bb78f591845309ef283f4f to 3866f3a49ac2d95c9961eaaf5a49d41a65462936
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
067b75d  clean_dictionary.py copied from f45615c

82ce16a  backend dictionaries

b369b9e  Documentation fixes

8c20137  LPAbstractBackendDictionary: Use GLPK instead of COIN for testing

3866f3a  Use interactive_linear_program instead of interactive_lp_problem

comment:13 Changed 6 years ago by
Rebased on top of #20203.
comment:14 Changed 6 years ago by
 Branch changed from u/mkoeppe/temp to u/zwang/temp
comment:15 Changed 6 years ago by
 Commit changed from 3866f3a49ac2d95c9961eaaf5a49d41a65462936 to 4f6d36698f929209f32901c0df15d8fd384a4e7b
 Dependencies changed from #19471, #19472, #18734 to #19471, #19472, #18734, #20203
New commits:
6cad314  add objective_name() to dictionary interface

288e6f7  Doc fix

62b9ec6  clean_dictionary.py copied from f45615c

7bdddd4  revise doc tests and implementation to use LPDictionary

a3c2ae4  backend dictionaries

0ec1237  Documentation fixes

835a228  LPAbstractBackendDictionary: Use GLPK instead of COIN for testing

925499e  Use interactive_linear_program instead of interactive_lp_problem

7f51310  add objective_name()

4f6d366  revise dictionary() to use objective_name()

comment:16 Changed 2 years ago by
 Branch changed from u/zwang/temp to u/mkoeppe/temp
comment:17 Changed 2 years ago by
 Commit changed from 4f6d36698f929209f32901c0df15d8fd384a4e7b to 8932d545fc48abd7a81567eb09dfc56ac49dfe40
Branch pushed to git repo; I updated commit sha1. New commits:
10a063c  clean_dictionary.py copied from f45615c

37e0b3e  revise doc tests and implementation to use LPDictionary

16cb5b9  LPCleanDictionary: Run the testsuite

ae348f7  LPCleanDictionary: Implement row_coefficients instead of leaving_coefficients

8932d54  Merge branch 'zeyiwanglpbackenddictionarytrac18804rebaseedto9.1.beta1' into zeyiwanglpbackenddictionarytrac18804lpcleandictionarytrac20203rebasedto9.1.beeta1

comment:18 Changed 2 years ago by
 Milestone changed from sage7.2 to sage9.1
Merged current version of branch on #20203
comment:19 Changed 2 years ago by
This is rebased on top of 9.1.beta1
comment:20 Changed 2 years ago by
 Dependencies #19471, #19472, #18734, #20203 deleted
comment:21 Changed 2 years ago by
 Commit changed from 8932d545fc48abd7a81567eb09dfc56ac49dfe40 to 6bc29a2a2b3d540f853e8a3d4f1bc8b0cacbdb91
Branch pushed to git repo; I updated commit sha1. New commits:
ad27047  src/sage/numerical/backends/glpk_backend_dictionary.py: py3 fixes

ce774c8  docstring markup fixes

7a45862  LPGLPKBackendDictionary: Implement {rowcolumn}_coefficients instead of {leavingentering}_coefficients

3d00dd9  LPGLPKBackendDictionary.objective_name: New

37d5a44  LPCoinBackendDictionary: Implement {rowcolumn}_coefficients instead of {leavingentering}_coefficients

6bc29a2  LPCoinBackendDictionary.objective_name: New

comment:22 Changed 2 years ago by
 Branch changed from u/mkoeppe/temp to u/mkoeppe/zeyiwanglpbackenddictionarytrac18804lpcleandictionarytrac20203rebasedto9.1.beeta1
comment:23 Changed 2 years ago by
 Commit changed from 6bc29a2a2b3d540f853e8a3d4f1bc8b0cacbdb91 to 06ec02254f0e8333bd3e79de9a7297f59952f8f8
comment:24 Changed 2 years ago by
 Work issues set to Add methods add_row, __eq__ so that TestSuite passes
comment:25 Changed 2 years ago by
 Milestone changed from sage9.1 to sageduplicate/invalid/wontfix
 Status changed from needs_work to needs_review
Development continues on https://github.com/mkoeppe/sagenumericalinteractivemip
The present ticket can be closed.
comment:26 Changed 2 years ago by
 Reviewers set to Dima Pasechnik
 Status changed from needs_review to positive_review
comment:27 Changed 2 years ago by
 Resolution set to wontfix
 Status changed from positive_review to closed
New commits:
backend dictionaries