PPL  1.2
Parma_Polyhedra_Library::PIP_Decision_Node Class Reference

A tree node representing a decision in the space of solutions. More...

#include <ppl.hh>

Inheritance diagram for Parma_Polyhedra_Library::PIP_Decision_Node:

Public Member Functions

virtual PIP_Tree_Nodeclone () const
 Returns a pointer to a dynamically-allocated copy of *this.
 
virtual ~PIP_Decision_Node ()
 Destructor.
 
virtual bool OK () const
 Returns true if and only if *this is well formed.
 
virtual const PIP_Decision_Nodeas_decision () const
 Returns this.
 
virtual const PIP_Solution_Nodeas_solution () const
 Returns 0, since this is not a solution node.
 
const PIP_Tree_Nodechild_node (bool b) const
 Returns a const pointer to the b (true or false) branch of *this.
 
PIP_Tree_Nodechild_node (bool b)
 Returns a pointer to the b (true or false) branch of *this.
 
void ascii_dump (std::ostream &s) const
 Dumps to s an ASCII representation of *this.
 
bool ascii_load (std::istream &s)
 Loads from s an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets *this accordingly. Returns true if successful, false otherwise.
 
virtual memory_size_type total_memory_in_bytes () const
 Returns the total size in bytes of the memory occupied by *this.
 
virtual memory_size_type external_memory_in_bytes () const
 Returns the size in bytes of the memory managed by *this.
 
- Public Member Functions inherited from Parma_Polyhedra_Library::PIP_Tree_Node
virtual ~PIP_Tree_Node ()
 Destructor.
 
const Constraint_Systemconstraints () const
 Returns the system of parameter constraints controlling *this. More...
 
Artificial_Parameter_Sequence::const_iterator art_parameter_begin () const
 Returns a const_iterator to the beginning of local artificial parameters.
 
Artificial_Parameter_Sequence::const_iterator art_parameter_end () const
 Returns a const_iterator to the end of local artificial parameters.
 
dimension_type art_parameter_count () const
 Returns the number of local artificial parameters.
 
void print (std::ostream &s, int indent=0) const
 Prints on s the tree rooted in *this. More...
 
void ascii_dump (std::ostream &s) const
 Dumps to s an ASCII representation of *this.
 
bool ascii_load (std::istream &s)
 Loads from s an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets *this accordingly. Returns true if successful, false otherwise.
 

Protected Member Functions

 PIP_Decision_Node (const PIP_Decision_Node &y)
 Copy constructor.
 
virtual void update_tableau (const PIP_Problem &pip, dimension_type external_space_dim, dimension_type first_pending_constraint, const Constraint_Sequence &input_cs, const Variables_Set &parameters)
 Implements pure virtual method PIP_Tree_Node::update_tableau.
 
virtual PIP_Tree_Nodesolve (const PIP_Problem &pip, bool check_feasible_context, const Matrix< Row > &context, const Variables_Set &params, dimension_type space_dim, int indent_level)
 Implements pure virtual method PIP_Tree_Node::solve.
 
virtual void print_tree (std::ostream &s, int indent, const std::vector< bool > &pip_dim_is_param, dimension_type first_art_dim) const
 Prints on s the tree rooted in *this.
 
- Protected Member Functions inherited from Parma_Polyhedra_Library::PIP_Tree_Node
 PIP_Tree_Node (const PIP_Problem *owner)
 Constructor: builds a node owned by *owner.
 
 PIP_Tree_Node (const PIP_Tree_Node &y)
 Copy constructor.
 
const PIP_Problemget_owner () const
 Returns a pointer to the PIP_Problem owning object.
 
const PIP_Decision_Nodeparent () const
 Returns a pointer to this node's parent.
 
void set_parent (const PIP_Decision_Node *p)
 Set this node's parent to *p.
 
void add_constraint (const Row &row, const Variables_Set &parameters)
 Inserts a new parametric constraint in internal row format.
 
void parent_merge ()
 Merges parent's artificial parameters into *this.
 

Additional Inherited Members

- Public Types inherited from Parma_Polyhedra_Library::PIP_Tree_Node
typedef std::vector< Artificial_ParameterArtificial_Parameter_Sequence
 A type alias for a sequence of Artificial_Parameter's.
 
- Protected Types inherited from Parma_Polyhedra_Library::PIP_Tree_Node
typedef std::vector< ConstraintConstraint_Sequence
 A type alias for a sequence of constraints.
 
- Static Protected Member Functions inherited from Parma_Polyhedra_Library::PIP_Tree_Node
static void indent_and_print (std::ostream &s, int indent, const char *str)
 A helper function used when printing PIP trees.
 
static bool compatibility_check (Matrix< Row > &s)
 Checks whether a context matrix is satisfiable. More...
 
static bool compatibility_check (const Matrix< Row > &context, const Row &row)
 Helper method: checks for satisfiability of the restricted context obtained by adding row to context.
 
- Protected Attributes inherited from Parma_Polyhedra_Library::PIP_Tree_Node
const PIP_Problemowner_
 A pointer to the PIP_Problem object owning this node.
 
const PIP_Decision_Nodeparent_
 A pointer to the parent of *this, null if *this is the root.
 
Constraint_System constraints_
 The local system of parameter constraints.
 
Artificial_Parameter_Sequence artificial_parameters
 The local sequence of expressions for local artificial parameters.
 

Detailed Description

A tree node representing a decision in the space of solutions.


The documentation for this class was generated from the following file: