Bcp 1.4.4
Loading...
Searching...
No Matches
BCP_lp_node.hpp
Go to the documentation of this file.
1// Copyright (C) 2000, International Business Machines
2// Corporation and others. All Rights Reserved.
3#ifndef _BCP_LP_NODE_H
4#define _BCP_LP_NODE_H
5
6#include "BCP_math.hpp"
7#include "BCP_enum_branch.hpp"
9#include "BCP_var.hpp"
10#include "BCP_cut.hpp"
11#include "BCP_obj_change.hpp"
12
13//#############################################################################
14
15class BCP_warmstart;
16class BCP_user_data;
17
18//#############################################################################
19
34};
35
36//#############################################################################
37
43private:
49 BCP_lp_parent& operator=(const BCP_lp_parent&);
52public:
66 int index;
69public:
78public:
82 void clean();
84};
85
86//#############################################################################
87
93private:
99 BCP_lp_node& operator=(const BCP_lp_node&);
102public:
104 // *FIXME* divide data members into subgroups
111 int cg;
113 int cp;
115 int vg;
117 int vp;
120 int level;
122 int index;
130 double quality;
139 // this is tricky. this vector stores for each cut the lower bound on the
140 // lp formulation at the time when the cut was added *in this node* OR if
141 // there were columns added afterwards (stiil in the same node) then the
142 // lower bound on the lp when columns were added the last time.
150public:
155 tm_storage(),
156 cg(-1), cp(-1), vg(-1), vp(-1),
157 level(0), index(0), iteration_count(0),
160 warmstart(0),
161 user_data(0) {}
169 inline size_t varnum() const { return vars.size(); }
171 inline size_t cutnum() const { return cuts.size(); }
177 void clean();
179};
180
181//#############################################################################
182
183#endif
BCP_storage_t
This enumerative constant describes how to store certain data for a search tree node.
Definition: BCP_enum.hpp:84
BCP_column_generation
This enumerative constant describes what to do when a search tree node becomes fathomable for the cur...
Definition: BCP_enum.hpp:65
@ BCP_DoNotGenerateColumns_Fathom
Do fathom the node.
Definition: BCP_enum.hpp:67
BCP_diving_status
This enumerative constant describes the diving status of the search tree node processed by the LP pro...
@ BCP_DoNotDive
After branching all children must be returned to the Tree Manager and the LP process should wait for ...
#define BCP_DBL_MAX
Definition: BCP_math.hpp:6
This class is just a collection of pointers to cuts with a number of methods to manipulate these cuts...
Definition: BCP_cut.hpp:279
NO OLD DOC.
Definition: BCP_lp_node.hpp:92
BCP_warmstart * warmstart
double quality
BCP_diving_status dive
size_t varnum() const
BCP_var_set vars
BCP_user_data * user_data
Data the user wants to pass along with the search tree node.
size_t cutnum() const
BCP_column_generation colgen
BCP_vec< double > lb_at_cutgen
void clean()
double true_lower_bound
BCP_cut_set cuts
BCP_node_storage_in_tm tm_storage
NO OLD DOC.
Definition: BCP_lp_node.hpp:42
BCP_obj_set_change var_set
this is always explicit, it's just that coding is simpler if we reuse the BCP_obj_set_change object
Definition: BCP_lp_node.hpp:59
BCP_obj_set_change cut_set
this is always explicit, it's just that coding is simpler if we reuse the BCP_obj_set_change object
Definition: BCP_lp_node.hpp:62
BCP_problem_core_change core_as_change
Definition: BCP_lp_node.hpp:56
BCP_warmstart * warmstart
Definition: BCP_lp_node.hpp:64
This class stores data about how an object set (set of vars or set of cuts) changes.
This class describes changes in the core of the problem.
This class is just a collection of pointers to variables with a number of methods to manipulate these...
Definition: BCP_var.hpp:316
The class BCP_vec serves the same purpose as the vector class in the standard template library.
Definition: BCP_vector.hpp:24
size_t size() const
Return the current number of entries.
Definition: BCP_vector.hpp:116
Warmstarting information for the LP solver.
BCP_storage_t var_change
Definition: BCP_lp_node.hpp:29
BCP_storage_t warmstart
Definition: BCP_lp_node.hpp:33
BCP_storage_t core_change
Definition: BCP_lp_node.hpp:27
BCP_storage_t cut_change
Definition: BCP_lp_node.hpp:31