Go to the documentation of this file.
11 #ifndef COUENNESOLVERINTERFACE_HPP
12 #define COUENNESOLVERINTERFACE_HPP
18 class CouenneCutGenerator;
27 template <
class T>
class CouenneSolverInterface:
public T {
140 #include "CouenneSolverInterface.cpp"
141 #include "CouenneLPtightenBounds.cpp"
142 #include "CouenneLPtightenBoundsCLP-light.cpp"
143 #include "CouenneLPtightenBoundsCLP.cpp"
virtual OsiSolverInterface * clone(bool copyData=true) const
Clone.
bool isProvenDualInfeasible() const
set doingResolve_
void setCutGenPtr(CouenneCutGenerator *cg)
Set cut generator pointer after setup, to avoid changes in the pointer due to cut generator cloning (...
virtual int tightenBounds(int lightweight)
Tighten bounds on all variables (including continuous).
CouenneSolverInterface(const CouenneSolverInterface &src)
Copy constructor.
virtual bool isProvenPrimalInfeasible() const
we need to overwrite this since we might have internal knowledge
Cut Generator for linear convexifications.
bool knowInfeasible_
Flag indicating that infeasibility was detected during solveFromHotStart.
virtual void resolve_nobt()
Resolve an LP without applying bound tightening beforehand.
virtual int tightenBoundsCLP_Light(int lightweight)
Copy of the Clp version — light version.
general include file for different compilers
virtual void solveFromHotStart()
Optimize starting from the hot start snapshot.
virtual double getObjValue() const
Get the objective function value.
virtual int tightenBoundsCLP(int lightweight)
Copy of the Clp version — not light version.
virtual void unmarkHotStart()
Delete the hot start snapshot.
CouenneCutGenerator * cutgen_
The pointer to the Couenne cut generator.
CouenneSolverInterface(CouenneCutGenerator *cg=NULL)
Constructor.
virtual void markHotStart()
Create a hot start snapshot of the optimization process.
CouenneCutGenerator * CutGen()
Return cut generator pointer.
bool knowOptimal_
Flag indicating that optimality was detected during solveFromHotStart.
virtual void initialSolve()
Solve initial LP relaxation.
virtual void resolve()
Resolve an LP relaxation after problem modification.
bool knowDualInfeasible_
Flag indicating this problem's continuous relaxation is unbounded.
Solver interface class with a pointer to a Couenne cut generator.
virtual bool isProvenOptimal() const
we need to overwrite this since we might have internal knowledge
~CouenneSolverInterface()
Destructor.