Go to the documentation of this file.
11 #ifndef COUENNE_DOMAIN_HPP
12 #define COUENNE_DOMAIN_HPP
CouNumber * ub()
return current upper bound vector
CouNumber * x()
return current variable vector
CouNumber * x_
current value of variables
CouNumber & ub(register int index)
return current upper bound
CouNumber * lb()
return current lower bound vector
DomainPoint * current()
return current point
CouNumber & ub(register int index)
current upper bound
void push(const DomainPoint &dp, bool copy=true)
save current point and start using another
int Dimension()
return dimension_
CouNumber * lb()
return current lower bound vector
void push(const OsiSolverInterface *si, OsiCuts *cs=NULL, bool copy=true)
save current point and start using another – retrieve information from solver interface and from prev...
Domain()
basic constructor
DomainPoint & operator=(const DomainPoint &src)
assignment operator
general include file for different compilers
void push(int dim, const CouNumber *x, const CouNumber *lb, const CouNumber *ub, bool copy=true)
save current point and start using another
void resize(int newdim)
resize domain point (for extending into higher space)
void pop()
restore previous point
std::stack< DomainPoint * > domStack_
stack of saved points
Domain(const Domain &src)
copy constructor
double CouNumber
main number type in Couenne
CouNumber & lb(register int index)
current lower bound
bool isNlp_
true if this point comes from an NLP solver (and is thus nlp feasible)
int dimension_
dimension of point
bool & isNlp()
true if this point is the nlp solution
DomainPoint(int dim=0, const CouNumber *x=NULL, const CouNumber *lb=NULL, const CouNumber *ub=NULL, bool copy=true)
constructor
DomainPoint(const DomainPoint &src)
copy constructor
CouNumber * ub_
upper bound
CouNumber & lb(register int index)
return current lower bound
CouNumber * lb_
lower bound
CouNumber & x(register int index)
return current variable
CouNumber * ub()
return current upper bound vector
int size() const
return current size
DomainPoint(int dim, CouNumber *x, CouNumber *lb, CouNumber *ub, bool copy=true)
constructor
CouNumber & x(register int index)
current variable
DomainPoint * point_
current point
void push(int dim, CouNumber *x, CouNumber *lb, CouNumber *ub, bool copy=true)
save current point and start using another
CouNumber * x()
return current variable vector
bool copied_
true if data has been copied (so we own it, and have to delete it upon destruction)
Define a point in the solution space and the bounds around it.
Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO s...