24 #ifndef BlisConstraint_h_
25 #define BlisConstraint_h_
27 #include "BcpsObject.h"
56 int size,
const int *ind,
const double *val);
72 void setData(
int s,
const int *ind,
const double *val) {
76 indices_ =
new int [s];
77 values_ =
new double [s];
80 memcpy(indices_, ind,
sizeof(
int) * s);
81 memcpy(values_, val,
sizeof(
double) * s);
88 AlpsReturnStatus
encodeBlis(AlpsEncoded *encoded);
91 AlpsReturnStatus
decodeBlis(AlpsEncoded &encoded);
99 virtual void hashing(BcpsModel *model=NULL);
102 double violation(
const double *lpSolution);
104 using AlpsKnowledge::encode ;
106 virtual AlpsReturnStatus
encode(AlpsEncoded *encoded);
109 virtual AlpsKnowledge*
decode(AlpsEncoded& encoded)
const;
BlisConstraint()
Default constructor.
double * values_
Value of nonzero coefficients.
virtual AlpsReturnStatus encode(AlpsEncoded *encoded)
Pack into a encode object.
int getSize() const
Return data.
double * getValues() const
AlpsReturnStatus decodeBlis(AlpsEncoded &encoded)
Unpack Blis part from a encode object.
AlpsReturnStatus encodeBlis(AlpsEncoded *encoded)
Pack Blis part into an encoded object.
OsiRowCut * createOsiRowCut()
Create a OsiRowCut based on this constraint.
double violation(const double *lpSolution)
Check if violates a given lp solution.
void setData(int s, const int *ind, const double *val)
Set data.
virtual ~BlisConstraint()
Destructor.
virtual AlpsKnowledge * decode(AlpsEncoded &encoded) const
Decode a constraint from an encoded object.
int * indices_
Variable indices.
virtual void hashing(BcpsModel *model=NULL)
Compute a hash key.
int size_
Number of nonzero coefficients.