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 pub_conflict.h 17 * @ingroup PUBLICCOREAPI 18 * @brief public methods for conflict analysis handlers 19 * @author Tobias Achterberg 20 */ 21 22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 23 24 #ifndef __SCIP_PUB_CONFLICT_H__ 25 #define __SCIP_PUB_CONFLICT_H__ 26 27 28 29 #include "scip/def.h" 30 #include "scip/type_misc.h" 31 #include "scip/type_conflict.h" 32 33 #ifdef __cplusplus 34 extern "C" { 35 #endif 36 37 /**@addtogroup PublicConflictMethods 38 * 39 * @{ 40 */ 41 42 /** compares two conflict handlers w. r. to their priority */ 43 SCIP_EXPORT 44 SCIP_DECL_SORTPTRCOMP(SCIPconflicthdlrComp); 45 46 /** comparison method for sorting conflict handler w.r.t. to their name */ 47 SCIP_EXPORT 48 SCIP_DECL_SORTPTRCOMP(SCIPconflicthdlrCompName); 49 50 /** gets user data of conflict handler */ 51 SCIP_EXPORT 52 SCIP_CONFLICTHDLRDATA* SCIPconflicthdlrGetData( 53 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */ 54 ); 55 56 /** sets user data of conflict handler; user has to free old data in advance! */ 57 SCIP_EXPORT 58 void SCIPconflicthdlrSetData( 59 SCIP_CONFLICTHDLR* conflicthdlr, /**< conflict handler */ 60 SCIP_CONFLICTHDLRDATA* conflicthdlrdata /**< new conflict handler user data */ 61 ); 62 63 /** gets name of conflict handler */ 64 SCIP_EXPORT 65 const char* SCIPconflicthdlrGetName( 66 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */ 67 ); 68 69 /** gets description of conflict handler */ 70 SCIP_EXPORT 71 const char* SCIPconflicthdlrGetDesc( 72 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */ 73 ); 74 75 /** gets priority of conflict handler */ 76 SCIP_EXPORT 77 int SCIPconflicthdlrGetPriority( 78 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */ 79 ); 80 81 /** is conflict handler initialized? */ 82 SCIP_EXPORT 83 SCIP_Bool SCIPconflicthdlrIsInitialized( 84 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */ 85 ); 86 87 /** gets time in seconds used in this conflict handler for setting up for next stages */ 88 SCIP_EXPORT 89 SCIP_Real SCIPconflicthdlrGetSetupTime( 90 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */ 91 ); 92 93 /** gets time in seconds used in this conflict handler */ 94 SCIP_EXPORT 95 SCIP_Real SCIPconflicthdlrGetTime( 96 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */ 97 ); 98 99 /** @} */ 100 101 #ifdef __cplusplus 102 } 103 #endif 104 105 #endif 106