Scippy

SCIP

Solving Constraint Integer Programs

event_estim.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 event_estim.h
17  * @ingroup EVENTS
18  * @brief event handler for tree size estimation and restarts
19  *
20  * This event handler plugin provides different methods for approximating the current fraction of the search
21  * that has already been completed and for estimating the total tree size at completion.
22  * It can trigger restarts of the current run if the current run seems hopeless.
23  *
24  * For details about the available approximations of search completion, please see
25  *
26  * Anderson, Hendel, Le Bodic, Pfetsch
27  * Estimating The Size of Branch-and-Bound Trees
28  * under preparation
29  *
30  * This code is a largely enriched version of a code that was used for clairvoyant restarts, see
31  *
32  * Anderson, Hendel, Le Bodic, Viernickel
33  * Clairvoyant Restarts in Branch-and-Bound Search Using Online Tree-Size Estimation
34  * AAAI-19: Proceedings of the Thirty-Third AAAI Conference on Artificial Intelligence, 2018
35  *
36  * @author Gregor Hendel
37  */
38 
39 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
40 
41 #ifndef __SCIP_EVENT_ESTIM_H__
42 #define __SCIP_EVENT_ESTIM_H__
43 
44 
45 #include "scip/type_scip.h"
46 #include "scip/def.h"
47 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
52 /** creates event handler for tree size estimation */
55  SCIP* scip /**< SCIP data structure */
56  );
57 
58 /* return an estimation of the final tree size */
61  SCIP* scip /**< SCIP data structure */
62  );
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 
68 #endif
#define SCIP_EXPORT
Definition: def.h:100
SCIP_EXPORT SCIP_Real SCIPgetTreesizeEstimation(SCIP *scip)
Definition: event_estim.c:3006
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
SCIP_EXPORT SCIP_RETCODE SCIPincludeEventHdlrEstim(SCIP *scip)
Definition: event_estim.c:2881
type definitions for SCIP&#39;s main datastructure
#define SCIP_Real
Definition: def.h:163
common defines and data types used in all packages of SCIP