Opened 5 years ago

Closed 3 months 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: sage-duplicate/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/zeyi-wang--lpbackenddictionary-trac18804--lpcleandictionary-trac20203--rebased-to-9.1.beeta1 (Commits) Commit: 06ec02254f0e8333bd3e79de9a7297f59952f8f8
Dependencies: Stopgaps:

Description (last modified by mkoeppe)

This is a follow-up on #18734.

This ticket creates:

  • a new class, LPBackendDictionary (inheriting from LPAbstractDictionary), would avoid going through InteractiveLP and rather be tied directly to the MILP backend, using tableau data query functions such as getBInvArow 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 the LPDictionary (created in #18734) are the same.

Change History (27)

comment:1 Changed 5 years ago by mkoeppe

  • Description modified (diff)
  • Keywords lp added

comment:2 Changed 5 years ago by zwang

  • Branch set to u/zwang/temp

comment:3 Changed 5 years ago by mkoeppe

  • Authors set to Aedi Wang
  • Commit set to 440ed874635c88940bc0f06c6ed1e913c29d9042
  • Dependencies set to #19471, #19472
  • Description modified (diff)

New commits:

440ed87backend dictionaries

comment:4 Changed 5 years ago by git

  • Commit changed from 440ed874635c88940bc0f06c6ed1e913c29d9042 to aa8bdc1fd054699b8997f686c69725577cd3dbff

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

1e5f5f6improve style, fix bug, now complete
b402777rename general_backend_dictionary
0e97b61add coin option
e46a9b6CleanDictionary quick draft
cc496c0clean dictionary
3f972c2fix interactive_lp_problem()
bd6954babstract backend dictionary renamed
1cb502aselective import messages
cbb3d3eclean dictionary done
aa8bdc1Merge branch 'u/zwang/temp' of git://trac.sagemath.org/sage into temp

comment:5 Changed 5 years ago by git

  • Commit changed from aa8bdc1fd054699b8997f686c69725577cd3dbff to ec1f1675c382520b89e7798af4cec86375da83fb

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

ec1f167backend dictionaries

comment:6 Changed 5 years ago by mkoeppe

  • Dependencies changed from #19471, #19472 to #19471, #19472, #18734
  • Milestone changed from sage-6.8 to sage-6.10
  • Status changed from new to needs_review

comment:7 Changed 4 years ago by mkoeppe

  • Branch changed from u/zwang/temp to u/mkoeppe/temp

comment:8 Changed 4 years ago by mkoeppe

  • Commit changed from ec1f1675c382520b89e7798af4cec86375da83fb to b0f388ea4cddb638f7fc3b97f1d8caf9509aac75
  • Status changed from needs_review to needs_work

New commits:

2848cf6backend dictionaries
b0f388eMerge commit 'e8ffa20d8d' into t/18804/temp

comment:9 Changed 4 years ago by mkoeppe

  • Milestone changed from sage-6.10 to sage-7.2

comment:10 Changed 4 years ago by git

  • Commit changed from b0f388ea4cddb638f7fc3b97f1d8caf9509aac75 to fd5da14d17fe2398ac6fefab01d3bf3b0cb708f7

Branch pushed to git repo; I updated commit sha1. New commits:

e94b9e4Documentation fixes
639b1e6LPAbstractBackendDictionary: Use GLPK instead of COIN for testing
3b84083Use interactive_linear_program instead of interactive_lp_problem
bc86ca1Use ZZ instead of int
fd5da14Make all test problems bounded

comment:11 Changed 4 years ago by git

  • Commit changed from fd5da14d17fe2398ac6fefab01d3bf3b0cb708f7 to f45615cdcdb68bdda0bb78f591845309ef283f4f

Branch pushed to git repo; I updated commit sha1. New commits:

f45615cDoc fixes

comment:12 Changed 4 years ago by git

  • Commit changed from f45615cdcdb68bdda0bb78f591845309ef283f4f to 3866f3a49ac2d95c9961eaaf5a49d41a65462936

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

067b75dclean_dictionary.py copied from f45615c
82ce16abackend dictionaries
b369b9eDocumentation fixes
8c20137LPAbstractBackendDictionary: Use GLPK instead of COIN for testing
3866f3aUse interactive_linear_program instead of interactive_lp_problem

comment:13 Changed 4 years ago by mkoeppe

Rebased on top of #20203.

comment:14 Changed 4 years ago by zwang

  • Branch changed from u/mkoeppe/temp to u/zwang/temp

comment:15 Changed 4 years ago by mkoeppe

  • Commit changed from 3866f3a49ac2d95c9961eaaf5a49d41a65462936 to 4f6d36698f929209f32901c0df15d8fd384a4e7b
  • Dependencies changed from #19471, #19472, #18734 to #19471, #19472, #18734, #20203

New commits:

6cad314add objective_name() to dictionary interface
288e6f7Doc fix
62b9ec6clean_dictionary.py copied from f45615c
7bdddd4revise doc tests and implementation to use LPDictionary
a3c2ae4backend dictionaries
0ec1237Documentation fixes
835a228LPAbstractBackendDictionary: Use GLPK instead of COIN for testing
925499eUse interactive_linear_program instead of interactive_lp_problem
7f51310add objective_name()
4f6d366revise dictionary() to use objective_name()

comment:16 Changed 4 months ago by mkoeppe

  • Branch changed from u/zwang/temp to u/mkoeppe/temp

comment:17 Changed 4 months ago by git

  • Commit changed from 4f6d36698f929209f32901c0df15d8fd384a4e7b to 8932d545fc48abd7a81567eb09dfc56ac49dfe40

Branch pushed to git repo; I updated commit sha1. New commits:

10a063cclean_dictionary.py copied from f45615c
37e0b3erevise doc tests and implementation to use LPDictionary
16cb5b9LPCleanDictionary: Run the testsuite
ae348f7LPCleanDictionary: Implement row_coefficients instead of leaving_coefficients
8932d54Merge branch 'zeyi-wang--lpbackenddictionary-trac18804--rebaseed-to-9.1.beta1' into zeyi-wang--lpbackenddictionary-trac18804--lpcleandictionary-trac20203--rebased-to-9.1.beeta1

comment:18 Changed 4 months ago by mkoeppe

  • Milestone changed from sage-7.2 to sage-9.1

Merged current version of branch on #20203

comment:19 Changed 4 months ago by mkoeppe

This is rebased on top of 9.1.beta1

comment:20 Changed 4 months ago by mkoeppe

  • Dependencies #19471, #19472, #18734, #20203 deleted

comment:21 Changed 4 months ago by git

  • Commit changed from 8932d545fc48abd7a81567eb09dfc56ac49dfe40 to 6bc29a2a2b3d540f853e8a3d4f1bc8b0cacbdb91

Branch pushed to git repo; I updated commit sha1. New commits:

ad27047src/sage/numerical/backends/glpk_backend_dictionary.py: py3 fixes
ce774c8docstring markup fixes
7a45862LPGLPKBackendDictionary: Implement {row|column}_coefficients instead of {leaving|entering}_coefficients
3d00dd9LPGLPKBackendDictionary.objective_name: New
37d5a44LPCoinBackendDictionary: Implement {row|column}_coefficients instead of {leaving|entering}_coefficients
6bc29a2LPCoinBackendDictionary.objective_name: New

comment:22 Changed 4 months ago by mkoeppe

  • Branch changed from u/mkoeppe/temp to u/mkoeppe/zeyi-wang--lpbackenddictionary-trac18804--lpcleandictionary-trac20203--rebased-to-9.1.beeta1

comment:23 Changed 4 months ago by git

  • Commit changed from 6bc29a2a2b3d540f853e8a3d4f1bc8b0cacbdb91 to 06ec02254f0e8333bd3e79de9a7297f59952f8f8

Branch pushed to git repo; I updated commit sha1. New commits:

22eaa92sage/numerical/clean_dictionary.py: py3 fix: Import sage version of round
06ec022LPCleanDictionary.enter, leave: Also call super

comment:24 Changed 4 months ago by mkoeppe

  • Work issues set to Add methods add_row, __eq__ so that TestSuite passes

comment:25 Changed 4 months ago by mkoeppe

  • Milestone changed from sage-9.1 to sage-duplicate/invalid/wontfix
  • Status changed from needs_work to needs_review

Development continues on https://github.com/mkoeppe/sage-numerical-interactive-mip

The present ticket can be closed.

comment:26 Changed 4 months ago by dimpase

  • Reviewers set to Dima Pasechnik
  • Status changed from needs_review to positive_review

comment:27 Changed 3 months ago by chapoton

  • Resolution set to wontfix
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.