Opened 4 years ago

Last modified 2 years ago

#20424 closed defect

More tests for common MIP TestSuite: add_col, solve; some fixes for backends — at Version 14

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-7.3
Component: numerical Keywords: lp
Cc: dimpase, vdelecroix, jdemeyer, chapoton, nbruin Merged in:
Authors: Matthias Koeppe Reviewers:
Report Upstream: N/A Work issues:
Branch: u/mkoeppe/backend_testsuite_failing_tests (Commits) Commit: 07c9c5dd48f4911e1f249698c3c13892af4a06f1
Dependencies: #20323,#20600,#20325 Stopgaps:

Description (last modified by mkoeppe)

Split out from #20323.

This patch adds new _test methods for add_col, solve, and for #18572 (but disabled for CVXOPT, where it fails). To make the new test methods happy,

  • implement add_col for Gurobi;
  • fix Gurobi's treatment of unbounded variables;
  • fix CPLEX unboundedness detection.

From dimpase:

I recall asking how one deals with different backends producing different, albeit equivalent, outputs. E.g. some of them would even introduce extra variables for some constraints (see e.g. ​ http://trac.sagemath.org/ticket/13148#comment:2). Some backends assign names to constraints automatically.

Change History (14)

comment:1 Changed 4 years ago by mkoeppe

  • Cc dimpase vdelecroix added
  • Description modified (diff)

comment:2 Changed 4 years ago by mkoeppe

  • Branch set to u/mkoeppe/backend_testsuite_failing_tests

comment:3 Changed 4 years ago by mkoeppe

  • Commit set to e5e6227255cc92fe61664eeabc4320be35ad6933

Branch is on top of #20323.


Last 10 new commits:

d93b798Change from mutating instance _test methods to class methods
94a4ac5New method _test_ncols_nonnegative
2251125GenericBackend: Remove failing _test methods from this ticket to make the patchbot and its friends happy
934456fRevert "GenericBackend: Remove failing _test methods from this ticket to make the patchbot and its friends happy"
a85cada_test_copy: New
8070754_test_copy_does_not_share_data: New
d04b270Test backend.copy() rather than copy(backend)
480a71btest_copy_some_mips: New
3b49831Add _test_solve_trac_18572 (autogenerated)
e5e6227_test_solve_trac_18572: Replace float integers by integers to make test suitable for PPL backend

comment:4 Changed 4 years ago by git

  • Commit changed from e5e6227255cc92fe61664eeabc4320be35ad6933 to af1e88518622375bfb46d37070445d42176e5c1a

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

48b9fe5Change from mutating instance _test methods to class methods
5394729New method _test_ncols_nonnegative
7138fa0GenericBackend: Remove failing _test methods from this ticket to make the patchbot and its friends happy
9f4f25cRevert "GenericBackend: Remove failing _test methods from this ticket to make the patchbot and its friends happy"
8421950_test_copy: New
3f0578b_test_copy_does_not_share_data: New
f5b42b8Test backend.copy() rather than copy(backend)
f21ce7ctest_copy_some_mips: New
21abe28Add _test_solve_trac_18572 (autogenerated)
af1e885_test_solve_trac_18572: Replace float integers by integers to make test suitable for PPL backend

comment:5 Changed 4 years ago by mkoeppe

Rebased on top of #20323 branch on top of 7.2.beta4

comment:6 Changed 4 years ago by git

  • Commit changed from af1e88518622375bfb46d37070445d42176e5c1a to a5a1c6098815a37b69bd4716d83a639ba35a7ba9

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

6d01dc8Revert "GenericBackend: Remove failing _test methods from this ticket to make the patchbot and its friends happy"
850b817Add _test_solve_trac_18572 (autogenerated)
a5a1c60_test_solve_trac_18572: Replace float integers by integers to make test suitable for PPL backend

comment:7 Changed 4 years ago by mkoeppe

Rebased on top of 7.2.beta5. Dropped "Test backend.copy() rather than copy(backend)".

comment:8 Changed 4 years ago by dimpase

How do you do test autogeneration (mentioned in 850b817) ?

comment:9 Changed 4 years ago by mkoeppe

The test method added in this commit is the raw output from #20376 (LoggingBackend) when run on the testcase of #18572.

Last edited 4 years ago by mkoeppe (previous) (diff)

comment:10 Changed 4 years ago by git

  • Commit changed from a5a1c6098815a37b69bd4716d83a639ba35a7ba9 to bb7f5de0594b3381770039003ec763b901f1dc41

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

cc0d326Revert "GenericBackend: Remove failing _test methods from this ticket to make the patchbot and its friends happy"
6cd0b4aAdd _test_solve_trac_18572 (autogenerated)
492534d_test_solve_trac_18572: Replace float integers by integers to make test suitable for PPL backend
658972cFix doctests when Gurobi is installed
cfaf157Instead of running MixedIntegerLinearProgram doctests with the default solver, use GLPK
bb7f5deMerge branch 't/20328/tests_related_to_cplex___gurobi' into t/20424/backend_testsuite_failing_tests

comment:11 Changed 4 years ago by mkoeppe

rebased on 7.2.beta6

comment:12 Changed 4 years ago by git

  • Commit changed from bb7f5de0594b3381770039003ec763b901f1dc41 to 07c9c5dd48f4911e1f249698c3c13892af4a06f1

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

f0ead34CPLEXBackend: Use CPXgetstat to properly detect unboundedness
4aeaf9bGurobiBackend.add_col: Implement
a65f66bGenericBackend._test_add_col: New
51c2116GurobiBackend.add_variable: Support coefficients keyword
c2eb25dGurobiBackend: Fix GRB_INFINITY confusion
6adf3d9CVXOPTBackend: Don't test _test_solve because of #18572
def61deAdd _test_solve_trac_18572 (autogenerated)
9f287a3_test_solve_trac_18572: Replace float integers by integers to make test suitable for PPL backend
b60d790CVXOPTBackend: Disable _test_solve_trac_18572 because of #18572
07c9c5dGLPKExactBackend: Adjust output

comment:13 Changed 4 years ago by mkoeppe

  • Dependencies changed from #20323 to #20323,#20600,#20325
  • Status changed from new to needs_review

comment:14 Changed 4 years ago by mkoeppe

  • Cc jdemeyer chapoton nbruin added
  • Description modified (diff)
  • Summary changed from More tests for common MIP TestSuite to More tests for common MIP TestSuite: add_col, solve; some fixes for backends
Note: See TracTickets for help on using tickets.