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.