Abstract base class for tailoring everything for Pcdo. More...
#include <ClpPdcoBase.hpp>
Public Member Functions | |
Virtual methods that the derived classes must provide | |
virtual void | matVecMult (ClpInterior *model, int mode, double *x, double *y) const =0 |
virtual void | getGrad (ClpInterior *model, CoinDenseVector< double > &x, CoinDenseVector< double > &grad) const =0 |
virtual void | getHessian (ClpInterior *model, CoinDenseVector< double > &x, CoinDenseVector< double > &H) const =0 |
virtual double | getObj (ClpInterior *model, CoinDenseVector< double > &x) const =0 |
virtual void | matPrecon (ClpInterior *model, double delta, double *x, double *y) const =0 |
Other | |
virtual ClpPdcoBase * | clone () const =0 |
Returns type. | |
int | type () const |
Returns type. | |
void | setType (int type) |
Sets type. | |
int | sizeD1 () const |
Returns size of d1. | |
double | getD1 () const |
Returns d1 as scalar. | |
int | sizeD2 () const |
Returns size of d2. | |
double | getD2 () const |
Returns d2 as scalar. | |
Protected Attributes | |
Data members | |
double | d1_ |
Should be dense vectors. | |
double | d2_ |
Should be dense vectors. | |
int | type_ |
type (may be useful) | |
Constructors, destructor<br> | |
NOTE: All constructors are protected. There's no need to expose them, after all, this is an abstract class. | |
virtual | ~ClpPdcoBase () |
Destructor (has to be public). | |
ClpPdcoBase () | |
Default constructor. | |
ClpPdcoBase (const ClpPdcoBase &) | |
Destructor (has to be public). | |
ClpPdcoBase & | operator= (const ClpPdcoBase &) |
Destructor (has to be public). |
Abstract base class for tailoring everything for Pcdo.
Since this class is abstract, no object of this type can be created.
If a derived class provides all methods then all ClpPcdo algorithms should work.
Eventually we should be able to use ClpObjective and ClpMatrixBase.
Definition at line 22 of file ClpPdcoBase.hpp.
ClpPdcoBase::ClpPdcoBase | ( | ) | [protected] |
Default constructor.
virtual ClpPdcoBase::~ClpPdcoBase | ( | ) | [virtual] |
Destructor (has to be public).
ClpPdcoBase::ClpPdcoBase | ( | const ClpPdcoBase & | ) | [protected] |
Destructor (has to be public).
virtual void ClpPdcoBase::matVecMult | ( | ClpInterior * | model, | |
int | mode, | |||
double * | x, | |||
double * | y | |||
) | const [pure virtual] |
Implemented in myPdco.
virtual void ClpPdcoBase::getGrad | ( | ClpInterior * | model, | |
CoinDenseVector< double > & | x, | |||
CoinDenseVector< double > & | grad | |||
) | const [pure virtual] |
Implemented in myPdco.
virtual void ClpPdcoBase::getHessian | ( | ClpInterior * | model, | |
CoinDenseVector< double > & | x, | |||
CoinDenseVector< double > & | H | |||
) | const [pure virtual] |
Implemented in myPdco.
virtual double ClpPdcoBase::getObj | ( | ClpInterior * | model, | |
CoinDenseVector< double > & | x | |||
) | const [pure virtual] |
Implemented in myPdco.
virtual void ClpPdcoBase::matPrecon | ( | ClpInterior * | model, | |
double | delta, | |||
double * | x, | |||
double * | y | |||
) | const [pure virtual] |
Implemented in myPdco.
virtual ClpPdcoBase* ClpPdcoBase::clone | ( | ) | const [pure virtual] |
Returns type.
Implemented in myPdco.
int ClpPdcoBase::type | ( | ) | const [inline] |
Returns type.
Definition at line 43 of file ClpPdcoBase.hpp.
void ClpPdcoBase::setType | ( | int | type | ) | [inline] |
Sets type.
Definition at line 46 of file ClpPdcoBase.hpp.
int ClpPdcoBase::sizeD1 | ( | ) | const [inline] |
Returns size of d1.
Definition at line 48 of file ClpPdcoBase.hpp.
double ClpPdcoBase::getD1 | ( | ) | const [inline] |
Returns d1 as scalar.
Definition at line 51 of file ClpPdcoBase.hpp.
int ClpPdcoBase::sizeD2 | ( | ) | const [inline] |
Returns size of d2.
Definition at line 54 of file ClpPdcoBase.hpp.
double ClpPdcoBase::getD2 | ( | ) | const [inline] |
Returns d2 as scalar.
Definition at line 57 of file ClpPdcoBase.hpp.
ClpPdcoBase& ClpPdcoBase::operator= | ( | const ClpPdcoBase & | ) | [protected] |
Destructor (has to be public).
Reimplemented in myPdco.
double ClpPdcoBase::d1_ [protected] |
Should be dense vectors.
Definition at line 86 of file ClpPdcoBase.hpp.
double ClpPdcoBase::d2_ [protected] |
Should be dense vectors.
Definition at line 87 of file ClpPdcoBase.hpp.
int ClpPdcoBase::type_ [protected] |
type (may be useful)
Definition at line 89 of file ClpPdcoBase.hpp.