Reduction-class {CVXR} | R Documentation |
This virtual class represents a reduction, an actor that transforms a problem into an equivalent problem. By equivalent, we mean that there exists a mapping between solutions of either problem: if we reduce a problem A to another problem B and then proceed to find a solution to B, we can convert it to a solution of A with at most a moderate amount of effort.
## S4 method for signature 'Reduction,Problem' accepts(object, problem) ## S4 method for signature 'Reduction' reduce(object) ## S4 method for signature 'Reduction,Solution' retrieve(object, solution) ## S4 method for signature 'Reduction,Problem' perform(object, problem) ## S4 method for signature 'Reduction,Solution,list' invert(object, solution, inverse_data)
object |
A Reduction object. |
problem |
A Problem object. |
solution |
A Solution to a problem that generated the inverse data. |
inverse_data |
The data encoding the original problem. |
Every reduction supports three methods: accepts, perform, and invert. The accepts method of a particular reduction codifies the types of problems that it is applicable to, the perform method takes a problem and reduces it to a (new) equivalent form, and the invert method maps solutions from reduced-to problems to their problems of provenance.
accepts
: States whether the reduction accepts a problem.
reduce
: Reduces the owned problem to an equivalent problem.
retrieve
: Retrieves a solution to the owned problem.
perform
: Performs the reduction on a problem and returns an equivalent problem.
invert
: Returns a solution to the original problem given the inverse data.