MinlpNode Class Reference

A class containing methods needed for partitioning algorithms. More...

#include <node.h>

Collaboration diagram for MinlpNode:
Collaboration graph
[legend]

List of all members.

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
 The indices of the fixed binary variables for MinlpBCP, seperated by block.
dvector upper
set< int > fix_branch_var
 List of fixed branching variables.
vector< dvectorlagprob_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

Detailed Description

A class containing methods needed for partitioning algorithms.

Definition at line 29 of file node.h.


Constructor & Destructor Documentation

MinlpNode::MinlpNode ( const dvector lower_,
const dvector upper_ 
)

Constructor for a MinlpNode.

Parameters:
lower_ Lower bounds on the variables.
upper_ Upper bounds on the variables.
already Variables, which are already fixed. Can be left out.
MinlpNode::MinlpNode ( MinlpNode node  ) 

Copy-Constructor.

Parameters:
node The MinlpNode to copy.

Member Function Documentation

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.

bool MinlpNode::inside_part_set ( dvector point,
int  k,
const vector< ivector > &  block 
)

Checks if a sub-vector is inside the partition set.

Parameters:
point A point.
k The block number.
block The block structure.
Returns:
True, if the point is inside.
set<SolCandidate>::const_iterator MinlpNode::outside_part_set ( const set< SolCandidate > &  points  ) 

Checks if a set of points is outside the partition set.

Parameters:
points A set of points.
Returns:
A pointer to a point, which is not outside, or points.end(), if the set is outside.
double MinlpNode::key (  )  [inline]

Evaluates the key of a node.

Definition at line 126 of file node.h.

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.


Friends And Related Function Documentation

friend class MinlpBCP [friend]

Definition at line 30 of file node.h.

friend class ColumnGenerator [friend]

Definition at line 31 of file node.h.

friend class RMPManager [friend]

Definition at line 32 of file node.h.

friend class LinearRelax [friend]

Definition at line 33 of file node.h.

friend class LinearRelaxSolverGeneral [friend]

Definition at line 34 of file node.h.

friend class LinearRelaxSolverMIP [friend]

Definition at line 35 of file node.h.

friend class RelaxationSolver [friend]

Definition at line 36 of file node.h.

friend class LagHeu [friend]

Definition at line 37 of file node.h.

friend class LagHeu1 [friend]

Definition at line 38 of file node.h.

friend class LagHeu_SimAnnealing [friend]

Definition at line 39 of file node.h.

friend class LagHeu2 [friend]

Definition at line 40 of file node.h.

friend class LagHeu2b [friend]

Definition at line 41 of file node.h.


Member Data Documentation

double MinlpNode::low_bound [private]

A lower bound of the optimal value.

Definition at line 46 of file node.h.

Definition at line 48 of file node.h.

The indices of the fixed binary variables for MinlpBCP, seperated by block.

The partition cuts from MinlpBCP, seperated by blocks. Box for this node.

Definition at line 60 of file node.h.

Definition at line 60 of file node.h.

set<int> MinlpNode::fix_branch_var [private]

List of fixed branching variables.

Variables, which were just subdivided and shouln't be subdivided in the near future again.

Definition at line 65 of file node.h.

Solution points from the lagrangian problems.

To use as starting points when solving the lag problems again.

Definition at line 70 of file node.h.

Point, used by feasible_linrelax to store the solution of (R[U]).

Especially, it stores the values of the fixed binaries from fixed_var for RoundPartHeu.

Definition at line 75 of file node.h.

The dual point to the refpoint.

Definition at line 79 of file node.h.

Solution point of the RMP.

Definition at line 82 of file node.h.

vector<list<list<ExtremePoint>::iterator> > MinlpNode::i_ExtremePoints [private]

The points and columns of the RMP for each block.

Definition at line 85 of file node.h.

vector<list<ExtremePoint>::iterator> MinlpNode::i_ExtremePoints_limit [private]

Points to the last RMP_point (in MinlpBCP), we checked.

Definition at line 88 of file node.h.


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

Generated on 10 Mar 2013 for LaGO by  doxygen 1.6.1