Go to the documentation of this file.
9 #include "CoinPragma.hpp"
11 #include "CoinPackedMatrix.hpp"
12 #include "CoinDenseVector.hpp"
32 virtual void getGrad(
ClpInterior *model, CoinDenseVector< double > &x, CoinDenseVector< double > &grad)
const = 0;
34 virtual void getHessian(
ClpInterior *model, CoinDenseVector< double > &x, CoinDenseVector< double > &H)
const = 0;
36 virtual double getObj(
ClpInterior *model, CoinDenseVector< double > &x)
const = 0;
ClpPdcoBase()
Default constructor.
virtual void getHessian(ClpInterior *model, CoinDenseVector< double > &x, CoinDenseVector< double > &H) const =0
virtual void getGrad(ClpInterior *model, CoinDenseVector< double > &x, CoinDenseVector< double > &grad) const =0
int sizeD2() const
Returns size of d2.
virtual ClpPdcoBase * clone() const =0
double getD2() const
Returns d2 as scalar.
void setType(int type)
Sets type.
double d1_
Should be dense vectors.
virtual ~ClpPdcoBase()
Destructor (has to be public)
int type() const
Returns type.
virtual void matVecMult(ClpInterior *model, int mode, double *x, double *y) const =0
int sizeD1() const
Returns size of d1.
int type_
type (may be useful)
virtual double getObj(ClpInterior *model, CoinDenseVector< double > &x) const =0
Abstract base class for tailoring everything for Pcdo.
This solves LPs using interior point methods.
ClpPdcoBase & operator=(const ClpPdcoBase &)
virtual void matPrecon(ClpInterior *model, double delta, double *x, double *y) const =0
double getD1() const
Returns d1 as scalar.