Clp  1.17.8
List of all members
ClpPdcoBase Class Referenceabstract

Abstract base class for tailoring everything for Pcdo. More...

#include <ClpPdcoBase.hpp>

+ Inheritance diagram for ClpPdcoBase:

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 ClpPdcoBaseclone () const =0
 
int type () const
 Returns type. More...
 
void setType (int type)
 Sets type. More...
 
int sizeD1 () const
 Returns size of d1. More...
 
double getD1 () const
 Returns d1 as scalar. More...
 
int sizeD2 () const
 Returns size of d2. More...
 
double getD2 () const
 Returns d2 as scalar. More...
 

Protected Attributes

Data members

The data members are protected to allow access for derived classes.

double d1_
 Should be dense vectors. More...
 
double d2_
 
int type_
 type (may be useful) More...
 

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) More...
 
 ClpPdcoBase ()
 Default constructor. More...
 
 ClpPdcoBase (const ClpPdcoBase &)
 
ClpPdcoBaseoperator= (const ClpPdcoBase &)
 

Detailed Description

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 25 of file ClpPdcoBase.hpp.

Constructor & Destructor Documentation

◆ ClpPdcoBase() [1/2]

ClpPdcoBase::ClpPdcoBase ( )
protected

Default constructor.

◆ ~ClpPdcoBase()

virtual ClpPdcoBase::~ClpPdcoBase ( )
virtual

Destructor (has to be public)

◆ ClpPdcoBase() [2/2]

ClpPdcoBase::ClpPdcoBase ( const ClpPdcoBase )
protected

Member Function Documentation

◆ matVecMult()

virtual void ClpPdcoBase::matVecMult ( ClpInterior model,
int  mode,
double *  x,
double *  y 
) const
pure virtual

Implemented in myPdco.

◆ getGrad()

virtual void ClpPdcoBase::getGrad ( ClpInterior model,
CoinDenseVector< double > &  x,
CoinDenseVector< double > &  grad 
) const
pure virtual

Implemented in myPdco.

◆ getHessian()

virtual void ClpPdcoBase::getHessian ( ClpInterior model,
CoinDenseVector< double > &  x,
CoinDenseVector< double > &  H 
) const
pure virtual

Implemented in myPdco.

◆ getObj()

virtual double ClpPdcoBase::getObj ( ClpInterior model,
CoinDenseVector< double > &  x 
) const
pure virtual

Implemented in myPdco.

◆ matPrecon()

virtual void ClpPdcoBase::matPrecon ( ClpInterior model,
double  delta,
double *  x,
double *  y 
) const
pure virtual

Implemented in myPdco.

◆ clone()

virtual ClpPdcoBase* ClpPdcoBase::clone ( ) const
pure virtual

Implemented in myPdco.

◆ type()

int ClpPdcoBase::type ( ) const
inline

Returns type.

Definition at line 46 of file ClpPdcoBase.hpp.

◆ setType()

void ClpPdcoBase::setType ( int  type)
inline

Sets type.

Definition at line 51 of file ClpPdcoBase.hpp.

◆ sizeD1()

int ClpPdcoBase::sizeD1 ( ) const
inline

Returns size of d1.

Definition at line 56 of file ClpPdcoBase.hpp.

◆ getD1()

double ClpPdcoBase::getD1 ( ) const
inline

Returns d1 as scalar.

Definition at line 61 of file ClpPdcoBase.hpp.

◆ sizeD2()

int ClpPdcoBase::sizeD2 ( ) const
inline

Returns size of d2.

Definition at line 66 of file ClpPdcoBase.hpp.

◆ getD2()

double ClpPdcoBase::getD2 ( ) const
inline

Returns d2 as scalar.

Definition at line 71 of file ClpPdcoBase.hpp.

◆ operator=()

ClpPdcoBase& ClpPdcoBase::operator= ( const ClpPdcoBase )
protected

Member Data Documentation

◆ d1_

double ClpPdcoBase::d1_
protected

Should be dense vectors.

Definition at line 100 of file ClpPdcoBase.hpp.

◆ d2_

double ClpPdcoBase::d2_
protected

Definition at line 101 of file ClpPdcoBase.hpp.

◆ type_

int ClpPdcoBase::type_
protected

type (may be useful)

Definition at line 103 of file ClpPdcoBase.hpp.


The documentation for this class was generated from the following file: