#include <search_node.h>
Classes | |
class | constraint_iterator_base |
The base class for work_node::constraint_iterator and work_node::constraint_const_iterator. More... | |
Public Types | |
typedef constraint_iterator_base < expression_walker, const std::vector< expression_walker > *, const std::vector < expression_walker > &, const expression_walker *, const expression_walker &, std::vector < expression_walker > ::const_iterator > | constraint_const_iterator |
typedef constraint_iterator_base < expression_walker, std::vector< expression_walker > *, std::vector < expression_walker > &, expression_walker *, expression_walker &, std::vector < expression_walker > ::iterator > | constraint_iterator |
typedef uint32_t | transaction_number |
Public Member Functions | |
transaction_number | get_transaction_number () |
void | init_cnumbers () |
void | reset_node_ranges () |
void | make_node_ranges (bool keep_old_ranges) |
void | make_node_order () |
double | compute_log_volume (const std::vector< interval > &_r) const |
void | set_globalinfo () |
work_node (const work_node &__w) | |
work_node (const full_node &__f, const std::list< delta_id > &__de, vdbl::viewdbase *vdbf=NULL) | |
work_node (const search_node_id &_i, const vdbl::userid &_dui, gptr< model > &__m, gptr< vdbl::database > &__d, const std::vector< annotation > &__an, const std::list< delta_id > &__de, gptr< search_node > *_gm, search_node_relation snr=snr_worknode, vdbl::viewdbase *vdbf=NULL) | |
virtual | ~work_node () |
const model * | get_model () const |
model * | get_model () |
work_node_context * | get_work_node_context () |
const work_node_context * | get_work_node_context () const |
vdbl::viewdbase & | get_viewdbase () |
const vdbl::viewdbase & | get_viewdbase () const |
vdbl::viewdbase & | get_fullviewdbase () |
const vdbl::viewdbase & | get_fullviewdbase () const |
delta | get_delta (const delta_id &_id) |
const delta & | get_delta (const delta_id &_id) const |
certificate | get_certificate (const delta_id &_id) |
const certificate & | get_certificate (const delta_id &_id) const |
double | log_volume () const |
double | gain () const |
const datamap & | global_info () const |
double | reset_gain () |
work_node & | operator= (const work_node &__w) |
work_node & | operator= (const full_node &__f) |
bool | is_delta () const |
unsigned int | n_annotations () const |
const annotation & | get_annotation (unsigned int i) const |
const std::vector< annotation > & | get_annotations () const |
const vdbl::database * | get_database () const |
model * | get_model_ptr () const |
vdbl::database * | get_database_ptr () const |
vdbl::userid | get_dbuserid () const |
gptr< search_node > * | global_model () const |
gptr< vdbl::database > * | database () const |
search_node_id | get_id () const |
void | set_id (const search_node_id &i) |
vdbl::rowid | get_rowid () const |
void | set_rowid (const vdbl::rowid &i) |
void | keep (const annotation &_an) |
void | keep (const std::vector< annotation > &_anv) |
void | unkeep (const annotation &_an) |
void | unkeep (const std::vector< annotation > &_anv) |
Methods for accessing model parts | |
The methods of this section are used to extract or access parts of the model with specific properties, e.g., extract the linear part of the model, access only the polynomial constraints,... In all these methods the type of the expressions is specified using type values from e_expression_type and their combination.
| |
model | get (unsigned int __type) |
Retrieve a subpart of a model. | |
constraint_const_iterator | get_begin (unsigned int __type) const |
Get an iterator to (read only) access constraints of a specified type. | |
constraint_const_iterator | get_end (unsigned int __type) const |
Get an iterator pointing past the constraints of a specified type. | |
constraint_iterator | get_begin (unsigned int __type) |
Get an iterator to access constraints of a specified type. | |
constraint_iterator | get_end (unsigned int __type) |
Get an iterator pointing past the constraints of a specified type. | |
unsigned int | n (unsigned int __type) const |
bool | global_info (basic_alltype &b, const std::string &i) const |
bool | global_info (basic_alltype &b, const char *i) const |
basic_alltype | global_info (const std::string &i) const |
basic_alltype | global_info (const char *i) const |
Public Attributes | |
std::list< delta_id > | deltas |
std::list< delta_id >::iterator | deltanew_it |
std::set< search_node_id > | parents_in_graph |
std::map< delta_id, undelta > | undeltas |
vdbl::standard_table * | dtable |
vdbl::tableid | dtable_id |
vdbl::standard_table * | gitable |
vdbl::tableid | gitable_id |
work_node_context * | wnc |
vdbl::viewdbase * | __vdb |
vdbl::viewdbase * | __vdbf |
std::map< transaction_number, std::list< std::vector< delta > > > | proposed_splits |
std::map< delta_id, transaction_number > | split_delta_ids |
std::vector< annotation > | _ann |
Additional data needed in the solution process | |
These members keep data which is needed in the solution process to aid the various inference engines. | |
std::vector< interval > | node_ranges |
std::vector< unsigned int > | node_order |
bool | infeasible |
double | log_vol |
double | gain_factor |
datamap | globalinfo |
Protected Member Functions | |
search_node_relation | parent_relation () const |
Protected Attributes | |
gptr< model > * | _m |
gptr< search_node > * | __global_model |
gptr< vdbl::database > * | __dbase |
vdbl::userid | _dbuser |
search_node_relation | _snr |
search_node_id | _id |
std::vector< annotation > | _keep |
vdbl::rowid | _rid |
Friends | |
class | delta |
class | undelta |
class | certificate |
class | wnc_hook_base |
work_node | operator+ (const work_node &_w, const delta_id &_d) |
Add one delta to a work node. | |
work_node | operator- (const work_node &_w, const delta_id &_d) |
Remove one delta from a work node. | |
work_node & | operator+= (work_node &_w, const delta_id &_d) |
Add one delta to a work node. | |
work_node & | operator-= (work_node &_w, const delta_id &_d) |
Remove one delta from a work node. | |
template<template< class _Tp, class _TA > class _Ctr, class _Al > | |
work_node | operator+ (const work_node &_w, const _Ctr< delta_id, _Al > &_d) |
Add a number of deltas to a work node. | |
template<template< class _Tp, class _TA > class _Ctr, class _Al > | |
work_node | operator- (const work_node &_w, const _Ctr< delta_id, _Al > &_d) |
Remove a number of deltas from a work node. | |
template<template< class _Tp, class _TA > class _Ctr, class _Al > | |
work_node & | operator+= (work_node &_w, const _Ctr< delta_id, _Al > &_d) |
Add a number of deltas to a work node. | |
template<template< class _Tp, class _TA > class _Ctr, class _Al > | |
work_node & | operator-= (work_node &_w, const _Ctr< delta_id, _Al > &_d) |
Remove a number of deltas from a work node. | |
class | delta_base |
class | certificate_base |
class | dag_delta |
class | dag_undelta |
class | search_graph |
Definition at line 417 of file search_node.h.
typedef constraint_iterator_base<expression_walker, const std::vector<expression_walker>*, const std::vector<expression_walker>&,const expression_walker*, const expression_walker&, std::vector<expression_walker>::const_iterator> coco::work_node::constraint_const_iterator |
This type defines a special const iterator, which iterates through all constraints of a specified type.
Definition at line 425 of file search_node.h.
typedef constraint_iterator_base<expression_walker, std::vector<expression_walker>*, std::vector<expression_walker>&,expression_walker*,expression_walker&, std::vector<expression_walker>::iterator> coco::work_node::constraint_iterator |
This type defines a special iterator, which iterates through all constraints of a specified type.
Definition at line 439 of file search_node.h.
typedef uint32_t coco::work_node::transaction_number |
The transaction numbers are used for keeping track of split deltas, whose contents are stored in the proposed_splits member locally in the work node.
Definition at line 511 of file search_node.h.
coco::work_node::work_node | ( | const work_node & | __w | ) | [inline] |
Standard Copy Constructor
Definition at line 100 of file search_node.hpp.
coco::work_node::work_node | ( | const full_node & | __f, | |
const std::list< delta_id > & | __de, | |||
vdbl::viewdbase * | vdbf = NULL | |||
) |
Expansion Constructor from full_node
Definition at line 192 of file search_node.cc.
coco::work_node::work_node | ( | const search_node_id & | _i, | |
const vdbl::userid & | _dui, | |||
gptr< model > & | __m, | |||
gptr< vdbl::database > & | __d, | |||
const std::vector< annotation > & | __an, | |||
const std::list< delta_id > & | __de, | |||
gptr< search_node > * | _gm, | |||
search_node_relation | snr = snr_worknode , |
|||
vdbl::viewdbase * | vdbf = NULL | |||
) |
This constructor generates a new work node (a standalone worknode by default) with search_node_id i
and search_node_relation __snr
. The parameter __m
is used to specify the full model, while the parameters _gm
, __d
, and _dui
initialize the global model, search database, and the database user id, respectively. The vector of annotations is initialized by parameter __an
, and the list of delta ids is set to __de
.
Definition at line 162 of file search_node.cc.
coco::work_node::~work_node | ( | ) | [inline, virtual] |
Standard Destructor
Definition at line 135 of file search_node.hpp.
double coco::work_node::compute_log_volume | ( | const std::vector< interval > & | _r | ) | const |
This method computes a finite approximation to the logarithmic volume of the box determined by the range vector _r
. Note that _r
is a range vector, i.e. it contains a range for every node in the DAG and is indexed by node numbers and not by variable numbers.
Definition at line 271 of file search_node.cc.
gptr<vdbl::database>* coco::search_node::database | ( | ) | const [inline, inherited] |
This is the accessor method for the search database.
Definition at line 164 of file search_node.h.
double coco::work_node::gain | ( | ) | const [inline] |
This method returns the current gain_factor of the work_node.
Definition at line 755 of file search_node.h.
model coco::work_node::get | ( | unsigned int | __type | ) | [inline] |
The get function returns a subpart of the model, which only consists of objective function and constraints of the specified type __type
. usage e.g.:
get(ex_bounds|ex_linear|ex_quadratic)
get(ex_atmquad)
Definition at line 653 of file search_node.h.
const annotation& coco::full_node::get_annotation | ( | unsigned int | i | ) | const [inline, inherited] |
A call to this method returns a const reference to the i
th annotation.
Definition at line 369 of file search_node.h.
const std::vector<annotation>& coco::full_node::get_annotations | ( | ) | const [inline, inherited] |
A call to this method returns a const reference to the whole vector of annotations.
Definition at line 374 of file search_node.h.
work_node::constraint_iterator coco::work_node::get_begin | ( | unsigned int | __type | ) | [inline] |
The get_begin() function returns a constraint_iterator pointing to the first constraint of type __type
. The iterator then can be used to iterate through all such constraints. Usage e.g.:
constraint_iterator b = get_begin(ex_linear); while(b != get_end(ex_linear)) { do_something(*b); ++b; }
Definition at line 153 of file search_node.hpp.
work_node::constraint_const_iterator coco::work_node::get_begin | ( | unsigned int | __type | ) | const [inline] |
The get_begin() function returns a constraint_const_iterator pointing to the first constraint of type __type
. The iterator then can be used to iterate through all such constraints. Usage e.g.:
constraint_const_iterator b = get_begin(ex_linear); while(b != get_end(ex_linear)) { do_something_const(*b); ++b; }
Definition at line 138 of file search_node.hpp.
const certificate & coco::work_node::get_certificate | ( | const delta_id & | _id | ) | const [inline] |
This method returns a const reference to the certificate associated to the delta with delta_id _id
.
Definition at line 479 of file search_node.hpp.
certificate coco::work_node::get_certificate | ( | const delta_id & | _id | ) | [inline] |
This method returns the certificate associated to the delta with delta_id _id
.
Definition at line 455 of file search_node.hpp.
const vdbl::database* coco::full_node::get_database | ( | ) | const [inline, inherited] |
This method returns a const pointer pointing to a locally stored copy of the search database.
Definition at line 385 of file search_node.h.
vdbl::database* coco::full_node::get_database_ptr | ( | ) | const [inline, inherited] |
This method returns a const pointer pointing to a locally stored copy of the search database.
Definition at line 396 of file search_node.h.
vdbl::userid coco::search_node::get_dbuserid | ( | ) | const [inline, inherited] |
This is the accessor method for the database user id.
Definition at line 158 of file search_node.h.
This method returns a const reference to the delta with delta_id _id
.
Definition at line 439 of file search_node.hpp.
This method returns the delta with delta_id _id
.
Definition at line 423 of file search_node.hpp.
work_node::constraint_iterator coco::work_node::get_end | ( | unsigned int | __type | ) | [inline] |
The get_end() function returns a constraint_iterator pointing after the last constraint of type __type
. The iterator then can be used to stop the iterating process through all such constraints at the end. Usage e.g.:
constraint_iterator b = get_begin(ex_linear); while(b != get_end(ex_linear)) { do_something(*b); ++b; }
Definition at line 160 of file search_node.hpp.
work_node::constraint_const_iterator coco::work_node::get_end | ( | unsigned int | __type | ) | const [inline] |
The get_end() function returns a constraint_const_iterator pointing after the last constraint of type __type
. The iterator then can be used to stop the iterating process through all such constraints at the end. Usage e.g.:
constraint_const_iterator b = get_begin(ex_linear); while(b != get_end(ex_linear)) { do_something_const(*b); ++b; }
Definition at line 146 of file search_node.hpp.
const vdbl::viewdbase& coco::work_node::get_fullviewdbase | ( | ) | const [inline] |
This method returns the actual full view database.
Definition at line 633 of file search_node.h.
vdbl::viewdbase& coco::work_node::get_fullviewdbase | ( | ) | [inline] |
This method returns the actual full view database.
Definition at line 630 of file search_node.h.
search_node_id coco::search_node::get_id | ( | ) | const [inline, inherited] |
This is the accessor method for the search node id of this node.
Definition at line 167 of file search_node.h.
model* coco::work_node::get_model | ( | ) | [inline] |
This method returns a const pointer pointing to a locally stored copy of the model stored in this full node.
Definition at line 614 of file search_node.h.
const model* coco::work_node::get_model | ( | ) | const [inline] |
This method returns a const pointer pointing to a locally stored copy of the model stored in this full node.
Reimplemented from coco::full_node.
Definition at line 610 of file search_node.h.
model* coco::full_node::get_model_ptr | ( | ) | const [inline, inherited] |
This method returns a pointer pointing to a locally stored copy of the model stored in this full node.
Definition at line 390 of file search_node.h.
vdbl::rowid coco::search_node::get_rowid | ( | ) | const [inline, inherited] |
This is the accessor method for the row id of this node.
Definition at line 173 of file search_node.h.
transaction_number coco::work_node::get_transaction_number | ( | ) | [inline] |
This method returns a unique transaction number for split deltas.
Definition at line 521 of file search_node.h.
const vdbl::viewdbase& coco::work_node::get_viewdbase | ( | ) | const [inline] |
This method returns the actual view database.
Definition at line 627 of file search_node.h.
vdbl::viewdbase& coco::work_node::get_viewdbase | ( | ) | [inline] |
This method returns the actual view database.
Definition at line 624 of file search_node.h.
const work_node_context* coco::work_node::get_work_node_context | ( | ) | const [inline] |
This method returns the actual work node context
Definition at line 621 of file search_node.h.
work_node_context* coco::work_node::get_work_node_context | ( | ) | [inline] |
This method returns the actual work node context
Definition at line 618 of file search_node.h.
basic_alltype coco::work_node::global_info | ( | const char * | i | ) | const [inline] |
This method returns the entry with name i
in the global data used by the algorithm. See globalinfo
.
Definition at line 772 of file search_node.h.
basic_alltype coco::work_node::global_info | ( | const std::string & | i | ) | const |
This method returns the entry with name i
in the global data used by the algorithm. See globalinfo
.
Definition at line 333 of file search_node.cc.
bool coco::work_node::global_info | ( | basic_alltype & | b, | |
const char * | i | |||
) | const [inline] |
This method returns the entry with name i
in the global data used by the algorithm, setting b
. It returns whether extraction was successful. See globalinfo
.
Definition at line 765 of file search_node.h.
bool coco::work_node::global_info | ( | basic_alltype & | b, | |
const std::string & | i | |||
) | const |
This method returns the entry with name i
in the global data used by the algorithm, setting b
. It returns whether extraction was successful. See globalinfo
.
Definition at line 325 of file search_node.cc.
const datamap& coco::work_node::global_info | ( | ) | const [inline] |
This method returns the global data used by the algorithm. See globalinfo
.
Definition at line 758 of file search_node.h.
gptr<search_node>* coco::search_node::global_model | ( | ) | const [inline, inherited] |
This is the accessor method for the global model.
Definition at line 161 of file search_node.h.
void coco::work_node::init_cnumbers | ( | ) |
This method computes the cache values n_bds, n_lin, n_quad, n_poly, and n_other and the log volume.
Definition at line 220 of file search_node.cc.
bool coco::full_node::is_delta | ( | ) | const [inline, virtual, inherited] |
This method is called to determine whether a search node stores only deltas (delta_node) or a full model (full_node). In case of a full_node it returns false
.
Reimplemented from coco::search_node.
Definition at line 361 of file search_node.h.
void coco::search_node::keep | ( | const std::vector< annotation > & | _anv | ) | [inline, inherited] |
A call to this method informs the search node to be the keeper of all the annotations in _anv
.
Definition at line 184 of file search_node.h.
void coco::search_node::keep | ( | const annotation & | _an | ) | [inline, inherited] |
A call to this method informs the search node to be the keeper of the annotation _an
.
Definition at line 180 of file search_node.h.
double coco::work_node::log_volume | ( | ) | const [inline] |
This method returns the finite approximation to the logarithmic volume of the work_node.
Definition at line 752 of file search_node.h.
void coco::work_node::make_node_order | ( | ) |
A call to this method recalculates the node_order for the model DAG stored in the work node.
Definition at line 263 of file search_node.cc.
void coco::work_node::make_node_ranges | ( | bool | keep_old_ranges | ) |
A call to this method adapts the node_ranges vector to the .
Definition at line 242 of file search_node.cc.
unsigned int coco::work_node::n | ( | unsigned int | __type | ) | const [inline] |
This method returns the number of constraints of type __type
. Usage, e.g.:
Definition at line 513 of file search_node.hpp.
unsigned int coco::full_node::n_annotations | ( | ) | const [inline, inherited] |
This method returns the number of annotations stored in this full node.
Definition at line 365 of file search_node.h.
Special Assignment Operator --- be careful when using it!
Reimplemented from coco::full_node.
Definition at line 222 of file search_node.hpp.
Standard Assignment Operator
Definition at line 254 of file search_node.hpp.
search_node_relation coco::search_node::parent_relation | ( | ) | const [inline, protected, inherited] |
A call to this method returns the relation of this node to its parent in the search graph.
Definition at line 117 of file search_node.h.
double coco::work_node::reset_gain | ( | ) | [inline] |
This method returns the current gain_factor of the work_node and resets it to 1.
Definition at line 777 of file search_node.h.
void coco::work_node::reset_node_ranges | ( | ) | [inline] |
This method resets all unused node ranges to .
Definition at line 503 of file search_node.hpp.
void coco::work_node::set_globalinfo | ( | ) |
This method extracts the information from the ``global info'' table and stores it in the globalinfo
cache of the work_node.
Definition at line 299 of file search_node.cc.
void coco::search_node::set_id | ( | const search_node_id & | i | ) | [inline, inherited] |
This is the set method for the search node id of this node.
Definition at line 170 of file search_node.h.
void coco::search_node::set_rowid | ( | const vdbl::rowid & | i | ) | [inline, inherited] |
This is the set method for the row id of this node.
Definition at line 176 of file search_node.h.
void coco::search_node::unkeep | ( | const std::vector< annotation > & | _anv | ) | [inline, inherited] |
A call to this method informs the search node to no longer be the keeper of all the annotations in _anv
.
Definition at line 93 of file search_node.hpp.
void coco::search_node::unkeep | ( | const annotation & | _an | ) | [inline, inherited] |
A call to this method informs the search node to no longer be the keeper of the annotation _an
.
Definition at line 82 of file search_node.hpp.
friend class certificate [friend] |
Definition at line 806 of file search_node.h.
friend class certificate_base [friend, inherited] |
Definition at line 400 of file search_node.h.
friend class dag_delta [friend, inherited] |
Definition at line 401 of file search_node.h.
friend class dag_undelta [friend, inherited] |
Definition at line 402 of file search_node.h.
friend class delta [friend] |
Definition at line 804 of file search_node.h.
friend class delta_base [friend, inherited] |
Definition at line 399 of file search_node.h.
work_node operator+ | ( | const work_node & | _w, | |
const _Ctr< delta_id, _Al > & | _d | |||
) | [friend] |
This function adds all the deltas whose delta_ids are in the linear container _d
to work_node _w
and returns a new work_node having all these deltas applied.
Definition at line 324 of file search_node.hpp.
work_node& operator+= | ( | work_node & | _w, | |
const _Ctr< delta_id, _Al > & | _d | |||
) | [friend] |
This function adds the deltas whose delta_ids are in the linear container _d
to work_node _w
changing it in that process. The function returns _w
.
Definition at line 340 of file search_node.hpp.
This function adds the delta with delta_id _i
to work_node _w
changing it in that process. The function returns _w
.
Definition at line 310 of file search_node.hpp.
work_node operator- | ( | const work_node & | _w, | |
const _Ctr< delta_id, _Al > & | _d | |||
) | [friend] |
This function removes all the deltas whose delta_ids are in the linear container _d
from work_node _w
and returns a new work_node having all these deltas unapplied.
Definition at line 364 of file search_node.hpp.
work_node& operator-= | ( | work_node & | _w, | |
const _Ctr< delta_id, _Al > & | _d | |||
) | [friend] |
This function removes (unapplies) the deltas whose delta_ids are in the linear container _d
from work_node _w
changing it in that process. The function returns _w
.
Definition at line 382 of file search_node.hpp.
This function removes (unapplies) the delta with delta_id _i
from work_node _w
changing it in that process. The function returns _w
.
Definition at line 76 of file search_node.cc.
friend class search_graph [friend, inherited] |
Definition at line 195 of file search_node.h.
friend class undelta [friend] |
Definition at line 805 of file search_node.h.
friend class wnc_hook_base [friend] |
Definition at line 807 of file search_node.h.
gptr<vdbl::database>* coco::search_node::__dbase [protected, inherited] |
This is a pointer to a global pointer to the search database associated to this search graph.
Definition at line 96 of file search_node.h.
gptr<search_node>* coco::search_node::__global_model [protected, inherited] |
This is a pointer to a global pointer to the top of the search graph. It is NULL for a standalone node or the top of the graph.
Definition at line 93 of file search_node.h.
vdbl::viewdbase* coco::work_node::__vdb |
This is a restricted view to the search database to be used by the inference engines and report modules.
Definition at line 474 of file search_node.h.
vdbl::viewdbase* coco::work_node::__vdbf |
This is a full view to the search database to be used by the inference engines and report modules.
Definition at line 477 of file search_node.h.
std::vector<annotation> coco::full_node::_ann [inherited] |
This is the vector of annotations active at this full node.
Definition at line 290 of file search_node.h.
vdbl::userid coco::search_node::_dbuser [protected, inherited] |
This member stores the database user id under which this search is performed. For the in-memory database this is irrelevant.
Definition at line 99 of file search_node.h.
search_node_id coco::search_node::_id [protected, inherited] |
This is the unique identifier of this search node.
Definition at line 104 of file search_node.h.
std::vector<annotation> coco::search_node::_keep [protected, inherited] |
The _keep member is a list of all those annotations which are kept by this search node. If the node is destroyed all kept annotations are removed from the search database.
Definition at line 108 of file search_node.h.
gptr<model>* coco::full_node::_m [protected, inherited] |
This is a pointer to a global pointer to the model kept in this full node.
Definition at line 286 of file search_node.h.
vdbl::rowid coco::search_node::_rid [protected, inherited] |
This row id specifies the row in the search info table where the hook information for this search_node is stored
Definition at line 112 of file search_node.h.
search_node_relation coco::search_node::_snr [protected, inherited] |
This member specifies the relation of the search node to its parent(s) in the search graph.
Definition at line 102 of file search_node.h.
std::list<delta_id>::iterator coco::work_node::deltanew_it |
This iterator points to the first 'new' delta of the work_node.
Definition at line 450 of file search_node.h.
std::list<delta_id> coco::work_node::deltas |
This is the list of all deltas, which had to be applied to construct the given work_node. This includes the deltas necessary to extract the search_node to the work_node from the graph, as well as the ``new'' deltas, which have been applied by the solution strategy while the work node was analyzed by various inference engines.
Definition at line 447 of file search_node.h.
vdbl::standard_table* coco::work_node::dtable |
This is a pointer to the ``deltas'' table in the search database.
Definition at line 459 of file search_node.h.
vdbl::tableid coco::work_node::dtable_id |
This is the table identifier of the ``deltas'' table in the search database.
Definition at line 462 of file search_node.h.
double coco::work_node::gain_factor |
This member keeps an improvement factor (in [0,1]) in bounds sizes since it was last reset.
Definition at line 502 of file search_node.h.
vdbl::standard_table* coco::work_node::gitable |
This is a pointer to the ``global info'' table in the search database.
Definition at line 464 of file search_node.h.
vdbl::tableid coco::work_node::gitable_id |
This is the table identifier of the ``global info'' table in the search database.
Definition at line 467 of file search_node.h.
This member keeps a cache of the global data used in the algorithm
Definition at line 504 of file search_node.h.
This boolean specifies, whether the problem represented by this work node is known to be infeasible.
Definition at line 495 of file search_node.h.
double coco::work_node::log_vol |
This member keeps a finite approximation to the logarithmic volume of the box formed by the variable bounds of the original variables.
Definition at line 499 of file search_node.h.
std::vector<unsigned int> coco::work_node::node_order |
The node_order vector provides a linear order on the DAG nodes, which is compatible with the DAG structure, i.e., all ancestors of a node are ordered after the node. The vector contains the order as a sequence node numbers of the DAG nodes.
Definition at line 492 of file search_node.h.
std::vector<interval> coco::work_node::node_ranges |
The node_ranges vector keeps the current best known ranges of all nodes in the model DAG. The vector is indexed by the node numbers of the DAG nodes.
Definition at line 487 of file search_node.h.
This parameter stores the parents of the work node in the graph
Definition at line 453 of file search_node.h.
std::map<transaction_number,std::list<std::vector<delta> > > coco::work_node::proposed_splits |
This member stores all splits which have been proposed by the various inference engines that can be used to calculate possible splits. Every proposed split (being associated with a split_delta) gets assigned a unique transaction number. This is later used for unapplying the split_delta if necessary. Every split is itself a list of vectors of deltas. Every vector of deltas in the list is associated with one child node generated by the split, and the vector of deltas contains all deltas which have to be applied to the work node for constructing the respective child node from the work node.
Definition at line 534 of file search_node.h.
This map connects split_delta delta identifiers with transaction numbers in the proposed_splits map.
Definition at line 537 of file search_node.h.
std::map<delta_id,undelta> coco::work_node::undeltas |
This map connects delta identifiers of previously applied deltas with their corresponding undelta information.
Definition at line 457 of file search_node.h.
This is the work node context corresponding to the current work node.
Definition at line 471 of file search_node.h.