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 branch_lookahead.h 17 * @ingroup BRANCHINGRULES 18 * @brief lookahead LP branching rule 19 * @author Christoph Schubert 20 * @author Gerald Gamrath 21 * 22 * The (multi-level) lookahead branching rule applies strong branching to every fractional value of the LP solution 23 * at the current node of the branch-and-bound tree, as well as recursivly to every temporary child problem created by this 24 * strong branching. The rule selects the candidate with the best proven dual bound. 25 * 26 * The branching rule was motivated by the following technical report: 27 * 28 * @par 29 * Wasu Glankwamdee and Jeff Linderoth@n 30 * Lookahead Branching for Mixed Integer Programming@n 31 * Technical Report 06T-004, Department of Industrial and Systems Engineering, Lehigh University. 32 * 33 * For a more mathematical description and a comparison between lookahead branching and other branching rules 34 * in SCIP, we refer to 35 * 36 * @par 37 * Christoph Schubert@n 38 * Multi-Level Lookahead Branching@n 39 * Master Thesis, Technische Universität Berlin, 2017@n 40 */ 41 42 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 43 44 #ifndef __SCIP_BRANCH_LOOKAHEAD_H__ 45 #define __SCIP_BRANCH_LOOKAHEAD_H__ 46 47 48 #include "scip/def.h" 49 #include "scip/type_retcode.h" 50 #include "scip/type_scip.h" 51 52 #ifdef __cplusplus 53 extern "C" { 54 #endif 55 56 /** creates the lookahead branching rule and includes it in SCIP */ 57 SCIP_EXPORT 58 SCIP_RETCODE SCIPincludeBranchruleLookahead( 59 SCIP* scip /**< SCIP data structure */ 60 ); 61 62 #ifdef __cplusplus 63 } 64 #endif 65 66 #endif 67