Scippy

SCIP

Solving Constraint Integer Programs

heur_trysol.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-2022 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 visit scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file heur_trysol.h
17  * @ingroup PRIMALHEURISTICS
18  * @brief primal heuristic that tries a given solution
19  * @author Marc Pfetsch
20  *
21  * This heuristic takes a solution from somewhere else via the function SCIPheurPassSolTrySol(). It
22  * then tries to commit this solution. It is mainly used by cons_indicator, which tries to correct a
23  * given solution, but cannot directly submit this solution, because it is a constraint handler and
24  * not a heuristic.
25  */
26 
27 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
28 
29 #ifndef __SCIP_HEUR_TRYSOL_H__
30 #define __SCIP_HEUR_TRYSOL_H__
31 
32 #include "scip/def.h"
33 #include "scip/type_heur.h"
34 #include "scip/type_retcode.h"
35 #include "scip/type_scip.h"
36 #include "scip/type_sol.h"
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 /** creates the trysol primal heuristic and includes it in SCIP
43  *
44  * @ingroup PrimalHeuristicIncludes
45  */
46 SCIP_EXPORT
48  SCIP* scip /**< SCIP data structure */
49  );
50 
51 /**@addtogroup PRIMALHEURISTICS
52  *
53  * @{
54  */
55 
56 /** pass solution to trysol heuristic */
57 SCIP_EXPORT
59  SCIP* scip, /**< SCIP data structure */
60  SCIP_HEUR* heur, /**< trysol heuristic */
61  SCIP_SOL* sol /**< solution to be passed */
62  );
63 
64 /** pass solution to trysol heuristic which just gets added (without checking feasibility */
65 SCIP_EXPORT
67  SCIP* scip, /**< SCIP data structure */
68  SCIP_HEUR* heur, /**< trysol heuristic */
69  SCIP_SOL* sol /**< solution to be passed */
70  );
71 
72 /** @} */
73 
74 #ifdef __cplusplus
75 }
76 #endif
77 
78 #endif
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
type definitions for return codes for SCIP methods
SCIP_RETCODE SCIPheurPassSolAddSol(SCIP *scip, SCIP_HEUR *heur, SCIP_SOL *sol)
Definition: heur_trysol.c:284
SCIP_RETCODE SCIPheurPassSolTrySol(SCIP *scip, SCIP_HEUR *heur, SCIP_SOL *sol)
Definition: heur_trysol.c:243
SCIP_RETCODE SCIPincludeHeurTrySol(SCIP *scip)
Definition: heur_trysol.c:213
type definitions for primal heuristics
type definitions for SCIP&#39;s main datastructure
type definitions for storing primal CIP solutions
common defines and data types used in all packages of SCIP