13 #include "CoinPackedMatrix.hpp"
14 #include "OsiRowCut.hpp"
15 #include "OsiCuts.hpp"
40 virtual OsiRowCut *
clone()
const;
49 CoinPackedMatrix&
Q(){
54 const CoinPackedMatrix&
Q()
const{
67 double &
c(){
return c_;}
70 const double &
c()
const {
return c_;}
73 double violated(
const double * solution)
const;
172 for(
unsigned int i = 0 ; i < cs.
quadCuts_.size() ; i++){
179 return static_cast<int>(
quadCuts_.size());
184 return static_cast<int>(
quadCuts_.size()) + OsiCuts::sizeCuts();
Stores the whole matrix of a non-symetric Q.
QuadCut & quadCut(int i)
Access to a quadratic cut by reference.
virtual OsiRowCut * clone() const
Virtual copy.
void operator/=(double value)
divide every vector entry by value
Cuts & operator=(const Cuts &rhs)
Assignment operator.
Generalizes OsiCuts to handle quadratic cuts.
CoinPackedMatrix & Q()
Return the matrix stored.
Cuts()
Default constructor.
void operator-=(double value)
subtract value from every vector entry
void print() const
Print.
const MatrixStorageType & type() const
int sizeCuts() const
Total number of cuts in the collection.
QuadCut & operator=(const QuadCut &rhs)
Assignment operator.
Stores only the upper triangle of a symetric Q.
std::list< QuadCut * > list_QuadCut
QuadCut * quadCutPtr(int i)
Access to a quadratic cut by pointer.
QuadCutPtrStorage quadCuts_
QuadCut()
Default constructor.
vector< QuadCut * > QuadCutPtrStorage
double & c()
Acces the constant.
void printCuts() const
Print all cuts in the collection.
int sizeQuadCuts() const
Number of quadratic cuts in the collection.
const CoinPackedMatrix & Q() const
Return the matrix stored.
Stores the lower triangle of a symetric Q.
double violated(const double *solution) const
Compute cut violation.
double c_
Stores the constant part of the cut.
const double & c() const
Acces the constant.
MatrixStorageType type_
Storage type.
void insert(const QuadCut &c)
insert a quadratic cut into the collection.
MatrixStorageType & type()
Acces storage type Acces storage type.
void operator*=(double value)
multiply every vector entry by value
void eraseQuadCut(int i)
Erase quadratic cut from the collection.
CoinPackedMatrix Q_
Stores quadratic part of cut.
void operator+=(double value)
add value to every vector entry