#15686: Improve documentation of constraint_generation in
MixedIntegerLinearProgramming
---------------------------------+------------------------
       Reporter:  equaeghe       |        Owner:
           Type:  defect         |       Status:  new
       Priority:  minor          |    Milestone:  sage-6.1
      Component:  PLEASE CHANGE  |   Resolution:
       Keywords:                 |    Merged in:
        Authors:                 |    Reviewers:
Report Upstream:  N/A            |  Work issues:
         Branch:                 |       Commit:
   Dependencies:                 |     Stopgaps:
---------------------------------+------------------------
Changes (by equaeghe):

 * priority:  major => minor
 * type:  PLEASE CHANGE => defect


Old description:

> 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.

New description:

 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#comment:1>
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