23 #ifndef BcpsNodeDesc_h_
24 #define BcpsNodeDesc_h_
265 const double *varLBv,
268 const double *varUBv);
281 const double *conLBv,
284 const double *conUBv);
289 const double *varLBv,
292 const double *varUBv);
297 const double *conLBv,
300 const double *conUBv);
312 for (k = 0; k < numAdd; ++k) {
For a given type, the objectVecStorage_ structure holds the description.
BcpsObject ** objects
The objects to be added.
void setConHardBound(int numModHardConLB, const int *conLBi, const double *conLBv, int numModHardConUB, const int *conUBi, const double *conUBv)
Set constraint hard bounds.
BcpsObjectListMod * cons()
Accesss constraints.
BcpsFieldListMod< double > lbHard
These are the data structures that store the changes in the individual fields.
A class for describing the objects that comprise a BCPS subproblem.
bool relative
How the modification is stored, explicit means complete replacement, relative means relative to some ...
void assignCons(int numRem, int *&posRem, int numAdd, BcpsObject **&objects, bool relclh, int numclh, int *&clhp, double *&clhe, bool relcuh, int numcuh, int *&cuhp, double *&cuhe, bool relcls, int numcls, int *&clsp, double *&clse, bool relcus, int numcus, int *&cusp, double *&cuse)
Assign constraint objects.
AlpsReturnStatus decodeDblFieldMods(AlpsEncoded &encoded, BcpsFieldListMod< double > *field)
Unpack a double field from an encoded object.
void initToNull()
Initialize member data.
AlpsReturnStatus decodeObjectMods(AlpsEncoded &encoded, BcpsObjectListMod *objMod)
Unpack object modifications to an encoded object.
void setVarSoftBound(int numModSoftVarLB, const int *varLBi, const double *varLBv, int numModSoftVarUB, const int *varUBi, const double *varUBv)
Set variable soft bounds.
BcpsObjectListMod * vars_
Variable objects.
This data structure is to contain the packed form of an encodable knowledge.
BcpsObjectListMod * vars()
Accesss varaibles.
BcpsObjectListMod * getCons() const
Get constraint objects.
void setCons(int numRem, const int *posRem, int numAdd, const BcpsObject **objects, bool relclh, int numclh, const int *clhp, const double *clhe, bool relcuh, int numcuh, const int *cuhp, const double *cuhe, bool relcls, int numcls, const int *clsp, const double *clse, bool relcus, int numcus, const int *cusp, const double *cuse)
Set constraint objects.
void assignVarHardBound(int numModHardVarLB, int *&varLBi, double *&varLBv, int numModHardVarUB, int *&varUBi, double *&varUBv)
Set variable hard bounds.
int numModify
The number of entries to be modified.
BcpsFieldListMod< double > ubHard
These are the data structures that store the changes in the individual fields.
void delConstraints(int numDel, int *indices)
Record the constraints are deleted.
AlpsReturnStatus decodeIntFieldMods(AlpsEncoded &encoded, BcpsFieldListMod< int > *field)
Unpack a integer field from an encoded object.
void setVarHardBound(int numModHardVarLB, const int *varLBi, const double *varLBv, int numModHardVarUB, const int *varUBi, const double *varUBv)
Set variable hard bounds.
BcpsFieldListMod< double > ubSoft
These are the data structures that store the changes in the individual fields.
Here is the set of vectorMod_ objects that represent the list of objects of a particular type (either...
void setVars(int numRem, const int *posRem, int numAdd, const BcpsObject **objects, bool relvlh, int numvlh, const int *vlhp, const double *vlhe, bool relvuh, int numvuh, const int *vuhp, const double *vuhe, bool relvls, int numvls, const int *vlsp, const double *vlse, bool relvus, int numvus, const int *vusp, const double *vuse)
Set variable objects.
void addVariables(int numAdd, BcpsObject **addVars)
Record added variables.
BcpsFieldListMod< int > status
These are the data structures that store the changes in the individual fields.
AlpsReturnStatus encodeDblFieldMods(AlpsEncoded *encoded, BcpsFieldListMod< double > *field) const
Pack a double field into an encoded object.
void setConSoftBound(int numModSoftConLB, const int *conLBi, const double *conLBv, int numModSoftConUB, const int *conUBi, const double *conUBv)
Set constraint soft bounds.
AlpsReturnStatus decodeBcps(AlpsEncoded &encoded)
Unpack bcps node description into an encoded.
void appendAddedConstraints(int numAdd, BcpsObject **addCons)
Recode the added constraints.
AlpsReturnStatus encodeIntFieldMods(AlpsEncoded *encoded, BcpsFieldListMod< int > *field) const
Pack a integer field into an encoded object.
BcpsObjectListMod * getVars() const
Get variable objects.
void assignVars(int numRem, int *&posRem, int numAdd, BcpsObject **&objects, bool relvlh, int numvlh, int *&vlhp, double *&vlhe, bool relvuh, int numvuh, int *&vuhp, double *&vuhe, bool relvls, int numvls, int *&vlsp, double *&vlse, bool relvus, int numvus, int *&vusp, double *&vuse)
Assign variable objects.
This class contains modifications for a single std::vector<T> object.
virtual ~BcpsNodeDesc()
Destructor.
BcpsNodeDesc(BcpsModel *m)
Useful constructor.
void assignVarSoftBound(int numModSoftVarLB, int *&varLBi, double *&varLBv, int numModSoftVarUB, int *&varUBi, double *&varUBv)
Set variable soft bounds.
AlpsReturnStatus encodeObjectMods(AlpsEncoded *encoded, BcpsObjectListMod *objMod) const
Pack object modifications to an encoded object.
int * posRemove
The positions of the entries to be deleted.
BcpsObjectListMod * cons_
Constraint objects.
int numRemove
The number of entries to be deleted.
BcpsNodeDesc()
Default constructor.
A class to refer to the description of a search tree node.
AlpsReturnStatus encodeBcps(AlpsEncoded *encoded) const
Pack bcps node description into an encoded.
BcpsFieldListMod< double > lbSoft
These are the data structures that store the changes in the individual fields.
int * posModify
The positions to be modified.
int numAdd
The number of objects that are to added.
void setAddedConstraints(int numAdd, BcpsObject **addCons)
Recode the added constraints.
void delVariables(int numDel, int *indices)
Record deleted variables.