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 | |
Clone | |
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 | |
The data members are protected to allow access for derived classes. | |
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 23 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 44 of file ClpPdcoBase.hpp.
void ClpPdcoBase::setType | ( | int | type | ) | [inline] |
Sets type.
Definition at line 48 of file ClpPdcoBase.hpp.
int ClpPdcoBase::sizeD1 | ( | ) | const [inline] |
Returns size of d1.
Definition at line 52 of file ClpPdcoBase.hpp.
double ClpPdcoBase::getD1 | ( | ) | const [inline] |
Returns d1 as scalar.
Definition at line 56 of file ClpPdcoBase.hpp.
int ClpPdcoBase::sizeD2 | ( | ) | const [inline] |
Returns size of d2.
Definition at line 60 of file ClpPdcoBase.hpp.
double ClpPdcoBase::getD2 | ( | ) | const [inline] |
Returns d2 as scalar.
Definition at line 64 of file ClpPdcoBase.hpp.
ClpPdcoBase& ClpPdcoBase::operator= | ( | const ClpPdcoBase & | ) | [protected] |
Destructor (has to be public)
double ClpPdcoBase::d1_ [protected] |
Should be dense vectors.
Definition at line 94 of file ClpPdcoBase.hpp.
double ClpPdcoBase::d2_ [protected] |
Should be dense vectors.
Definition at line 95 of file ClpPdcoBase.hpp.
int ClpPdcoBase::type_ [protected] |
type (may be useful)
Definition at line 97 of file ClpPdcoBase.hpp.