Couenne::Domain Class Reference

Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO structure. More...

#include <CouenneDomain.hpp>

Collaboration diagram for Couenne::Domain:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Domain ()
 basic constructor
 Domain (const Domain &src)
 copy constructor
 ~Domain ()
 destructor
void push (int dim, CouNumber *x, CouNumber *lb, CouNumber *ub, bool copy=true)
 save current point and start using another
void push (int dim, const CouNumber *x, const CouNumber *lb, const CouNumber *ub, bool copy=true)
 save current point and start using another
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 previous column cuts
void push (const DomainPoint &dp, bool copy=true)
 save current point and start using another
void pop ()
 restore previous point
DomainPointcurrent ()
 return current point
CouNumberx (register int index)
 current variable
CouNumberlb (register int index)
 current lower bound
CouNumberub (register int index)
 current upper bound
CouNumberx ()
 return current variable vector
CouNumberlb ()
 return current lower bound vector
CouNumberub ()
 return current upper bound vector

Protected Attributes

DomainPointpoint_
 current point
std::stack< DomainPoint * > domStack_
 stack of saved points

Detailed Description

Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO structure.

Definition at line 104 of file CouenneDomain.hpp.


Constructor & Destructor Documentation

Couenne::Domain::Domain (  )  [inline]

basic constructor

Definition at line 114 of file CouenneDomain.hpp.

Couenne::Domain::Domain ( const Domain src  )  [inline]

copy constructor

Definition at line 117 of file CouenneDomain.hpp.

References point_.

Domain::~Domain (  ) 

destructor

Definition at line 153 of file domain.cpp.

References domStack_, and point_.


Member Function Documentation

void Domain::push ( int  dim,
CouNumber x,
CouNumber lb,
CouNumber ub,
bool  copy = true 
)

save current point and start using another

Definition at line 166 of file domain.cpp.

References domStack_, lb(), point_, ub(), and x().

Referenced by CouenneSolver::buildSolverInstance(), Couenne::CouenneProblem::checkNLP(), Couenne::CouenneProblem::checkNLP2(), Couenne::CouenneProblem::getAuxs(), Couenne::CouenneProblem::getIntegerCandidate(), Couenne::CouenneAggrProbing::probeVariable(), Couenne::CouenneProblem::reformulate(), and Couenne::CouenneProblem::restoreUnusedOriginals().

void Domain::push ( int  dim,
const CouNumber x,
const CouNumber lb,
const CouNumber ub,
bool  copy = true 
)

save current point and start using another

Definition at line 180 of file domain.cpp.

References domStack_, and point_.

void Domain::push ( const OsiSolverInterface *  si,
OsiCuts *  cs = NULL,
bool  copy = true 
)

save current point and start using another -- retrieve information from solver interface and from previous column cuts

Definition at line 195 of file domain.cpp.

References domStack_, lb(), point_, and ub().

void Domain::push ( const DomainPoint dp,
bool  copy = true 
)

save current point and start using another

Definition at line 246 of file domain.cpp.

References domStack_, and point_.

void Domain::pop (  ) 

restore previous point

Definition at line 255 of file domain.cpp.

References domStack_, and point_.

Referenced by Couenne::CouenneProblem::checkNLP(), Couenne::CouenneProblem::checkNLP2(), Couenne::CouenneProblem::getAuxs(), Couenne::CouenneProblem::getIntegerCandidate(), and Couenne::CouenneAggrProbing::probeVariable().

DomainPoint* Couenne::Domain::current (  )  [inline]

return current point

Definition at line 154 of file CouenneDomain.hpp.

References point_.

Referenced by Couenne::CouenneProblem::checkNLP(), Couenne::CouenneProblem::checkNLP2(), Couenne::CouenneProblem::initAuxs(), Couenne::CouenneProblem::reformulate(), and Couenne::CouenneProblem::standardize().

CouNumber& Couenne::Domain::x ( register int  index  )  [inline]

current variable

Definition at line 156 of file CouenneDomain.hpp.

References point_, and x().

Referenced by Couenne::CouenneProblem::checkBounds(), Couenne::CouenneProblem::checkNLP(), Couenne::CouenneProblem::checkNLP2(), Couenne::CouenneProblem::standardize(), and Couenne::CouenneProblem::X().

CouNumber& Couenne::Domain::lb ( register int  index  )  [inline]

current lower bound

Definition at line 157 of file CouenneDomain.hpp.

References lb(), and point_.

Referenced by Couenne::CouenneProblem::checkBounds(), Couenne::CouenneProblem::checkInt(), Couenne::CouenneProblem::checkNLP(), Couenne::CouenneProblem::checkNLP2(), Couenne::CouenneProblem::getAuxs(), Couenne::CouenneProblem::impliedBounds(), Couenne::CouenneProblem::Lb(), Couenne::CouenneProblem::print(), Couenne::CouenneProblem::reformulate(), and Couenne::CouenneProblem::standardize().

CouNumber& Couenne::Domain::ub ( register int  index  )  [inline]

current upper bound

Definition at line 158 of file CouenneDomain.hpp.

References point_, and ub().

Referenced by Couenne::CouenneProblem::checkBounds(), Couenne::CouenneProblem::checkInt(), Couenne::CouenneProblem::checkNLP(), Couenne::CouenneProblem::checkNLP2(), Couenne::CouenneProblem::getAuxs(), Couenne::CouenneProblem::impliedBounds(), Couenne::CouenneProblem::print(), Couenne::CouenneProblem::standardize(), and Couenne::CouenneProblem::Ub().

CouNumber* Couenne::Domain::x (  )  [inline]

return current variable vector

Definition at line 160 of file CouenneDomain.hpp.

References point_.

Referenced by push(), and x().

CouNumber* Couenne::Domain::lb (  )  [inline]

return current lower bound vector

Definition at line 161 of file CouenneDomain.hpp.

References point_.

Referenced by lb(), and push().

CouNumber* Couenne::Domain::ub (  )  [inline]

return current upper bound vector

Definition at line 162 of file CouenneDomain.hpp.

References point_.

Referenced by push(), and ub().


Member Data Documentation

DomainPoint* Couenne::Domain::point_ [protected]

current point

Definition at line 108 of file CouenneDomain.hpp.

Referenced by current(), Domain(), lb(), pop(), push(), ub(), x(), and ~Domain().

std::stack<DomainPoint *> Couenne::Domain::domStack_ [protected]

stack of saved points

Definition at line 109 of file CouenneDomain.hpp.

Referenced by pop(), push(), and ~Domain().


The documentation for this class was generated from the following files:
Generated on Wed Nov 30 03:13:14 2011 by  doxygen 1.4.7