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-2021 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 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 Leona 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 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
43 /**@addtogroup PublicValidationMethods
44  *
45  * @{
46  */
47 
48 /** validate the result of the solve
49  *
50  * the validation includes
51  *
52  * - checking the feasibility of the incumbent solution in the original problem (using SCIPcheckSolOrig())
53  *
54  * - checking if the objective bounds computed by SCIP agree with external primal and dual reference bounds.
55  *
56  * All external reference bounds the original problem space and the original objective sense.
57  *
58  * For infeasible problems, +/-SCIPinfinity() should be passed as reference bounds depending on the objective sense
59  * of the original problem.
60  */
63  SCIP* scip, /**< SCIP data structure */
64  SCIP_Real primalreference, /**< external primal reference value for the problem, or SCIP_UNKNOWN */
65  SCIP_Real dualreference, /**< external dual reference value for the problem, or SCIP_UNKNOWN */
66  SCIP_Real reftol, /**< relative tolerance for acceptable violation of reference values */
67  SCIP_Bool quiet, /**< TRUE if no status line should be printed */
68  SCIP_Bool* feasible, /**< pointer to store if the best solution is feasible in the original problem,
69  * or NULL */
70  SCIP_Bool* primalboundcheck, /**< pointer to store if the primal bound respects the given dual reference
71  * value, or NULL */
72  SCIP_Bool* dualboundcheck /**< pointer to store if the dual bound respects the given primal reference
73  * value, or NULL */
74  );
75 
76 /**@} */
77 
78 #ifdef __cplusplus
79 }
80 #endif
81 
82 #endif
SCIP_EXPORT 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)
#define SCIP_EXPORT
Definition: def.h:100
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
type definitions for return codes for SCIP methods
type definitions for SCIP&#39;s main datastructure
#define SCIP_Bool
Definition: def.h:70
#define SCIP_Real
Definition: def.h:163
common defines and data types used in all packages of SCIP