#15686: Improve documentation of constraint_generation in
MixedIntegerLinearProgramming
-----------------------------+----------------------------
   Reporter:  equaeghe       |            Owner:
       Type:  PLEASE CHANGE  |           Status:  new
   Priority:  major          |        Milestone:  sage-6.1
  Component:  PLEASE CHANGE  |         Keywords:
  Merged in:                 |          Authors:
  Reviewers:                 |  Report Upstream:  N/A
Work issues:                 |           Branch:
     Commit:                 |     Dependencies:
   Stopgaps:                 |
-----------------------------+----------------------------
 As prompted by http://ask.sagemath.org/question/3410, this ticket is meant
 for discussion to improve the documentation of the `constraint_generation`
 option of MixedIntegerLinearProgramming.

 From the ref:
 http://www.sagemath.org/doc/reference/numerical/sage/numerical/mip.html:

 > constraint_generation – whether to require the returned solver to
 support constraint generation (excludes Coin). False by default.

 From the source:
 
https://github.com/sagemath/sage/blob/master/src/sage/numerical/backends/generic_backend.pyx#L983:

 >  - ``constraint_generation`` (boolean) -- whether the solver returned is
 to be used for constraint/variable generation. As the interface with Coin
 does not support constraint/variable generation, setting
 `constraint_generation` to `False` ensures that the backend to Coin is not
 returned when `solver = None`. This is set to `False` by default.

 First issue: in the source the phrase “setting `constraint_generation` to
 `False` ensures that the backend to Coin is not returned when `solver =
 None`” seems incorrect, as setting `constraint_generation` to `False` is
 meant to ''allow'' selection of Coin.

 Second issue: upon first reading the ref and source documentation, I
 understood that Coin would not be selected if `constraint_generation` were
 set to `True`, but not what was exactly meant by ‘constraint generation’
 in the context of the module. I thought it would enable passing a
 constraint generator. Now I understand that constraint generation means:
 after a first call `solve()`, one or more constraints is added to the
 solved instance, and then `solve()` is called again. Perhaps the
 documentation should be changed to make this clearer.

--
Ticket URL: <http://trac.sagemath.org/ticket/15686>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to