Opened 6 years ago
Last modified 6 years ago
#20296 closed enhancement
MixedIntegerLinearProgram: New backend using InteractiveLPProblem — at Version 3
Reported by: | mkoeppe | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-7.2 |
Component: | numerical | Keywords: | lp |
Cc: | dimpase, novoselt, ncohen, vdelecroix, chapoton | Merged in: | |
Authors: | Matthias Koeppe | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | u/mkoeppe/mixedintegerlinearprogram__new_backend_using_interactivelpproblem (Commits, GitHub, GitLab) | Commit: | 08d454882ce0a95b13f7d25c659c5cdde3b57090 |
Dependencies: | Stopgaps: |
Description (last modified by )
If one has to solve a small LP with irrational (say, AA
) data (and needs access to the exact solution), the only available tool is the didactical implementation of the simplex method in InteractiveLPProblem
(but see #18735). This ticket implements a MixedIntegerLinearProgram
backend using InteractiveLPProblem
.
Example:
sage: poly = polytopes.dodecahedron(base_ring=AA) sage: lp = poly.to_linear_program(solver='InteractiveLP') sage: b = lp.get_backend() sage: b.set_objective([1, 1, 1]) sage: lp.solve() 2.291796067500631?
(This example uses backend functions because of #20301; and the base_ring=AA
is there because of #13041.)
Change History (3)
comment:1 Changed 6 years ago by
- Branch set to u/mkoeppe/mixedintegerlinearprogram__new_backend_using_interactivelpproblem
comment:2 Changed 6 years ago by
- Cc dimpase novoselt ncohen vdelecroix chapoton added
- Commit set to 08d454882ce0a95b13f7d25c659c5cdde3b57090
- Description modified (diff)
- Status changed from new to needs_review
comment:3 Changed 6 years ago by
- Description modified (diff)
Note: See
TracTickets for help on using
tickets.
Needs review.
Some remarks:
InteractiveLPProblem
(_constraint_types
,_variable_types
,_problem_type
,_is_negative
) because some accessor methods are missing. Should I be adding them?MixedIntegerLinearProgram(solver=('InteractiveLP', AA))
orMixedIntegerLinearProgram(solver='InteractiveLP', base_ring=AA
New commits:
Fix typo in documentation
New MIP backend: InteractiveLPBackend
Fix doctests (which never run)
Fix typo in docstring