SCIP Doxygen Documentation
Loading...
Searching...
No Matches
heur_rens.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-2025 Zuse Institute Berlin (ZIB) */
7
/* */
8
/* Licensed under the Apache License, Version 2.0 (the "License"); */
9
/* you may not use this file except in compliance with the License. */
10
/* You may obtain a copy of the License at */
11
/* */
12
/* http://www.apache.org/licenses/LICENSE-2.0 */
13
/* */
14
/* Unless required by applicable law or agreed to in writing, software */
15
/* distributed under the License is distributed on an "AS IS" BASIS, */
16
/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17
/* See the License for the specific language governing permissions and */
18
/* limitations under the License. */
19
/* */
20
/* You should have received a copy of the Apache-2.0 license */
21
/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22
/* */
23
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25
/**@file heur_rens.h
26
* @ingroup PRIMALHEURISTICS
27
* @brief LNS heuristic that finds the optimal rounding to a given point
28
* @author Timo Berthold
29
*
30
* RENS is a large neighborhood search start heuristic, i.e., unlike other LNS heuristics, it does not need a known
31
* feasible solution. It solves a sub-SCIP that is created by fixing variables which take an integral value in a given
32
* LP or NLP solution. For the remaining integer variables, the bounds get tightened to the two nearest integral values.
33
*/
34
35
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
36
37
#ifndef __SCIP_HEUR_RENS_H__
38
#define __SCIP_HEUR_RENS_H__
39
40
#include "
scip/def.h
"
41
#include "
scip/type_heur.h
"
42
#include "
scip/type_result.h
"
43
#include "
scip/type_retcode.h
"
44
#include "
scip/type_scip.h
"
45
46
#ifdef __cplusplus
47
extern
"C"
{
48
#endif
49
50
/** creates RENS primal heuristic and includes it in SCIP
51
*
52
* @ingroup PrimalHeuristicIncludes
53
*/
54
SCIP_EXPORT
55
SCIP_RETCODE
SCIPincludeHeurRens
(
56
SCIP
*
scip
/**< SCIP data structure */
57
);
58
59
/**@addtogroup PRIMALHEURISTICS
60
*
61
* @{
62
*/
63
64
/** main procedure of the RNS heuristic, creates and solves a sub-SCIP */
65
SCIP_EXPORT
66
SCIP_RETCODE
SCIPapplyRens
(
67
SCIP
*
scip
,
/**< original SCIP data structure */
68
SCIP_HEUR
* heur,
/**< heuristic data structure */
69
SCIP_RESULT
*
result
,
/**< result data structure */
70
SCIP_Real
minfixingrate,
/**< minimum percentage of integer variables that have to be fixed */
71
SCIP_Real
minimprove,
/**< factor by which RENS should at least improve the incumbent */
72
SCIP_Longint
maxnodes,
/**< maximum number of nodes for the subproblem */
73
SCIP_Longint
nstallnodes,
/**< number of stalling nodes for the subproblem */
74
char
startsol,
/**< solution used for fixing values ('l'p relaxation, 'n'lp relaxation) */
75
SCIP_Bool
binarybounds,
/**< should general integers get binary bounds [floor(.),ceil(.)]? */
76
SCIP_Bool
uselprows
/**< should subproblem be created out of the rows in the LP rows? */
77
);
78
79
/** @} */
80
81
#ifdef __cplusplus
82
}
83
#endif
84
85
#endif
def.h
common defines and data types used in all packages of SCIP
SCIP_Longint
#define SCIP_Longint
Definition
def.h:157
SCIP_Bool
#define SCIP_Bool
Definition
def.h:91
SCIP_Real
#define SCIP_Real
Definition
def.h:172
SCIPapplyRens
SCIP_RETCODE SCIPapplyRens(SCIP *scip, SCIP_HEUR *heur, SCIP_RESULT *result, SCIP_Real minfixingrate, SCIP_Real minimprove, SCIP_Longint maxnodes, SCIP_Longint nstallnodes, char startsol, SCIP_Bool binarybounds, SCIP_Bool uselprows)
Definition
heur_rens.c:595
SCIPincludeHeurRens
SCIP_RETCODE SCIPincludeHeurRens(SCIP *scip)
Definition
heur_rens.c:811
result
* result
Definition
heur_actconsdiving.c:293
scip
Definition
objbenders.h:44
type_heur.h
type definitions for primal heuristics
SCIP_HEUR
struct SCIP_Heur SCIP_HEUR
Definition
type_heur.h:76
type_result.h
result codes for SCIP callback methods
SCIP_RESULT
enum SCIP_Result SCIP_RESULT
Definition
type_result.h:61
type_retcode.h
type definitions for return codes for SCIP methods
SCIP_RETCODE
enum SCIP_Retcode SCIP_RETCODE
Definition
type_retcode.h:63
type_scip.h
type definitions for SCIP's main datastructure
SCIP
struct Scip SCIP
Definition
type_scip.h:39
heur_rens.h
© 2002-2025 by Zuse Institute Berlin (ZIB),
Imprint
Generated by
1.13.2