Scippy

SCIP

Solving Constraint Integer Programs

scip.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-2020 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.h
17  * @ingroup PUBLICCOREAPI
18  * @brief SCIP callable library
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  */
26 
27 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
28 
29 #ifndef __SCIP_SCIP_H__
30 #define __SCIP_SCIP_H__
31 
32 
33 #include <stdio.h>
34 
35 #include "scip/def.h"
36 #include "blockmemshell/memory.h"
37 #include "scip/type_retcode.h"
38 #include "scip/type_result.h"
39 #include "scip/type_clock.h"
40 #include "scip/type_misc.h"
41 #include "scip/type_timing.h"
42 #include "scip/type_paramset.h"
43 #include "scip/type_event.h"
44 #include "scip/type_lp.h"
45 #include "scip/type_nlp.h"
46 #include "scip/type_var.h"
47 #include "scip/type_prob.h"
48 #include "scip/type_tree.h"
49 #include "scip/type_scip.h"
50 
51 #include "scip/type_bandit.h"
52 #include "scip/type_branch.h"
53 #include "scip/type_conflict.h"
54 #include "scip/type_cons.h"
55 #include "scip/type_dialog.h"
56 #include "scip/type_disp.h"
57 #include "scip/type_heur.h"
58 #include "scip/type_compr.h"
59 #include "scip/type_history.h"
60 #include "scip/type_nodesel.h"
61 #include "scip/type_presol.h"
62 #include "scip/type_pricer.h"
63 #include "scip/type_reader.h"
64 #include "scip/type_relax.h"
65 #include "scip/type_reopt.h"
66 #include "scip/type_sepa.h"
67 #include "scip/type_table.h"
68 #include "scip/type_prop.h"
69 #include "nlpi/type_nlpi.h"
70 #include "scip/type_concsolver.h"
71 #include "scip/type_syncstore.h"
72 #include "scip/type_benders.h"
73 #include "scip/type_benderscut.h"
74 
75 /* include public interfaces, s.t. the user only needs to include scip.h */
76 #include "scip/pub_bandit.h"
77 #include "scip/pub_benders.h"
78 #include "scip/pub_benderscut.h"
79 #include "scip/pub_branch.h"
80 #include "scip/pub_conflict.h"
81 #include "scip/pub_cons.h"
82 #include "scip/pub_cutpool.h"
83 #include "scip/pub_dcmp.h"
84 #include "scip/pub_dialog.h"
85 #include "scip/pub_disp.h"
86 #include "scip/pub_event.h"
87 #include "scip/pub_fileio.h"
88 #include "scip/pub_heur.h"
89 #include "scip/pub_compr.h"
90 #include "scip/pub_history.h"
91 #include "scip/pub_implics.h"
92 #include "scip/pub_lp.h"
93 #include "scip/pub_nlp.h"
94 #include "scip/pub_matrix.h"
95 #include "scip/pub_message.h"
96 #include "scip/pub_misc.h"
97 #include "scip/pub_nodesel.h"
98 #include "scip/pub_paramset.h"
99 #include "scip/pub_presol.h"
100 #include "scip/pub_pricer.h"
101 #include "scip/pub_reader.h"
102 #include "scip/pub_relax.h"
103 #include "scip/pub_reopt.h"
104 #include "scip/pub_sepa.h"
105 #include "scip/pub_prop.h"
106 #include "scip/pub_sol.h"
107 #include "scip/pub_table.h"
108 #include "scip/pub_tree.h"
109 #include "scip/pub_var.h"
110 #include "lpi/lpi.h"
111 #include "nlpi/pub_expr.h"
112 
113 /* include global presolving, cuts, and heuristics methods */
114 #include "scip/presolve.h"
115 #include "scip/cuts.h"
116 #include "scip/heuristics.h"
117 
118 #include "scip/scip_bandit.h"
119 #include "scip/scip_benders.h"
120 #include "scip/scip_branch.h"
121 #include "scip/scip_compr.h"
122 #include "scip/scip_concurrent.h"
123 #include "scip/scip_conflict.h"
124 #include "scip/scip_cons.h"
125 #include "scip/scip_copy.h"
126 #include "scip/scip_cut.h"
128 #include "scip/scip_debug.h"
129 #include "scip/scip_dcmp.h"
130 #include "scip/scip_dialog.h"
131 #include "scip/scip_disp.h"
132 #include "scip/scip_event.h"
133 #include "scip/scip_expr.h"
134 #include "scip/scip_general.h"
135 #include "scip/scip_heur.h"
136 #include "scip/scip_lp.h"
137 #include "scip/scip_mem.h"
138 #include "scip/scip_message.h"
139 #include "scip/scip_nlp.h"
140 #include "scip/scip_nodesel.h"
141 #include "scip/scip_nonlinear.h"
142 #include "scip/scip_numerics.h"
143 #include "scip/scip_param.h"
144 #include "scip/scip_presol.h"
145 #include "scip/scip_pricer.h"
146 #include "scip/scip_prob.h"
147 #include "scip/scip_probing.h"
148 #include "scip/scip_prop.h"
149 #include "scip/scip_randnumgen.h"
150 #include "scip/scip_reader.h"
151 #include "scip/scip_relax.h"
152 #include "scip/scip_reopt.h"
153 #include "scip/scip_sepa.h"
154 #include "scip/scip_sol.h"
155 #include "scip/scip_solve.h"
156 #include "scip/scip_solvingstats.h"
157 #include "scip/scip_table.h"
158 #include "scip/scip_timing.h"
159 #include "scip/scip_tree.h"
160 #include "scip/scip_validation.h"
161 #include "scip/scip_var.h"
162 
163 
164 #endif
public methods for relaxator plugins
public methods for SCIP parameter handling
public methods for branching and inference history structure
public methods for branch and bound tree
type definitions for miscellaneous datastructures
timing definitions for SCIP
public methods for node selector plugins
type definitions for NLP management
public methods for memory management
public methods for implications, variable bounds, and cliques
public methods for compression plugins
public methods for conflict handler plugins and conflict analysis
public solving methods
public methods for timing
interface methods for specific LP solvers
public methods for presolving plugins
public methods for Benders&#39; decomposition
methods for the aggregation rows
methods commonly used by primal heuristics
public methods for displaying runtime statistics
public methods for problem variables
public methods for reoptimization
public methods for validation
type definitions for return codes for SCIP methods
public methods for branching rules
type definitions for presolvers
public methods for SCIP variables
type definitions for collecting reoptimization information
public methods for separator plugins
type definitions for branching rules
public methods for numerical tolerances
public methods for expressions, expression trees, expression graphs, and related stuff ...
type definitions for LP management
public methods for querying solving statistics
public methods for the branch-and-bound tree
public methods for decompositions
public methods for reoptimization
public methods for handling parameter settings
public methods for managing constraints
public methods for displaying statistic tables
type definitions for variable pricers
public methods for Benders decomposition
type definitions for primal heuristics
public methods for event handler plugins and event handlers
public methods for nonlinear functions
type definitions for SCIP&#39;s main datastructure
public methods for expression handlers
type definitions for bandit selection algorithms
public methods for problem copies
public methods for primal CIP solutions
type definitions for problem variables
type definitions for relaxators
type definitions for conflict analysis
type definitions for managing events
public methods for primal heuristic plugins and divesets
public methods for constraint handler plugins and constraints
public methods for NLP management
public methods for node selectors
wrapper functions to map file i/o to standard or zlib file i/o
methods commonly used for presolving
public data structures and miscellaneous methods
public methods for storing cuts in a cut pool
type definitions for input file readers
public methods for concurrent solving mode
public methods for statistics table plugins
public methods for variable pricers
public methods for LP management
public methods for cuts and aggregation rows
public methods for bandit algorithms
type definitions for branch and bound tree
type definitions for Benders&#39; decomposition methods
type definitions for clocks and timing issues
public methods for matrix
type definitions for Benders&#39; decomposition cut
type definitions for storing and manipulating the main problem
public methods for the LP relaxation, rows and columns
public methods for variable pricer plugins
public methods for bandit algorithms
public methods for nonlinear relaxations
public methods for Benders&#39; decomposition cuts
type definitions for propagators
public methods for branching rule plugins and branching
public methods for presolvers
public methods for managing events
general public methods
the type definitions for the synchronization store
public methods for debugging
public methods for solutions
public methods for random numbers
type definitions for tree compression
public methods for conflict analysis handlers
public methods for the probing mode
public methods for tree compressions
type definitions for separators
public methods for message output
type definitions for handling parameter settings
type definitions for user interface dialog
public methods for relaxation handlers
result codes for SCIP callback methods
type definitions for branching and inference history
public methods for input file readers
public methods for message handling
public methods for data structures
public methods for dialog handler plugins
public methods for propagator plugins
public methods for separators
public methods for primal heuristics
common defines and data types used in all packages of SCIP
public methods for decompositions
type definitions for node selectors
public methods for reader plugins
public methods for global and local (sub)problems
public methods for user interface dialog
type definitions for displaying statistics tables
public methods for display handler plugins
type definitions for constraints and constraint handlers
public methods for propagators
type definitions for specific NLP solver interfaces
type definitions for concurrent solvers
type definitions for displaying runtime statistics
memory allocation routines