The symbolic constraint for undirected Hamiltonian cycles. More...
#include <tour.h>
Classes | |
class | cutset_inequality |
class | degree_equality |
Public Member Functions | |
TOUR (Graph &G_, var_map< edge_descriptor > &X) | |
void | init (subproblem &S) |
status | standard_separation (subproblem &S) |
status | fast_separation (subproblem &S) |
status | feasible (solution &S) |
void | info () |
This symbolic constraints takes as arguments an undirected graph
G
and a var_map<edge>
X
. X
has to map every edge of the graph to a binary variable.
The feasible assignments of the symbolic constraint are those where the vector of the variables associated with the edges of the graph is an incidence-vector of a Hamiltonian cycle.
The symbolic constraint uses the cutting plane method, based on the well known subtour elimination formulation of Hamiltonian cycles.
Definition at line 36 of file tour.h.
TOUR< Graph >::status TOUR::fast_separation | ( | subproblem & | S | ) | [inline, virtual] |
Separates the subtour elimination constraints, i.e. for all
, with a heuristic separation algorithm.
Reimplemented from SCIL::sym_constraint.
Definition at line 113 of file tour.cc.
References SCIL::subproblem::configuration().
Returns true, if the induced graph is connected.
Reimplemented from SCIL::sym_constraint.
Definition at line 263 of file tour.cc.
References SCIL::subproblem::configuration(), and SCIL::solution::value().
void TOUR::info | ( | ) | [inline, virtual] |
Returns information on the symbolic constraint.
Reimplemented from SCIL::sym_constraint.
void TOUR::init | ( | subproblem & | S | ) | [inline, virtual] |
Adds the degree constraints, i.e. for all
, to the LP.
Reimplemented from SCIL::sym_constraint.
Definition at line 95 of file tour.cc.
References SCIL::subproblem::add_basic_constraint(), and SCIL::subproblem::configuration().
TOUR< Graph >::status TOUR::standard_separation | ( | subproblem & | S | ) | [inline, virtual] |
Separates the subtour elimination constraints, i.e. for all
, with a heuristic and an exact separation algorithm.
Reimplemented from SCIL::sym_constraint.
Definition at line 106 of file tour.cc.
References SCIL::subproblem::configuration().