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 type_reopt.h 17 * @brief type definitions for collecting reoptimization information 18 * @author Jakob Witzig 19 */ 20 21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 22 23 #ifndef __SCIP_TYPE_REOPT_H__ 24 #define __SCIP_TYPE_REOPT_H__ 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif 29 30 typedef struct SCIP_Reopt SCIP_REOPT; /**< reopt data */ 31 32 typedef struct SCIP_SolTree SCIP_SOLTREE; /**< tree to check solutions */ 33 34 typedef struct SCIP_SolNode SCIP_SOLNODE; /**< nodes of SCIP_SOLTREE */ 35 36 typedef struct SCIP_ReoptTree SCIP_REOPTTREE; /**< data structure to store the search tree */ 37 38 typedef struct SCIP_ReoptNode SCIP_REOPTNODE; /**< nodes of SCIP_REOPTTREE */ 39 40 typedef struct SCIP_ReoptNode SCIP_REPRESENTATIVE;/**< representatives of the search frontier */ 41 42 typedef struct SCIP_ReoptConsData SCIP_REOPTCONSDATA; /**< data for constraints to handle dual information \ 43 * within (mixed) binary programs 44 */ 45 46 /* type of nodes during reoptimization */ 47 enum SCIP_ReoptType 48 { 49 SCIP_REOPTTYPE_NONE = 0, /**< node is not part of the reoptimizationtree */ 50 SCIP_REOPTTYPE_TRANSIT = 1, /**< node is only needed for reconstructing the tree */ 51 SCIP_REOPTTYPE_INFSUBTREE = 2, /**< node contains dual reductions which leed to LP infeasibility */ 52 SCIP_REOPTTYPE_STRBRANCHED = 3, /**< node contains dual reductions */ 53 SCIP_REOPTTYPE_LOGICORNODE = 4, /**< node contains additional constraints */ 54 SCIP_REOPTTYPE_LEAF = 5, /**< node is a leaf node */ 55 SCIP_REOPTTYPE_PRUNED = 6, /**< node is a leaf node and pruned by boudning */ 56 SCIP_REOPTTYPE_FEASIBLE = 7 /**< node is a leaf node and has an integral optimal LP solution */ 57 }; 58 typedef enum SCIP_ReoptType SCIP_REOPTTYPE; /**< type nodes during reoptimization */ 59 60 enum Reopt_ConsType 61 { 62 REOPT_CONSTYPE_INFSUBTREE = 0, /**< constraint cutoffs an LP infeasible subtree */ 63 REOPT_CONSTYPE_DUALREDS = 1, /**< constraint reconstructs dual reductions */ 64 REOPT_CONSTYPE_CUT = 2, /**< constraint representing a cut, e.g., to separate a solution */ 65 REOPT_CONSTYPE_UNKNOWN = 3 /**< constraint was added by SCIP, e.g., a (local) conflict */ 66 }; 67 typedef enum Reopt_ConsType REOPT_CONSTYPE; /**< tye of constraunts added during reoptimization */ 68 69 #ifdef __cplusplus 70 } 71 #endif 72 73 #endif 74