Scippy

SCIP

Solving Constraint Integer Programs

scip_validation.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-2019 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 scip.zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file scip_validation.h
17  * @ingroup PUBLICCOREAPI
18  * @brief public methods for validation
19  * @author Tobias Achterberg
20  * @author Timo Berthold
21  * @author Thorsten Koch
22  * @author Alexander Martin
23  * @author Marc Pfetsch
24  * @author Kati Wolter
25  * @author Gregor Hendel
26  * @author Robert Lion Gottwald
27  */
28 
29 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
30 
31 #ifndef __SCIP_SCIP_VALIDATION_H__
32 #define __SCIP_SCIP_VALIDATION_H__
33 
34 
35 #include "scip/def.h"
36 #include "scip/type_retcode.h"
37 #include "scip/type_scip.h"
38 
39 /* In debug mode, we include the SCIP's structure in scip.c, such that no one can access
40  * this structure except the interface methods in scip.c.
41  * In optimized mode, the structure is included in scip.h, because some of the methods
42  * are implemented as defines for performance reasons (e.g. the numerical comparisons).
43  * Additionally, the internal "set.h" is included, such that the defines in set.h are
44  * available in optimized mode.
45  */
46 #ifdef NDEBUG
47 #include "scip/struct_scip.h"
48 #include "scip/struct_stat.h"
49 #include "scip/set.h"
50 #include "scip/tree.h"
51 #include "scip/misc.h"
52 #include "scip/var.h"
53 #include "scip/cons.h"
54 #include "scip/solve.h"
55 #include "scip/debug.h"
56 #endif
57 
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61 
62 /**@addtogroup PublicValidationMethods
63  *
64  * @{
65  */
66 
67 /** validate the result of the solve
68  *
69  * the validation includes
70  *
71  * - checking the feasibility of the incumbent solution in the original problem (using SCIPcheckSolOrig())
72  *
73  * - checking if the objective bounds computed by SCIP agree with external primal and dual reference bounds.
74  *
75  * All external reference bounds the original problem space and the original objective sense.
76  *
77  * For infeasible problems, +/-SCIPinfinity() should be passed as reference bounds depending on the objective sense
78  * of the original problem.
79  */
80 extern
82  SCIP* scip, /**< SCIP data structure */
83  SCIP_Real primalreference, /**< external primal reference value for the problem, or SCIP_UNKNOWN */
84  SCIP_Real dualreference, /**< external dual reference value for the problem, or SCIP_UNKNOWN */
85  SCIP_Real reftol, /**< relative tolerance for acceptable violation of reference values */
86  SCIP_Bool quiet, /**< TRUE if no status line should be printed */
87  SCIP_Bool* feasible, /**< pointer to store if the best solution is feasible in the original problem,
88  * or NULL */
89  SCIP_Bool* primalboundcheck, /**< pointer to store if the primal bound respects the given dual reference
90  * value, or NULL */
91  SCIP_Bool* dualboundcheck /**< pointer to store if the dual bound respects the given primal reference
92  * value, or NULL */
93  );
94 
95 /**@} */
96 
97 #ifdef __cplusplus
98 }
99 #endif
100 
101 #endif
internal methods for branch and bound tree
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
type definitions for return codes for SCIP methods
type definitions for SCIP&#39;s main datastructure
internal miscellaneous methods
internal methods for global SCIP settings
SCIP main data structure.
internal methods for problem variables
#define SCIP_Bool
Definition: def.h:69
SCIP_RETCODE SCIPvalidateSolve(SCIP *scip, SCIP_Real primalreference, SCIP_Real dualreference, SCIP_Real reftol, SCIP_Bool quiet, SCIP_Bool *feasible, SCIP_Bool *primalboundcheck, SCIP_Bool *dualboundcheck)
methods for debugging
datastructures for problem statistics
internal methods for main solving loop and node processing
#define SCIP_Real
Definition: def.h:157
internal methods for constraints and constraint handlers
common defines and data types used in all packages of SCIP