#include <node.h>
Collaboration diagram for MinlpNode:

Public Member Functions | |
| MinlpNode (const dvector &lower_, const dvector &upper_) | |
| Constructor for a MinlpNode. | |
| MinlpNode (MinlpNode &node) | |
| Copy-Constructor. | |
| pair< double, pair< int, int > > | bcp_rho (const dvector &x, const vector< ivector > &block, const vector< bool > &discr) |
| Evaluates the key and the related block and index. | |
| bool | inside_part_set (dvector &point, int k, const vector< ivector > &block) |
| Checks if a sub-vector is inside the partition set. | |
| set< SolCandidate >::const_iterator | outside_part_set (const set< SolCandidate > &points) |
| Checks if a set of points is outside the partition set. | |
| double | key () |
| Evaluates the key of a node. | |
| double | key (const vector< int > &i_discr) |
| Evaluates the key of the node which is currently the lower bound. | |
Private Attributes | |
| double | low_bound |
| A lower bound of the optimal value. | |
| bool | update_subdiv_bound_called |
| dvector | lower |
| Box for this node. | |
| dvector | upper |
| set< int > | fix_branch_var |
| List of fixed branching variables. | |
| vector< dvector > | lagprob_solutions |
| Solution points from the lagrangian problems. | |
| dvector | ref_point |
| Point, used by feasible_linrelax to store the solution of (R[U]). | |
| dvector | dual_point |
| The dual point to the refpoint. | |
| dvector | yz_RMP |
| Solution point of the RMP. | |
| vector< list< list< ExtremePoint >::iterator > > | i_ExtremePoints |
| The points and columns of the RMP for each block. | |
| vector< list< ExtremePoint >::iterator > | i_ExtremePoints_limit |
| Points to the last RMP_point (in MinlpBCP), we checked. | |
Friends | |
| class | MinlpBCP |
| class | ColumnGenerator |
| class | RMPManager |
| class | LinearRelax |
| class | LinearRelaxSolverGeneral |
| class | LinearRelaxSolverMIP |
| class | RelaxationSolver |
| class | LagHeu |
| class | LagHeu1 |
| class | LagHeu_SimAnnealing |
| class | LagHeu2 |
| class | LagHeu2b |
Definition at line 29 of file node.h.
Constructor for a MinlpNode.
| lower_ | Lower bounds on the variables. | |
| upper_ | Upper bounds on the variables. | |
| already | Variables, which are already fixed. Can be left out. |
| pair<double, pair<int,int> > MinlpNode::bcp_rho | ( | const dvector & | x, | |
| const vector< ivector > & | block, | |||
| const vector< bool > & | discr | |||
| ) |
Evaluates the key and the related block and index.
Computes the minimum distance of the variables in x to the middle of its box regarding the discrete unfixed variables. And gives the block and index of a variable, where this minimum is attached. The indices of fixed variables are taken from bcp_fixed_var.
Checks if a sub-vector is inside the partition set.
| point | A point. | |
| k | The block number. | |
| block | The block structure. |
| set<SolCandidate>::const_iterator MinlpNode::outside_part_set | ( | const set< SolCandidate > & | points | ) |
Checks if a set of points is outside the partition set.
| points | A set of points. |
| double MinlpNode::key | ( | ) | [inline] |
| double MinlpNode::key | ( | const vector< int > & | i_discr | ) |
Evaluates the key of the node which is currently the lower bound.
If all discrete variables are fixed, the key in increased by rtol.
friend class ColumnGenerator [friend] |
friend class RMPManager [friend] |
friend class LinearRelax [friend] |
friend class LinearRelaxSolverGeneral [friend] |
friend class LinearRelaxSolverMIP [friend] |
friend class RelaxationSolver [friend] |
friend class LagHeu_SimAnnealing [friend] |
double MinlpNode::low_bound [private] |
bool MinlpNode::update_subdiv_bound_called [private] |
dvector MinlpNode::lower [private] |
dvector MinlpNode::upper [private] |
set<int> MinlpNode::fix_branch_var [private] |
vector<dvector> MinlpNode::lagprob_solutions [private] |
dvector MinlpNode::ref_point [private] |
dvector MinlpNode::dual_point [private] |
dvector MinlpNode::yz_RMP [private] |
vector<list<list<ExtremePoint>::iterator> > MinlpNode::i_ExtremePoints [private] |
vector<list<ExtremePoint>::iterator> MinlpNode::i_ExtremePoints_limit [private] |
1.4.7