#20462: MixedIntegerLinearProgram/MIPVariable: get_min, set_min, get_max,
set_max
are broken
-----------------------------------+------------------------
Reporter: mkoeppe | Owner:
Type: defect | Status: new
Priority: major | Milestone: sage-7.2
Component: numerical | Resolution:
Keywords: lp | Merged in:
Authors: Matthias Koeppe | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: | Stopgaps:
-----------------------------------+------------------------
Changes (by {'newvalue': u'Matthias Koeppe', 'oldvalue': ''}):
* author: => Matthias Koeppe
Old description:
> Here's a bug:
> {{{
> sage: p.<x,y> = MixedIntegerLinearProgram()
> sage: x[0], y[0]
> (x_0, x_1)
> sage: p.set_max(x, 42)
> sage: p.get_max(y[0])
> 42.0
> }}}
> The bug is in `MIPVariable.set_min`, `.set_max`, which calls back into
> the problem to change the bounds of *all* variables of the problem rather
> than just its components.
>
> Oh, and why does a `MIPVariable` only have `set_max`, but no `get_max`?
> And why all of that bizarre delegating to `MIPVariable` when other
> `MixedIntegerLinearProgram` methods such as `set_integer` etc. just do
> everything directly, and no corresponding `MIPVariable` methods exist?
>
> I guess this is also a great moment to mention that these things should
> properly be referred to as `lower_bound` and `upper_bound` rather than
> `min` and `max`. Some deprecation fun to be had.
>
> And why is there no way to query the values of the components of the
> `_default_mipvariable`?
New description:
Here's a bug:
{{{
sage: p.<x,y> = MixedIntegerLinearProgram()
sage: x[0], y[0]
(x_0, x_1)
sage: p.set_max(x, 42)
sage: p.get_max(y[0])
42.0
}}}
The bug is in `MIPVariable.set_min`, `.set_max`, which calls back into the
problem to change the bounds of *all* variables of the problem rather than
just its components.
--
--
Ticket URL: <http://trac.sagemath.org/ticket/20462#comment:3>
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.