Minotaur 0.4.1
Docs for developers
QuadTransformer.h
Go to the documentation of this file.
1//
2// Minotaur -- It's only 1/2 bull
3//
4// (C)opyright 2008 - 2025 The Minotaur Team.
5//
6
13#ifndef MINOTAURQUADTRANSFORMER_H
14#define MINOTAURQUADTRANSFORMER_H
15
16#include "Types.h"
17#include "Transformer.h"
18
19namespace Minotaur {
20 class Environment;
21 class LinearHandler;
22 class UnivarQuadHandler;
23 class Problem;
24 class Solution;
25 class YEqQfBil;
26 class YEqBivar;
27 class YEqUnivar;
28 typedef LinearHandler* LinearHandlerPtr;
30 typedef Solution* SolutionPtr;
31 typedef const Solution* ConstSolutionPtr;
32
33
39 public:
42
45
48
49 // base class method.
50 std::string getName() const;
51
52 // base class method.
54
55 // base class method.
57
58 // base class method.
59 void reformulate(ProblemPtr &newp, HandlerVector &handlers, int &status);
60
61
62 private:
63 static const std::string me_;
64
65 YEqQfBil *yQfBil_;
66 YEqBivar *yBivar_;
67 YEqUnivar *yUnivar_;
68
74 void refCons_(ConstProblemPtr oldp);
75
81 void refObj_(ConstProblemPtr oldp);
82
83 void refQuadCons_(QuadraticFunctionPtr qf, LinearFunctionPtr lf,
85 };
87 typedef const QuadTransformer* ConstQuadTranPtr;
88
89}
90
91#endif
92
93
94
Declare base class for transforming problems.
Declare important 'types' used in Minotaur.
Definition: Environment.h:28
The base class linear function is of the form c'x.
Definition: LinearFunction.h:31
Definition: Problem.h:74
Class for reformulating a problem using simple rules so that handlers can be applied to it.
Definition: QuadTransformer.h:38
SolutionPtr getSolOrig(ConstSolutionPtr sol, int &err)
Translate the solution of reformulated problem into that of original problem.
Definition: QuadTransformer.cpp:79
QuadTransformer()
Default Constructor.
Definition: QuadTransformer.cpp:48
~QuadTransformer()
Destroy.
Definition: QuadTransformer.cpp:66
void reformulate(ProblemPtr &newp, HandlerVector &handlers, int &status)
Perform the reformulation, and assign handlers.
Definition: QuadTransformer.cpp:284
SolutionPtr getSolTrans(ConstSolutionPtr sol, int &err)
Translate the solution of originial problem into that of reformulated problem.
Definition: QuadTransformer.cpp:86
std::string getName() const
Get the name of this Transformer.
Definition: QuadTransformer.cpp:73
Definition: QuadraticFunction.h:38
Definition: Solution.h:30
Abstract base class for reformulating a problem so that handlers can be applied to it.
Definition: Transformer.h:53
‍Iterator for LinBivar
Definition: UnivarQuadHandler.h:71
Definition: YEqBivar.h:20
Definition: YEqQfBil.h:21
Definition: YEqUnivar.h:20
Definition: ActiveNodeStore.h:20
UnivarQuadHandler * UnivarQuadHandlerPtr
Shared pointer to UnivarQuadHandler.
Definition: QuadTransformer.h:29

Minotaur source code documented by Doxygen 1.9.4 on Thu Apr 24 2025