The symbolic constraint for directed Hamiltonian cycles. More...
#include <atour.h>


Classes | |
| class | dir_cutset_inequality |
| class | dir_cutset_inequality |
| class | dir_degree_equality |
| class | dir_degree_equality |
Public Member Functions | |
| ATOUR (Graph &G_, var_map< edge_descriptor > &X) | |
| Constructor. | |
| 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 a directed 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 directed Hamiltonian cycle.
The symbolic constraint uses the cutting plane method, based on the well known subtour elimination formulation of directed Hamiltonian cycles.
Definition at line 33 of file atour.h.
| ATOUR< Graph >::status ATOUR::fast_separation | ( | subproblem & | S | ) | [inline, virtual] |
Separates the subtour elimination constraints, i.e.
for all
, only with a heuristic.
Reimplemented from SCIL::sym_constraint.
Returns true, if the induced graph is connected.
Reimplemented from SCIL::sym_constraint.
| void ATOUR::info | ( | ) | [inline, virtual] |
Returns information on the symbolic constraints.
Reimplemented from SCIL::sym_constraint.
| void ATOUR::init | ( | subproblem & | S | ) | [inline, virtual] |
Adds the degree constraints, i.e.
and
for all
, to the LP.
Reimplemented from SCIL::sym_constraint.
| ATOUR< Graph >::status ATOUR::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.
1.6.3