Open mkoeppe opened 8 years ago
Description changed:
---
+++
@@ -1,12 +1,13 @@
Frontend defects:
- #20304: More error checking in `MixedIntegerLinearProgram`
-- #20462: `MixedIntegerLinearProgram`/`MIPVariable`: `get_min`, `set_min`, `get_max`, `set_max` are broken
-- #20602: `MixedIntegerLinearProgram.gen()` does not do anything useful
-- #20461: Fixes for copying a MIP and its variables
-- #20656: `MixedIntegerLinearProgram`: Remove `_variables` dictionary
- #13696: process chained equalities with different signs correctly
- #14540: MILP constraints are silently misunderstood
- #15159: Segfault after deepcopy of `MixedIntegerLinearProgram`
+- #20461: Fixes for copying a MIP and its variables
+- #20657: More fixes for copying a MIP and the `MIPVariable`s created by `new_variable`
+- #20462: `MixedIntegerLinearProgram`/`MIPVariable`: `get_min`, `set_min`, `get_max`, `set_max` are broken
+- #20656: `MixedIntegerLinearProgram`: Remove `_variables` dictionary
+- #20602: `MixedIntegerLinearProgram.gen()` does not do anything useful
Frontend wishlist tickets:
- #20406: `get_solver` should allow passing a function (a solver factory) as the solver argument
Description changed:
---
+++
@@ -78,6 +78,7 @@
- #18734: Construct an `interactive_simplex_method.LPDictionary` from a `MixedIntegerLinearProgram`
- #20311: `interactive_simplex_method` enhancements
- #20500: `LPAbstractDictionary`: Refactor `leaving_coefficients`, `entering_coefficients` using new methods `row_coefficients`, `column_coefficients`
+- #20559: `InteractiveLPProblem`, dictionaries: `add_constraint` / `add_row` methods
- #20203: `LPCleanDictionary` - floating-point helper class for interactive simplex method
- #18804: `LPBackendDictionary` - a debugging view of a MIP backend connected to `interactive_simplex_method`
- #18805: Add didactical implementation of tableau cutting planes to `interactive_simplex_method`
Description changed:
---
+++
@@ -12,6 +12,7 @@
Frontend wishlist tickets:
- #20406: `get_solver` should allow passing a function (a solver factory) as the solver argument
- #19523: Raise an error when constraints are added to the wrong MILP
+- #20664: `MixedIntegerLinearProgram`/`MIPVariable` API cleanup
- #20331: A `MIPVariable`'s repr should include some useful information
- #18733: `MixedIntegerLinearProgram` should support tableau-query methods
- #18688: `MixedIntegerLinearProgram` should support basis status getting/setting
Description changed:
---
+++
@@ -92,6 +92,7 @@
- #20367: fix integer option and a bug in Delsarte bounds code
- #20416: Various callers of `MixedIntegerLinearProgram` should accept and pass through a solver argument
- #20447: Wrong result from `delsarte_bound_additive_hamming_space` with GLPK exact simplex
+- #20766: avoid using maxima simplex algo in `lattice_polytope`
SDP:
- #20506: dual variables handling in SDP solver(s)
Description changed:
---
+++
@@ -13,6 +13,7 @@
- #20406: `get_solver` should allow passing a function (a solver factory) as the solver argument
- #19523: Raise an error when constraints are added to the wrong MILP
- #20664: `MixedIntegerLinearProgram`/`MIPVariable` API cleanup
+- #20773: `MixedIntegerLinearProgram.new_variable` could optionally take a "static" list of component indices
- #20331: A `MIPVariable`'s repr should include some useful information
- #18733: `MixedIntegerLinearProgram` should support tableau-query methods
- #18688: `MixedIntegerLinearProgram` should support basis status getting/setting
Description changed:
---
+++
@@ -10,6 +10,7 @@
- #20602: `MixedIntegerLinearProgram.gen()` does not do anything useful
Frontend wishlist tickets:
+- #7574: clean up of MIP interface
- #20406: `get_solver` should allow passing a function (a solver factory) as the solver argument
- #19523: Raise an error when constraints are added to the wrong MILP
- #20664: `MixedIntegerLinearProgram`/`MIPVariable` API cleanup
Description changed:
---
+++
@@ -19,6 +19,7 @@
- #18733: `MixedIntegerLinearProgram` should support tableau-query methods
- #18688: `MixedIntegerLinearProgram` should support basis status getting/setting
- #7290: Dual method for linear programs (dup: #13141)
+- #18466: Optimal dual solution of LP from `MixedIntegerLinearProgram`
- #7300: Display tight constraints
- #7790: Setting a default max/min bound when calling `MixedIntegerLinearProgram.new_variable`
- #15356: linear programming enhancements
Description changed:
---
+++
@@ -83,6 +83,7 @@
- #20311: `interactive_simplex_method` enhancements
- #20500: `LPAbstractDictionary`: Refactor `leaving_coefficients`, `entering_coefficients` using new methods `row_coefficients`, `column_coefficients`
- #20559: `InteractiveLPProblem`, dictionaries: `add_constraint` / `add_row` methods
+- #20874: `LPAbstractDictionary`: Add `objective_name` method
- #20203: `LPCleanDictionary` - floating-point helper class for interactive simplex method
- #18804: `LPBackendDictionary` - a debugging view of a MIP backend connected to `interactive_simplex_method`
- #18805: Add didactical implementation of tableau cutting planes to `interactive_simplex_method`
Description changed:
---
+++
@@ -60,6 +60,7 @@
- #19903 crash with `MIP_Problem`
- #20351: `sage.libs.ppl.MIP_Problem`: Add support for integer variables
- #19592: PPL Variables cannot be saved
+- #20876: GLPK: glp_exact ignores verbosity level
New backends:
- #20296: `MixedIntegerLinearProgram`: New backend using `InteractiveLPProblem`
Description changed:
---
+++
@@ -4,10 +4,10 @@
- #14540: MILP constraints are silently misunderstood
- #15159: Segfault after deepcopy of `MixedIntegerLinearProgram`
- #20461: Fixes for copying a MIP and its variables
+- #20462: `MixedIntegerLinearProgram`/`MIPVariable`: `get_min`, `set_min`, `get_max`, `set_max` are broken
+- #20602: Deprecate `MixedIntegerLinearProgram.gen()`, `__call__`, `linear_function`, which do not do anything useful; add `default_variable` method
+- #20656: `MixedIntegerLinearProgram`: Remove `_variables` dictionary
- #20657: More fixes for copying a MIP and the `MIPVariable`s created by `new_variable`
-- #20462: `MixedIntegerLinearProgram`/`MIPVariable`: `get_min`, `set_min`, `get_max`, `set_max` are broken
-- #20656: `MixedIntegerLinearProgram`: Remove `_variables` dictionary
-- #20602: `MixedIntegerLinearProgram.gen()` does not do anything useful
Frontend wishlist tickets:
- #7574: clean up of MIP interface
Description changed:
---
+++
@@ -87,6 +87,7 @@
- #20874: `LPAbstractDictionary`: Add `objective_name` method
- #20203: `LPCleanDictionary` - floating-point helper class for interactive simplex method
- #18804: `LPBackendDictionary` - a debugging view of a MIP backend connected to `interactive_simplex_method`
+- #20570: `InteractiveLPProblem`: refactor `plot` method
- #18805: Add didactical implementation of tableau cutting planes to `interactive_simplex_method`
Interactions with polyhedra:
Description changed:
---
+++
@@ -72,6 +72,7 @@
- #19219: MILP: Add "CyLP" backend
- #18862: Interface to COIN `OpenSolverInterface`
- #10879: add optional SCIP integer constraint solver (dup: #8672)
+- #21003: Add SCIP backend using PySCIPOpt
- #18766: Add bindings, `MixedIntegerLinearProgram` backend to qsopt_ex, a state-of-the-art exact simplex solver
- #18765: Add Cython wrappers for GLPK's interface glpssx.h (exact rational simplex)
- #18847 create an interface to Mosek optimisation software
Description changed:
---
+++
@@ -76,6 +76,7 @@
- #18766: Add bindings, `MixedIntegerLinearProgram` backend to qsopt_ex, a state-of-the-art exact simplex solver
- #18765: Add Cython wrappers for GLPK's interface glpssx.h (exact rational simplex)
- #18847 create an interface to Mosek optimisation software
+- #21032: MIPCL solver: Add package, MIP backend
Interactions with `InteractiveLinearProgram` and its dictionaries:
- #19097: Refactor run_[revised]_simplex_method; add run_dual_[revised]_simplex_method
Description changed:
---
+++
@@ -77,6 +77,7 @@
- #18765: Add Cython wrappers for GLPK's interface glpssx.h (exact rational simplex)
- #18847 create an interface to Mosek optimisation software
- #21032: MIPCL solver: Add package, MIP backend
+- #8661: add lpsolve spkg
Interactions with `InteractiveLinearProgram` and its dictionaries:
- #19097: Refactor run_[revised]_simplex_method; add run_dual_[revised]_simplex_method
Description changed:
---
+++
@@ -71,6 +71,7 @@
- #18735: `MixedIntegerLinearProgram`/`HybridBackend`: Reconstruct exact rational/algebraic basic solution
- #19219: MILP: Add "CyLP" backend
- #18862: Interface to COIN `OpenSolverInterface`
+- #21094: Sage package for SCIP integer programming solver
- #10879: add optional SCIP integer constraint solver (dup: #8672)
- #21003: Add SCIP backend using PySCIPOpt
- #18766: Add bindings, `MixedIntegerLinearProgram` backend to qsopt_ex, a state-of-the-art exact simplex solver
Description changed:
---
+++
@@ -61,6 +61,7 @@
- #20351: `sage.libs.ppl.MIP_Problem`: Add support for integer variables
- #19592: PPL Variables cannot be saved
- #20876: GLPK: glp_exact ignores verbosity level
+- #14645: cvxopt 1.1.6.p0 fails to build with SAGE_SPKG_INSTALL_DOCS=yes
New backends:
- #20296: `MixedIntegerLinearProgram`: New backend using `InteractiveLPProblem`
Description changed:
---
+++
@@ -50,11 +50,14 @@
- #20600: more failing tests related to cplex / gurobi
- #20360: Add `sig_on`/`sig_off` to COINBackend
- #20458: GLPKBackend/GLPKExactBackend: Support "glp_simplex followed by glp_exact"
+- #21449: CoinBackend: _test_solve fails on 32-bit
Improvements to the backend interface:
- #20337: MIP: Several fixes regarding constant terms in the objective function
- #20324: MIP backends: Unify `add_col`, `add_variable`
- #20362: MIP backends: Make variable type consistent between `add_variable`, `set_variable_type` (with deprecation)
+- #21498: Unify/document write_lp, write_mps behavior regarding filenames and problem transformations
+- #21499: GenericBackend: Add _test_sense method
Improvements to underlying libraries:
- #19903 crash with `MIP_Problem`
Description changed:
---
+++
@@ -51,6 +51,7 @@
- #20360: Add `sig_on`/`sig_off` to COINBackend
- #20458: GLPKBackend/GLPKExactBackend: Support "glp_simplex followed by glp_exact"
- #21449: CoinBackend: _test_solve fails on 32-bit
+- #21550: Fix CoinBackend testsuite (32-bit failure)
Improvements to the backend interface:
- #20337: MIP: Several fixes regarding constant terms in the objective function
Description changed:
---
+++
@@ -52,6 +52,7 @@
- #20458: GLPKBackend/GLPKExactBackend: Support "glp_simplex followed by glp_exact"
- #21449: CoinBackend: _test_solve fails on 32-bit
- #21550: Fix CoinBackend testsuite (32-bit failure)
+- #21563: Add scripts to install Gurobi, Cplex include and lib links in SAGE_LOCAL
Improvements to the backend interface:
- #20337: MIP: Several fixes regarding constant terms in the objective function
Description changed:
---
+++
@@ -25,6 +25,15 @@
- #15356: linear programming enhancements
- #15583: `sage.numerical.linear_functions.LinearConstraint` is not a hashable type
+Backend defects:`
+- #21825: memory leak in `MixedIntegerLinearProgram` coin backend
+- #21449: `CoinBackend`: _test_solve fails on 32-bit
+- #21550: Fix `CoinBackend` testsuite (32-bit failure)
+- #20303: Fixes for `add_variables` in CVXOPT, PPL, GLPK MIP backends and `add_linear_constraints` in CVXOPT
+- #18572: CVXOPT solver equations handling
+- #20600: more failing tests related to cplex / gurobi
+- #20360: Add `sig_on`/`sig_off` to `COINBackend`
+
Improvements to backends:
- #18685: Add basis status functions `get_col_stat`, `get_row_stat` to GLPK backend
- #18732: Add tableau query functions `glp_eval_tab_row`, `glp_eval_tab_col` to GLPK backend
@@ -33,7 +42,6 @@
- #18764: Add `glp_exact` to Sage's GLPK bindings
- #19471: COIN backend: More basis status and tableau data functions
- #19472: GLPK backend: More basis status and tableau data functions
-- #20303: Fixes for `add_variables` in CVXOPT, PPL, GLPK MIP backends and `add_linear_constraints` in CVXOPT
- #19525: enhancement: Improve GLPK error handling
- #20332: `CVXOPTBackend`: Set initial `problem_name`
- #20361: PPL backend re-solves the problem every time `get_variable_value` or `get_objective_value` is called
@@ -42,16 +50,11 @@
- #20326: `GenericBackend`: Fix doctest of `add_linear_constraint_vector`
- #20414: Add `copy`/`__copy__` methods to CVXOPT, PPL, InteractiveLP backends
- #20548: py3 print in numerical folder
-- #18572: CVXOPT solver equations handling
- #20323: Common `TestSuite` for MIP backends
- #20424: More tests for common MIP `TestSuite`
- #20325: `GenericBackend`: Add default implementation of `add_variables` and `add_linear_constraints`
- #20328: tests related to cplex / gurobi
-- #20600: more failing tests related to cplex / gurobi
-- #20360: Add `sig_on`/`sig_off` to COINBackend
- #20458: GLPKBackend/GLPKExactBackend: Support "glp_simplex followed by glp_exact"
-- #21449: CoinBackend: _test_solve fails on 32-bit
-- #21550: Fix CoinBackend testsuite (32-bit failure)
- #21563: Add scripts to install Gurobi, Cplex include and lib links in SAGE_LOCAL
Improvements to the backend interface:
@@ -59,7 +62,7 @@
- #20324: MIP backends: Unify `add_col`, `add_variable`
- #20362: MIP backends: Make variable type consistent between `add_variable`, `set_variable_type` (with deprecation)
- #21498: Unify/document write_lp, write_mps behavior regarding filenames and problem transformations
-- #21499: GenericBackend: Add _test_sense method
+- #21499: `GenericBackend`: Add _test_sense method
Improvements to underlying libraries:
- #19903 crash with `MIP_Problem`
Description changed:
---
+++
@@ -70,6 +70,7 @@
- #19592: PPL Variables cannot be saved
- #20876: GLPK: glp_exact ignores verbosity level
- #14645: cvxopt 1.1.6.p0 fails to build with SAGE_SPKG_INSTALL_DOCS=yes
+- #22006: CBC tries to use system's blas at runtime which creates an error
New backends:
- #20296: `MixedIntegerLinearProgram`: New backend using `InteractiveLPProblem`
Description changed:
---
+++
@@ -71,6 +71,7 @@
- #20876: GLPK: glp_exact ignores verbosity level
- #14645: cvxopt 1.1.6.p0 fails to build with SAGE_SPKG_INSTALL_DOCS=yes
- #22006: CBC tries to use system's blas at runtime which creates an error
+- #22380: update cvxopt to 1.1.9
New backends:
- #20296: `MixedIntegerLinearProgram`: New backend using `InteractiveLPProblem`
Description changed:
---
+++
@@ -117,3 +117,7 @@
SDP:
- #20506: dual variables handling in SDP solver(s)
+
+Documentation:
+- #22472: Numerical optimization section of the reference manual needs reorganization
+
Perhaps I am not that klee
that you think I am. My name is Kwankyu Lee.
Yes, you wrote ticket #22472 regarding optimization documentation, so I copied you to make sure you are aware of other efforts regarding the optimization code.
Ok :-)
Description changed:
---
+++
@@ -56,6 +56,7 @@
- #20328: tests related to cplex / gurobi
- #20458: GLPKBackend/GLPKExactBackend: Support "glp_simplex followed by glp_exact"
- #21563: Add scripts to install Gurobi, Cplex include and lib links in SAGE_LOCAL
+- #23680: package Osi
Improvements to the backend interface:
- #20337: MIP: Several fixes regarding constant terms in the objective function
Description changed:
---
+++
@@ -24,6 +24,7 @@
- #7790: Setting a default max/min bound when calling `MixedIntegerLinearProgram.new_variable`
- #15356: linear programming enhancements
- #15583: `sage.numerical.linear_functions.LinearConstraint` is not a hashable type
+- #23681: Make `_repr_` of MILP more informative
Backend defects:`
- #21825: memory leak in `MixedIntegerLinearProgram` coin backend
Description changed:
---
+++
@@ -25,6 +25,8 @@
- #15356: linear programming enhancements
- #15583: `sage.numerical.linear_functions.LinearConstraint` is not a hashable type
- #23681: Make `_repr_` of MILP more informative
+- #26302: `MixedIntegerLinearProgram` should provide a way to get the variables in the order they are provided to the `polyhedron` method
+
Backend defects:`
- #21825: memory leak in `MixedIntegerLinearProgram` coin backend
Description changed:
---
+++
@@ -26,7 +26,7 @@
- #15583: `sage.numerical.linear_functions.LinearConstraint` is not a hashable type
- #23681: Make `_repr_` of MILP more informative
- #26302: `MixedIntegerLinearProgram` should provide a way to get the variables in the order they are provided to the `polyhedron` method
-
+- #26511: MIP frontend/backend using PuLP
Backend defects:`
- #21825: memory leak in `MixedIntegerLinearProgram` coin backend
@@ -94,6 +94,7 @@
- #18847 create an interface to Mosek optimisation software
- #21032: MIPCL solver: Add package, MIP backend
- #8661: add lpsolve spkg
+- #26511: MIP frontend/backend using PuLP; backend to OSI using yaposib
Interactions with `InteractiveLinearProgram` and its dictionaries:
- #19097: Refactor run_[revised]_simplex_method; add run_dual_[revised]_simplex_method
Description changed:
---
+++
@@ -1,3 +1,6 @@
+Alternatives:
+- #26511: **Meta-ticket: Use Python optimization interfaces: PuLP, Pyomo, cylp...**
+
Frontend defects:
- #20304: More error checking in `MixedIntegerLinearProgram`
- #13696: process chained equalities with different signs correctly
Description changed:
---
+++
@@ -1,5 +1,8 @@
Alternatives:
- #26511: **Meta-ticket: Use Python optimization interfaces: PuLP, Pyomo, cylp...**
+
+Proposed packaging change:
+- #28175: Move sage optimization backends to separate Cython packages to remove OptionalExtension problems
Frontend defects:
- #20304: More error checking in `MixedIntegerLinearProgram`
Description changed:
---
+++
@@ -42,6 +42,7 @@
- #18572: CVXOPT solver equations handling
- #20600: more failing tests related to cplex / gurobi
- #20360: Add `sig_on`/`sig_off` to `COINBackend`
+- #28914: default_mip_solver: Allow solver = a callable
Improvements to backends:
- #18685: Add basis status functions `get_col_stat`, `get_row_stat` to GLPK backend
Ticket retargeted after milestone closed
Batch modifying tickets that will likely not be ready for 9.1, based on a review of the ticket title, branch/review status, and last modification date.
Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date.
Description changed:
---
+++
@@ -12,26 +12,21 @@
- #20461: Fixes for copying a MIP and its variables
- #20462: `MixedIntegerLinearProgram`/`MIPVariable`: `get_min`, `set_min`, `get_max`, `set_max` are broken
- #20602: Deprecate `MixedIntegerLinearProgram.gen()`, `__call__`, `linear_function`, which do not do anything useful; add `default_variable` method
-- #20656: `MixedIntegerLinearProgram`: Remove `_variables` dictionary
-- #20657: More fixes for copying a MIP and the `MIPVariable`s created by `new_variable`
-Frontend wishlist tickets:
+Frontend improvements:
- #7574: clean up of MIP interface
- #20406: `get_solver` should allow passing a function (a solver factory) as the solver argument
+- #15583: `sage.numerical.linear_functions.LinearConstraint` is not a hashable type
+- #20773: `MixedIntegerLinearProgram.new_variable` could optionally take a "static" list of component indices
+- #23681: Make `_repr_` of MILP more informative
- #19523: Raise an error when constraints are added to the wrong MILP
-- #20664: `MixedIntegerLinearProgram`/`MIPVariable` API cleanup
-- #20773: `MixedIntegerLinearProgram.new_variable` could optionally take a "static" list of component indices
-- #20331: A `MIPVariable`'s repr should include some useful information
+- #20664: **Meta-ticket: `MixedIntegerLinearProgram`/`MIPVariable` API cleanup**
- #18733: `MixedIntegerLinearProgram` should support tableau-query methods
- #18688: `MixedIntegerLinearProgram` should support basis status getting/setting
- #7290: Dual method for linear programs (dup: #13141)
- #18466: Optimal dual solution of LP from `MixedIntegerLinearProgram`
- #7300: Display tight constraints
-- #7790: Setting a default max/min bound when calling `MixedIntegerLinearProgram.new_variable`
- #15356: linear programming enhancements
-- #15583: `sage.numerical.linear_functions.LinearConstraint` is not a hashable type
-- #23681: Make `_repr_` of MILP more informative
-- #26302: `MixedIntegerLinearProgram` should provide a way to get the variables in the order they are provided to the `polyhedron` method
- #26511: MIP frontend/backend using PuLP
Backend defects:`
Description changed:
---
+++
@@ -1,10 +1,10 @@
-Alternatives:
+**Alternatives:**
- #26511: **Meta-ticket: Use Python optimization interfaces: PuLP, Pyomo, cylp...**
-Proposed packaging change:
+**Proposed packaging change:**
- #28175: Move sage optimization backends to separate Cython packages to remove OptionalExtension problems
-Frontend defects:
+**Frontend defects:**
- #20304: More error checking in `MixedIntegerLinearProgram`
- #13696: process chained equalities with different signs correctly
- #14540: MILP constraints are silently misunderstood
@@ -13,7 +13,7 @@
- #20462: `MixedIntegerLinearProgram`/`MIPVariable`: `get_min`, `set_min`, `get_max`, `set_max` are broken
- #20602: Deprecate `MixedIntegerLinearProgram.gen()`, `__call__`, `linear_function`, which do not do anything useful; add `default_variable` method
-Frontend improvements:
+**Frontend improvements:**
- #7574: clean up of MIP interface
- #20406: `get_solver` should allow passing a function (a solver factory) as the solver argument
- #15583: `sage.numerical.linear_functions.LinearConstraint` is not a hashable type
@@ -29,7 +29,7 @@
- #15356: linear programming enhancements
- #26511: MIP frontend/backend using PuLP
-Backend defects:`
+**Backend defects:**
- #21825: memory leak in `MixedIntegerLinearProgram` coin backend
- #21449: `CoinBackend`: _test_solve fails on 32-bit
- #21550: Fix `CoinBackend` testsuite (32-bit failure)
@@ -39,7 +39,7 @@
- #20360: Add `sig_on`/`sig_off` to `COINBackend`
- #28914: default_mip_solver: Allow solver = a callable
-Improvements to backends:
+**Improvements to backends:**
- #18685: Add basis status functions `get_col_stat`, `get_row_stat` to GLPK backend
- #18732: Add tableau query functions `glp_eval_tab_row`, `glp_eval_tab_col` to GLPK backend
- #18763: COIN backend should support basis status and tableau data functions
@@ -63,14 +63,14 @@
- #21563: Add scripts to install Gurobi, Cplex include and lib links in SAGE_LOCAL
- #23680: package Osi
-Improvements to the backend interface:
+**Improvements to the backend interface:**
- #20337: MIP: Several fixes regarding constant terms in the objective function
- #20324: MIP backends: Unify `add_col`, `add_variable`
- #20362: MIP backends: Make variable type consistent between `add_variable`, `set_variable_type` (with deprecation)
- #21498: Unify/document write_lp, write_mps behavior regarding filenames and problem transformations
- #21499: `GenericBackend`: Add _test_sense method
-Improvements to underlying libraries:
+**Improvements to underlying libraries:**
- #19903 crash with `MIP_Problem`
- #20351: `sage.libs.ppl.MIP_Problem`: Add support for integer variables
- #19592: PPL Variables cannot be saved
@@ -79,7 +79,7 @@
- #22006: CBC tries to use system's blas at runtime which creates an error
- #22380: update cvxopt to 1.1.9
-New backends:
+**New backends:**
- #20296: `MixedIntegerLinearProgram`: New backend using `InteractiveLPProblem`
- #20413: `InteractiveLPBackend`: Use standard-form transformation, `objective_constant_term`, change default `base_ring` to `QQ`
- #20433: `InteractiveLPBackend`: Implement `set_verbosity`
@@ -98,7 +98,7 @@
- #8661: add lpsolve spkg
- #26511: MIP frontend/backend using PuLP; backend to OSI using yaposib
-Interactions with `InteractiveLinearProgram` and its dictionaries:
+**Interactions with `InteractiveLinearProgram` and its dictionaries:**
- #19097: Refactor run_[revised]_simplex_method; add run_dual_[revised]_simplex_method
- #18742: interactive_simplex_method: Support several styles corresponding to major textbooks
- #18852: interactive_simplex_method: Enable typesetting of run_simplex_method in SageMathCloud
@@ -112,19 +112,22 @@
- #20570: `InteractiveLPProblem`: refactor `plot` method
- #18805: Add didactical implementation of tableau cutting planes to `interactive_simplex_method`
-Interactions with polyhedra:
+**Interactions with polyhedra:**
- #20301 `Polyhedron.to_linear_program` should return the MIP variable used
- #20415 `Polyhedron.to_linear_program` should select solver by `base_ring`
-Applications:
+**Applications:**
- #20367: fix integer option and a bug in Delsarte bounds code
- #20416: Various callers of `MixedIntegerLinearProgram` should accept and pass through a solver argument
- #20447: Wrong result from `delsarte_bound_additive_hamming_space` with GLPK exact simplex
- #20766: avoid using maxima simplex algo in `lattice_polytope`
-SDP:
+**SDP, MINLP, Manifolds:**
- #20506: dual variables handling in SDP solver(s)
+- #25116: Frontend for Mixed Integer Nonlinear Programming
+- #31740: **Meta-ticket: Families, posets, complexes of manifold subsets**
-Documentation:
+
+**Documentation:**
- #22472: Numerical optimization section of the reference manual needs reorganization
Alternatives:
26511: Meta-ticket: Use Python optimization interfaces: PuLP, Pyomo, cylp...
Proposed packaging change:
28175: Move sage optimization backends to separate Cython packages to remove OptionalExtension problems
Frontend defects:
20304: More error checking in
MixedIntegerLinearProgram
13696: process chained equalities with different signs correctly
14540: MILP constraints are silently misunderstood
15159: Segfault after deepcopy of
MixedIntegerLinearProgram
20461: Fixes for copying a MIP and its variables
20462:
MixedIntegerLinearProgram
/MIPVariable
:get_min
,set_min
,get_max
,set_max
are broken20602: Deprecate
MixedIntegerLinearProgram.gen()
,__call__
,linear_function
, which do not do anything useful; adddefault_variable
methodFrontend improvements:
7574: clean up of MIP interface
20406:
get_solver
should allow passing a function (a solver factory) as the solver argument15583:
sage.numerical.linear_functions.LinearConstraint
is not a hashable type20773:
MixedIntegerLinearProgram.new_variable
could optionally take a "static" list of component indices23681: Make
_repr_
of MILP more informative19523: Raise an error when constraints are added to the wrong MILP
20664: Meta-ticket:
MixedIntegerLinearProgram
/MIPVariable
API cleanup18733:
MixedIntegerLinearProgram
should support tableau-query methods18688:
MixedIntegerLinearProgram
should support basis status getting/setting7290: Dual method for linear programs (dup: #13141)
18466: Optimal dual solution of LP from
MixedIntegerLinearProgram
7300: Display tight constraints
15356: linear programming enhancements
26511: MIP frontend/backend using PuLP
Backend defects:
21825: memory leak in
MixedIntegerLinearProgram
coin backend21449:
CoinBackend
: _test_solve fails on 32-bit21550: Fix
CoinBackend
testsuite (32-bit failure)20303: Fixes for
add_variables
in CVXOPT, PPL, GLPK MIP backends andadd_linear_constraints
in CVXOPT18572: CVXOPT solver equations handling
20600: more failing tests related to cplex / gurobi
20360: Add
sig_on
/sig_off
toCOINBackend
28914: default_mip_solver: Allow solver = a callable
Improvements to backends:
18685: Add basis status functions
get_col_stat
,get_row_stat
to GLPK backend18732: Add tableau query functions
glp_eval_tab_row
,glp_eval_tab_col
to GLPK backend18763: COIN backend should support basis status and tableau data functions
18838: GLPK backend does not detect unboundedness in simplex-only mode
18764: Add
glp_exact
to Sage's GLPK bindings19471: COIN backend: More basis status and tableau data functions
19472: GLPK backend: More basis status and tableau data functions
19525: enhancement: Improve GLPK error handling
20332:
CVXOPTBackend
: Set initialproblem_name
20361: PPL backend re-solves the problem every time
get_variable_value
orget_objective_value
is called10232: check GLPK bound errors
20354:
PPLBackend
: Add support for integer variables20326:
GenericBackend
: Fix doctest ofadd_linear_constraint_vector
20414: Add
copy
/__copy__
methods to CVXOPT, PPL, InteractiveLP backends20548: py3 print in numerical folder
20323: Common
TestSuite
for MIP backends20424: More tests for common MIP
TestSuite
20325:
GenericBackend
: Add default implementation ofadd_variables
andadd_linear_constraints
20328: tests related to cplex / gurobi
20458: GLPKBackend/GLPKExactBackend: Support "glp_simplex followed by glp_exact"
21563: Add scripts to install Gurobi, Cplex include and lib links in SAGE_LOCAL
23680: package Osi
Improvements to the backend interface:
20337: MIP: Several fixes regarding constant terms in the objective function
20324: MIP backends: Unify
add_col
,add_variable
20362: MIP backends: Make variable type consistent between
add_variable
,set_variable_type
(with deprecation)21498: Unify/document write_lp, write_mps behavior regarding filenames and problem transformations
21499:
GenericBackend
: Add _test_sense methodImprovements to underlying libraries:
19903 crash with
MIP_Problem
20351:
sage.libs.ppl.MIP_Problem
: Add support for integer variables19592: PPL Variables cannot be saved
20876: GLPK: glp_exact ignores verbosity level
14645: cvxopt 1.1.6.p0 fails to build with SAGE_SPKG_INSTALL_DOCS=yes
22006: CBC tries to use system's blas at runtime which creates an error
22380: update cvxopt to 1.1.9
New backends:
20296:
MixedIntegerLinearProgram
: New backend usingInteractiveLPProblem
20413:
InteractiveLPBackend
: Use standard-form transformation,objective_constant_term
, change defaultbase_ring
toQQ
20433:
InteractiveLPBackend
: Implementset_verbosity
20376:
LoggingBackend
- delegating MIP backend class that logs input/output to backend methods20446:
GLPKExactBackend
- a variation onGLPKBackend
that sets a solver parameter and signals errors on integer variables18735:
MixedIntegerLinearProgram
/HybridBackend
: Reconstruct exact rational/algebraic basic solution19219: MILP: Add "CyLP" backend
18862: Interface to COIN
OpenSolverInterface
21094: Sage package for SCIP integer programming solver
10879: add optional SCIP integer constraint solver (dup: #8672)
21003: Add SCIP backend using PySCIPOpt
18766: Add bindings,
MixedIntegerLinearProgram
backend to qsopt_ex, a state-of-the-art exact simplex solver18765: Add Cython wrappers for GLPK's interface glpssx.h (exact rational simplex)
18847 create an interface to Mosek optimisation software
21032: MIPCL solver: Add package, MIP backend
8661: add lpsolve spkg
26511: MIP frontend/backend using PuLP; backend to OSI using yaposib
Interactions with
InteractiveLinearProgram
and its dictionaries:19097: Refactor run_[revised]_simplex_method; add rundual[revised]_simplex_method
18742: interactive_simplex_method: Support several styles corresponding to major textbooks
18852: interactive_simplex_method: Enable typesetting of run_simplex_method in SageMathCloud
18734: Construct an
interactive_simplex_method.LPDictionary
from aMixedIntegerLinearProgram
20311:
interactive_simplex_method
enhancements20500:
LPAbstractDictionary
: Refactorleaving_coefficients
,entering_coefficients
using new methodsrow_coefficients
,column_coefficients
20559:
InteractiveLPProblem
, dictionaries:add_constraint
/add_row
methods20874:
LPAbstractDictionary
: Addobjective_name
method20203:
LPCleanDictionary
- floating-point helper class for interactive simplex method18804:
LPBackendDictionary
- a debugging view of a MIP backend connected tointeractive_simplex_method
20570:
InteractiveLPProblem
: refactorplot
method18805: Add didactical implementation of tableau cutting planes to
interactive_simplex_method
Interactions with polyhedra:
20301
Polyhedron.to_linear_program
should return the MIP variable used20415
Polyhedron.to_linear_program
should select solver bybase_ring
Applications:
20367: fix integer option and a bug in Delsarte bounds code
20416: Various callers of
MixedIntegerLinearProgram
should accept and pass through a solver argument20447: Wrong result from
delsarte_bound_additive_hamming_space
with GLPK exact simplex20766: avoid using maxima simplex algo in
lattice_polytope
SDP, MINLP, Manifolds:
20506: dual variables handling in SDP solver(s)
25116: Frontend for Mixed Integer Nonlinear Programming
31740: Meta-ticket: Families, posets, complexes of manifold subsets
Documentation:
22472: Numerical optimization section of the reference manual needs reorganization
Depends on #20296
CC: @dimpase @videlec @vbraun @jdemeyer @fchapoton @kiwifb @sagetrac-Rudi @novoselt @mo271 @jplab @mmasdeu @kwankyu @sagetrac-tmonteil @mforets @yuan-zhou
Component: numerical
Issue created by migration from https://trac.sagemath.org/ticket/20302