use ./build.sh
to build crossingguard
in build
. The Boost
library is required.
Use crossingguard file-in file-out
to solve one problem. The file-in
should be in the .gr
format.
Alternatively you can also call crossingguard
and print the contents of the file via cin
and the output will be printed via cout
.
The solver utilizes a branch-and-bound algorithm that systematically traverses the entire permutation tree of all vertices in B. At each node of the tree, it assesses whether the minimum possible number of cuts exceeds the best solution found so far.
Furthermore, preprocessing techniques are employed to identify vertices that can be temporarily removed and subsequently reinserted without compromising the optimality of the solution.