Camargue
|
Wrappers for Concorde cut structures/separators. More...
#include "graph.hpp"
#include "datagroups.hpp"
#include <stdexcept>
#include <string>
#include <memory>
#include <vector>
#include <concorde/INCLUDE/tsp.h>
Go to the source code of this file.
Classes | |
class | CMR::Sep::TourGraph |
Wrapper to Concorde CCtsp_lpgraph for pricing cuts at tours. More... | |
class | CMR::Sep::LPcutList |
Management of Concorde lpcut_in linked list. More... | |
struct | CMR::Sep::LPcutList::hungry_delete |
Deleter to clear the linked list. More... | |
class | CMR::Sep::CCsepBase |
Abstract base class for calling Concorde separation routines. More... | |
class | CMR::Sep::LocalCuts |
Primal separation of non-template local cuts via standard heuristics. More... | |
class | CMR::Sep::ConcordeSeparator< sep_fn, check_filter_primal, fn_name > |
Class template for straightforward Concorde separation routines. More... | |
Namespaces | |
CMR | |
The namespace for this project. | |
CMR::Sep | |
Classes and functions related to cut separation. | |
Typedefs | |
using | CMR::Sep::CCsepCall = decltype(&CCtsp_segment_cuts) |
Alias declaration for Concorde separator call prototype. | |
Variables | |
String names for ConcordeSeparator template instantiation. | |
These need to be defined to pass a string literal as a template parameter, see eg http://www.comeaucomputing.com/techtalk/templates/#stringliteral | |
constexpr char | CMR::Sep::seg_fname [] = "CCtsp_segment_cuts" |
constexpr char | CMR::Sep::con_fname [] = "CCtsp_connect_cuts" |
constexpr char | CMR::Sep::ex_fname [] = "CCtsp_exact_subtours" |
constexpr char | CMR::Sep::f2m_fname [] = "CCtsp_fastblossom" |
constexpr char | CMR::Sep::gh2m_fname [] = "CCtsp_ghfastblossom" |
constexpr char | CMR::Sep::blk_fname [] = "CCtsp_block_combs" |
ConcordeSeparator explicit instantiations. | |
Except for SegmentCuts, all of these are standard heuristics. | |
using | CMR::Sep::SegmentCuts = ConcordeSeparator< CCtsp_segment_cuts, false, seg_fname > |
Exact primal SEC separation. | |
using | CMR::Sep::ConnectCuts = ConcordeSeparator< CCtsp_connect_cuts, false, con_fname > |
Standard connected component SEC generation. | |
using | CMR::Sep::ExactSub = ConcordeSeparator< CCtsp_exact_subtours, false, ex_fname > |
Exact standard SEC separation. | |
using | CMR::Sep::FastBlossoms = ConcordeSeparator< CCtsp_fastblossom, true, f2m_fname > |
Odd component fast blossoms. | |
using | CMR::Sep::GHblossoms = ConcordeSeparator< CCtsp_ghfastblossom, true, gh2m_fname > |
Gr"otschel-Holland blossom heuristic. | |
using | CMR::Sep::BlockCombs = ConcordeSeparator< BlkCombCall, true, blk_fname > |
Block comb separation. | |
int | CMR::Sep::BlkCombCall (CCtsp_lpcut_in **c, int *cutcount, int ncount, int ecount, int *elist, double *ecap) |
Wrapper function because CCtsp_block_combs takes a silent parameter. More... | |
Wrappers for Concorde cut structures/separators.