Minotaur 0.4.1
Docs for developers
|
Class for reformulating a problem using simple rules so that handlers can be applied to it. More...
#include <QuadTransformer.h>
Public Member Functions | |
QuadTransformer () | |
Default Constructor. | |
QuadTransformer (EnvPtr env, ProblemPtr p) | |
Constructor. | |
~QuadTransformer () | |
Destroy. | |
std::string | getName () const |
Get the name of this Transformer. More... | |
SolutionPtr | getSolOrig (ConstSolutionPtr sol, int &err) |
Translate the solution of reformulated problem into that of original problem. More... | |
SolutionPtr | getSolTrans (ConstSolutionPtr sol, int &err) |
Translate the solution of originial problem into that of reformulated problem. More... | |
void | reformulate (ProblemPtr &newp, HandlerVector &handlers, int &status) |
Perform the reformulation, and assign handlers. More... | |
![]() | |
Transformer () | |
Default Constructor. | |
Transformer (EnvPtr env, ProblemPtr oldp) | |
Constructor. | |
virtual | ~Transformer () |
Destroy. | |
virtual std::string | getName () const =0 |
Get the name of this Transformer. More... | |
virtual SolutionPtr | getSolOrig (ConstSolutionPtr sol, int &err)=0 |
Translate the solution of reformulated problem into that of original problem. More... | |
virtual SolutionPtr | getSolTrans (ConstSolutionPtr sol, int &err)=0 |
Translate the solution of originial problem into that of reformulated problem. More... | |
virtual void | reformulate (ProblemPtr &newp, HandlerVector &handlers, int &status)=0 |
Perform the reformulation, and assign handlers. More... | |
Additional Inherited Members | |
![]() | |
bool | allConsAssigned_ (ProblemPtr p, HandlerVector &handlers) |
Check if all constraints in a problem have been assigned to a handler. More... | |
void | assignHandler_ (CGraphPtr cg, ConstraintPtr c) |
Assign an appropriate handler to a nonlinear constraint of the form ![]() | |
void | clearUnusedHandlers_ (HandlerVector &handlers) |
Delete unused handlers. More... | |
void | copyLinear_ (ConstProblemPtr p, ProblemPtr newp) |
Copy all the linear constraints of the problem into the new problem. More... | |
void | copyVars_ (ConstProblemPtr p, ProblemPtr newp) |
Copy all the linear constraints of the problem into the new problem. More... | |
virtual void | makeObjLin_ () |
void | minObj_ () |
Convert a maximization objective into minimization. | |
VariablePtr | newVar_ (VariablePtr iv, double d, ProblemPtr newp) |
Find the auxiliary variable associated with ![]() | |
VariablePtr | newVar_ (LinearFunctionPtr lf, double d, ProblemPtr newp) |
Find the auxiliary variable associated with ![]() | |
VariablePtr | newVar_ (CGraphPtr cg, ProblemPtr newp) |
Find the auxiliary variable associated with ![]() | |
![]() | |
EnvPtr | env_ |
The pointer to environment. | |
LinearHandlerPtr | lHandler_ |
Handler for linear constraints and variables. | |
LoggerPtr | logger_ |
Logger. | |
ProblemPtr | newp_ |
The transformed problem. | |
ProblemPtr | p_ |
The original problem. | |
kPowHandlerPtr | kHandler_ |
Handler for y = x^k type constraints. | |
QuadHandlerPtr | qHandler_ |
Handler for quadratic terms. | |
CxUnivarHandlerPtr | uHandler_ |
Handler for univariate constraints. | |
UnivarQuadHandlerPtr | uqHandler_ |
Handler for univariate quadratic constraints. | |
YEqLFs * | yLfs_ |
Storage for auxiliary variables defined by relations of the form ![]() | |
YEqUCGs * | yUniExprs_ |
Storage for auxiliary variables defined by relations of the form ![]() | |
YEqVars * | yVars_ |
Storage for auxiliary variables defined by relations of the form ![]() | |
const double | zTol_ |
Tolerance for checking if a value is zero. | |
Class for reformulating a problem using simple rules so that handlers can be applied to it.
|
virtual |
Get the name of this Transformer.
Implements Minotaur::Transformer.
|
virtual |
Translate the solution of reformulated problem into that of original problem.
[in] | sol | Solution of the reformulated problem. |
[out] | err | Zero if no error is encountered, nonzero otherwise. |
Implements Minotaur::Transformer.
|
virtual |
Translate the solution of originial problem into that of reformulated problem.
[in] | sol | Solution of the original problem. |
[out] | err | Zero if no error is encountered, nonzero otherwise. |
Implements Minotaur::Transformer.
|
virtual |
Perform the reformulation, and assign handlers.
[out] | newp | The new, reformulated problem. |
[out] | handlers | A vector of handlers used to reformulate the problem. |
[out] | status | Zero if reformulated successfully. Nonzero otherwise. |
Implements Minotaur::Transformer.