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_proximity.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_proximity.h
17
* @ingroup PRIMALHEURISTICS
18
* @brief improvement heuristic which uses an auxiliary objective instead of the original objective function which
19
* is itself added as a constraint to a sub-SCIP instance. The heuristic was presented by Matteo Fischetti
20
* and Michele Monaci
21
* @author Gregor Hendel
22
*/
23
24
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
25
26
#ifndef __SCIP_HEUR_PROXIMITY_H__
27
#define __SCIP_HEUR_PROXIMITY_H__
28
29
30
#include "
scip/scip.h
"
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
35
36
/** creates the proximity primal heuristic and includes it in SCIP
37
*
38
* @ingroup PrimalHeuristicIncludes
39
*/
40
extern
41
SCIP_RETCODE
SCIPincludeHeurProximity
(
42
SCIP
*
scip
/**< SCIP data structure */
43
);
44
45
/**@addtogroup PRIMALHEURISTICS
46
*
47
* @{
48
*/
49
50
/** main procedure of the proximity heuristic, creates and solves a sub-SCIP
51
*
52
* @note the method can be applied in an iterative way, keeping the same subscip in between. If the @p freesubscip
53
* parameter is set to FALSE, the heuristic will keep the subscip data structures. Always set this parameter
54
* to TRUE, or call SCIPdeleteSubproblemProximity() afterwards
55
*/
56
extern
57
SCIP_RETCODE
SCIPapplyProximity
(
58
SCIP
*
scip
,
/**< original SCIP data structure */
59
SCIP_HEUR
* heur,
/**< heuristic data structure */
60
SCIP_RESULT
* result,
/**< result data structure */
61
SCIP_Real
minimprove,
/**< factor by which proximity should at least improve the incumbent */
62
SCIP_Longint
nnodes
,
/**< node limit for the subproblem */
63
SCIP_Longint
nlpiters,
/**< LP iteration limit for the subproblem */
64
SCIP_Longint
* nusednodes,
/**< pointer to store number of used nodes in subscip */
65
SCIP_Longint
* nusedlpiters,
/**< pointer to store number of used LP iterations in subscip */
66
SCIP_Bool
freesubscip
/**< should the created sub-MIP be freed at the end of the method? */
67
);
68
69
/** frees the sub-MIP created by proximity */
70
extern
71
SCIP_RETCODE
SCIPdeleteSubproblemProximity
(
72
SCIP
*
scip
/** SCIP data structure */
73
);
74
75
/* @} */
76
77
#ifdef __cplusplus
78
}
79
#endif
80
81
#endif
SCIP_RESULT
enum SCIP_Result SCIP_RESULT
Definition:
type_result.h:52
Scip
Definition:
struct_scip.h:58
SCIPincludeHeurProximity
SCIP_RETCODE SCIPincludeHeurProximity(SCIP *scip)
Definition:
heur_proximity.c:988
SCIP_RETCODE
enum SCIP_Retcode SCIP_RETCODE
Definition:
type_retcode.h:53
SCIPdeleteSubproblemProximity
SCIP_RETCODE SCIPdeleteSubproblemProximity(SCIP *scip)
Definition:
heur_proximity.c:623
SCIP_Heur
Definition:
struct_heur.h:79
SCIP_Bool
#define SCIP_Bool
Definition:
def.h:61
SCIP_Real
#define SCIP_Real
Definition:
def.h:135
SCIP_Longint
#define SCIP_Longint
Definition:
def.h:120
nnodes
#define nnodes
Definition:
gastrans.c:65
SCIPapplyProximity
SCIP_RETCODE SCIPapplyProximity(SCIP *scip, SCIP_HEUR *heur, SCIP_RESULT *result, SCIP_Real minimprove, SCIP_Longint nnodes, SCIP_Longint nlpiters, SCIP_Longint *nusednodes, SCIP_Longint *nusedlpiters, SCIP_Bool freesubscip)
Definition:
heur_proximity.c:650
scip
Definition:
objbranchrule.h:33
scip.h
SCIP callable library.