#20414: Add copy/__copy__ methods to CVXOPT, PPL, InteractiveLP backends
-------------------------------------+-------------------------------------
Reporter: mkoeppe | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: sage-7.2
Component: numerical | Resolution:
Keywords: lp | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/mkoeppe/add_copy___copy___methods_to_cvxopt__ppl__interactivelp_backends|
38c6be9df03439d604f7b6c476cbebd6e606e7fd
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Old description:
> The COIN, CPLEX, GLPK, and Gurobi backends supply a `copy` method.
> But it's not documented as a backend interface method in
> `GenericBackend`, and the CVXOPT, PPL, InteractiveLP backends do not
> implement it.
> It is used by `MixedIntegerLinearProgram.__copy__`.
>
> The backend method should actually probably be called `__copy__` as well
> -- see https://docs.python.org/2/library/copy.html
>
> See also #15159 (which may indicate that we may need a `__deepcopy__`
> method as well) and #20323 (in which copying a backend could be the basis
> for more diverse tests)
New description:
The COIN, CPLEX, GLPK, and Gurobi backends supply a `copy` method.
But it's not documented as a backend interface method in `GenericBackend`,
and the CVXOPT, PPL, InteractiveLP backends do not implement it.
It is used by `MixedIntegerLinearProgram.__copy__`.
The backend method should actually probably be called `__copy__` as well
-- see https://docs.python.org/2/library/copy.html
The branch on the ticket does this.
We also add `__deepcopy__` methods to `MixedIntegerLinearProgram` and the
backends.
This fixes #15159, though the semantics of `copy` and `deepcopy` of a
`MixedIntegerLinearProgram` remains questionable due to its interaction
with `MIPVariable`; see #15159 and #19523.
See also #20323 (in which copying a backend could be the basis for more
diverse tests).
--
Comment (by mkoeppe):
Now also contains a fix for #15159 (see description).
Needs review.
--
Ticket URL: <http://trac.sagemath.org/ticket/20414#comment:7>
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.