#20446: GLPKExactBackend - a variation on GLPKBackend that sets a solver 
parameter
and signals errors on integer variables
---------------------------+---------------------------------
   Reporter:  mkoeppe      |            Owner:
       Type:  enhancement  |           Status:  new
   Priority:  major        |        Milestone:  sage-wishlist
  Component:  numerical    |         Keywords:  lp
  Merged in:               |          Authors:
  Reviewers:               |  Report Upstream:  N/A
Work issues:               |           Branch:
     Commit:               |     Dependencies:
   Stopgaps:               |
---------------------------+---------------------------------
 GLPK has an exact simplex method, which can be requested by setting a
 solver parameter.
 Via #20406, a user can set this parameter.

 It would be more convenient to define a named backend that does that.

 Also, setting the solver parameter actually causes GLPK to solve the
 continuous relaxation, ignoring all integer variables. This might be
 surprising to users.

 {{{
 sage: delsarte_bound_additive_hamming_space(19,15,7,isinteger=True)
 3
 sage: from sage.numerical.backends.generic_backend import get_solver
 sage: def glpk_exact_solver():
         b = get_solver(solver="GLPK")
         b.solver_parameter("simplex_or_intopt", "exact_simplex_only")
         return b
 sage:
 
delsarte_bound_additive_hamming_space(19,15,7,solver=glpk_exact_solver,isinteger=True)
 glp_exact: 54 rows, 20 columns, 795 non-zeros
 ...
 2
 }}}


 So there would be value in a named backend that actually signals an error
 when the user requests integer variables (like the CVXOpt and
 InteractiveLP backends do).

 {{{
 sage:
 
delsarte_bound_additive_hamming_space(19,15,7,solver="GLPK/exact",isinteger=True)
 ValueError: This backend does not handle integer variables
 }}}

 While at it, could also support the "glp_simplex followed by glp_exact"
 mode that is mentioned in http://trac.sagemath.org/ticket/18735#comment:7

--
Ticket URL: <http://trac.sagemath.org/ticket/20446>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to