Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.2.0
SCIP 8.1.0
SCIP 7.0.3
SCIP 6.0.2
SCIP 5.0.1
SCIP 4.0.1
SCIP 3.2.1
SCIP
Solving Constraint Integer Programs
heur_gins.h
Go to the documentation of this file.
1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2
/* */
3
/* This file is part of the program and library */
4
/* SCIP --- Solving Constraint Integer Programs */
5
/* */
6
/* Copyright (C) 2002-2017 Konrad-Zuse-Zentrum */
7
/* fuer Informationstechnik Berlin */
8
/* */
9
/* SCIP is distributed under the terms of the ZIB Academic License. */
10
/* */
11
/* You should have received a copy of the ZIB Academic License */
12
/* along with SCIP; see the file COPYING. If not email to scip@zib.de. */
13
/* */
14
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15
16
/**@file heur_gins.h
17
* @ingroup PRIMALHEURISTICS
18
* @brief LNS heuristic that tries to delimit the search region to a neighborhood in the constraint graph
19
* @author Gregor Hendel
20
*
21
*
22
* Graph Induced Neighborhood Search (GINS) is a Large Neighborhood Search Heuristic that attempts to improve
23
* an incumbent solution by fixing a suitable percentage of integer variables to the incumbent and
24
* solving the resulting, smaller and presumably easier sub-MIP.
25
*
26
* Its search neighborhoods are based on distances in a bipartite graph \f$G\f$ with the variables and constraints as nodes and
27
* an edge between a variable and a constraint, if the variable is part of the constraint.
28
* Given an integer \f$k\f$, the \f$k\f$-neighborhood of a variable \f$v\f$ in \f$G\f$ is the set of variables, whose nodes
29
* are connected to \f$v\f$ by a path not longer than \f$2 \cdot k\f$. Intuitively, a judiciously chosen neighborhood size
30
* allows to consider a local portion of the overall problem.
31
*
32
* An initial variable selection is made by randomly sampling different neighborhoods across the whole main problem.
33
* The neighborhood that offers the largest potential for improvement is selected to become the local search neighborhood,
34
* while all variables outside the neighborhood are fixed to their incumbent solution values.
35
*
36
* GINS also supports a rolling horizon approach, during which several local neighborhoods are considered
37
* with increasing distance to the variable selected for the initial sub-problem. The rolling horizon approach ends
38
* if no improvement could be found or a sufficient part of the problem component variables has been part of
39
* at least one neighborhood.
40
*/
41
42
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
43
44
#ifndef __SCIP_HEUR_GINS_H__
45
#define __SCIP_HEUR_GINS_H__
46
47
#include "
scip/scip.h
"
48
49
#ifdef __cplusplus
50
extern
"C"
{
51
#endif
52
53
/** creates the gins primal heuristic and includes it in SCIP
54
*
55
* @ingroup PrimalHeuristicIncludes
56
*/
57
extern
58
SCIP_RETCODE
SCIPincludeHeurGins
(
59
SCIP
*
scip
/**< SCIP data structure */
60
);
61
62
#ifdef __cplusplus
63
}
64
#endif
65
66
#endif
SCIPincludeHeurGins
SCIP_RETCODE SCIPincludeHeurGins(SCIP *scip)
Definition:
heur_gins.c:1792
Scip
Definition:
struct_scip.h:58
SCIP_RETCODE
enum SCIP_Retcode SCIP_RETCODE
Definition:
type_retcode.h:53
scip
Definition:
objbranchrule.h:33
scip.h
SCIP callable library.