Main Page   Class Hierarchy   Compound List   File List   Contact   Download   Symbolic Constraints   Examples  

SCIL::CUT< Graph > Class Template Reference

The symbolic constraint for cuts.

#include <cut.h>

Inheritance diagram for SCIL::CUT< Graph >:
Inheritance graph
[legend]
Collaboration diagram for SCIL::CUT< Graph >:
Collaboration graph
[legend]

List of all members.

Classes

class  bfs_dist_visitor
 Visitor for algorithm boost::breadth_first_search. More...

Public Member Functions

 CUT (Graph &G_, row_map< edge_descriptor > &VM_, int nc_=-1)
void init (subproblem &S)
int generate_triangle_inequalities (subproblem &S)
status standard_separation (subproblem &S)
status fast_separation (subproblem &S)
status feasible (solution &S)
int exactCycleSeparation (solution &S, int maxnum, std::list< cons_obj * > &newCons)
int forestCycleSeparation (solution &S, int maxnum, std::list< cons_obj * > &newCons)
list< vertex_descriptor > getConfiguration (solution &S)
void info ()

Detailed Description

template<typename Graph>
class SCIL::CUT< Graph >

Definition at line 44 of file cut.h.


Constructor & Destructor Documentation

template<typename Graph >
CUT::CUT ( Graph G_,
row_map< edge_descriptor > &  VM_,
int  nc_ = -1 
) [inline]

Ensures that the edges in X form a Cut.

Preconditions:

  • The variables associated to the edges are binary. Parameters:
  • CUT_Debug_Out true | false

Definition at line 115 of file cut.cc.


Member Function Documentation

template<typename Graph >
int CUT::exactCycleSeparation ( solution S,
int  maxnum,
std::list< cons_obj * > &  newCons 
) [inline]

Separates the cycle constraints, i.e. $ \sum_{e \in F} X_e - \sum_{e \in C \setminus F} X_e \le |F| - 1 $ for a cycle C, $ F \subset C, |F| $ odd, with an exact separation algorithm.

Definition at line 303 of file cut.cc.

References SCIL::subproblem::configuration(), SCIL::row::normalize(), and SCIL::solution::value().

Referenced by SCIL::CUT< Graph >::standard_separation().

template<typename Graph >
CUT< Graph >::status CUT::fast_separation ( subproblem S  )  [inline, virtual]
template<typename Graph >
CUT< Graph >::status CUT::feasible ( solution S  )  [inline, virtual]

Returns true, if the induced graph is a cut.

Reimplemented from SCIL::sym_constraint.

Definition at line 659 of file cut.cc.

References SCIL::subproblem::configuration(), and SCIL::solution::value().

Referenced by SCIL::CUT< Graph >::getConfiguration().

template<typename Graph >
int SCIL::CUT< Graph >::forestCycleSeparation ( solution S,
int  maxnum,
std::list< cons_obj * > &  newCons 
)

Heuristically separates cycle constraints

Referenced by SCIL::CUT< Graph >::fast_separation(), and SCIL::CUT< Graph >::standard_separation().

template<typename Graph >
list< typename CUT< Graph >::vertex_descriptor > CUT::getConfiguration ( solution S  )  [inline]

Returns the cut configuration induced by the (feasible) solution S

Definition at line 768 of file cut.cc.

References SCIL::subproblem::configuration(), and SCIL::CUT< Graph >::feasible().

template<typename Graph >
void CUT::info (  )  [inline, virtual]

Returns information on the symbolic constraints.

Reimplemented from SCIL::sym_constraint.

Definition at line 778 of file cut.cc.

template<typename Graph >
void CUT::init ( subproblem  )  [inline, virtual]

This function is called before the first LP at the root of the BCP-tree is solved.

Reimplemented from SCIL::sym_constraint.

Definition at line 235 of file cut.cc.

References SCIL::subproblem::configuration().

template<typename Graph >
CUT< Graph >::status CUT::standard_separation ( subproblem S  )  [inline, virtual]

The documentation for this class was generated from the following files:
Generated on Mon Mar 28 22:03:52 2011 for SCIL by  doxygen 1.6.3