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;
This solves LPs using interior point methods.
Abstract base class for tailoring everything for Pcdo.
void setType(int type)
Sets type.
int type() const
Returns type.
ClpPdcoBase()
Default constructor.
ClpPdcoBase(const ClpPdcoBase &)
virtual void getHessian(ClpInterior *model, CoinDenseVector< double > &x, CoinDenseVector< double > &H) const =0
virtual ~ClpPdcoBase()
Destructor (has to be public)
double d1_
Should be dense vectors.
virtual ClpPdcoBase * clone() const =0
int type_
type (may be useful)
ClpPdcoBase & operator=(const ClpPdcoBase &)
int sizeD1() const
Returns size of d1.
virtual void getGrad(ClpInterior *model, CoinDenseVector< double > &x, CoinDenseVector< double > &grad) const =0
double getD1() const
Returns d1 as scalar.
virtual void matVecMult(ClpInterior *model, int mode, double *x, double *y) const =0
int sizeD2() const
Returns size of d2.
virtual double getObj(ClpInterior *model, CoinDenseVector< double > &x) const =0
double getD2() const
Returns d2 as scalar.
virtual void matPrecon(ClpInterior *model, double delta, double *x, double *y) const =0