HeurFarthestInsert.cpp
Go to the documentation of this file.
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
55 /** method updating the distances of the nodes to the tour after having inserted one node with id index */
99 /** solving process initialization method of primal heuristic (called when branch and bound process is about to begin)
101 * This method is called when the presolving was finished and the branch and bound process is about to begin.
110 /** solving process deinitialization method of primal heuristic (called before branch and bound process data is freed)
128 * - SCIP_DELAYED : the heuristic was skipped, but should be called again as soon as possible, disregarding
229 // widen the subtour by one node each step until you have a complete tour, actually the farthest insert heuritic
238 if( (maxmin < dist[i] && dist[i] != DBL_MAX) || (maxmin == dist[i] && !subtour[i]) ) /*lint !e777*/
265 // find best insertion of the new node by trying to replace any edge connecting by the two edges connecting
300 // bestedges should contain a 3-cycle (modulo orientation) connecting new node with two incident ones of the tour
Definition: type_result.h:33
Definition: type_result.h:47
SCIP_DECL_HEURFREE(HeurFarthestInsert::scip_free)
Definition: HeurFarthestInsert.cpp:77
Definition: HeurFarthestInsert.h:32
void updateDistances(GRAPHNODE *nodes, double *dist, int idx)
Definition: HeurFarthestInsert.cpp:56
SCIP_DECL_HEUREXITSOL(HeurFarthestInsert::scip_exitsol)
Definition: HeurFarthestInsert.cpp:115
generator for global cuts in undirected graphs
farthest insert - combinatorial heuristic for TSP
Definition: struct_sol.h:63
Definition: ProbDataTSP.h:33
Definition: type_result.h:35
Definition: pqueue.h:28
C++ wrapper classes for SCIP.
Definition: type_retcode.h:33
C++ problem data for TSP.
SCIP_RETCODE SCIPsetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var, SCIP_Real val)
Definition: scip_sol.c:1270
SCIP_DECL_HEURCLONE(scip::ObjCloneable *HeurFarthestInsert::clone)
Definition: HeurFarthestInsert.cpp:354
SCIP_RETCODE SCIPtrySol(SCIP *scip, SCIP_SOL *sol, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
Definition: scip_sol.c:3197
SCIP_DECL_HEURINIT(HeurFarthestInsert::scip_init)
Definition: HeurFarthestInsert.cpp:83
Definition: GomoryHuTree.h:30
Definition: GomoryHuTree.h:53
SCIP_DECL_HEUREXEC(HeurFarthestInsert::scip_exec)
Definition: HeurFarthestInsert.cpp:131
SCIP_DECL_HEURINITSOL(HeurFarthestInsert::scip_initsol)
Definition: HeurFarthestInsert.cpp:105
SCIP_DECL_HEUREXIT(HeurFarthestInsert::scip_exit)
Definition: HeurFarthestInsert.cpp:92
Definition: ConshdlrSubtour.h:30
GRAPHEDGE * findEdge(GRAPHNODE *nodes, int index1, int index2)
Definition: HeurFarthestInsert.cpp:36
Definition: objbenders.h:33
SCIP_RETCODE SCIPcreateSol(SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
Definition: scip_sol.c:377