Scippy

SCIP

Solving Constraint Integer Programs

struct_stat.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-2025 Zuse Institute Berlin (ZIB) */
7/* */
8/* Licensed under the Apache License, Version 2.0 (the "License"); */
9/* you may not use this file except in compliance with the License. */
10/* You may obtain a copy of the License at */
11/* */
12/* http://www.apache.org/licenses/LICENSE-2.0 */
13/* */
14/* Unless required by applicable law or agreed to in writing, software */
15/* distributed under the License is distributed on an "AS IS" BASIS, */
16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17/* See the License for the specific language governing permissions and */
18/* limitations under the License. */
19/* */
20/* You should have received a copy of the Apache-2.0 license */
21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22/* */
23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25/**@file struct_stat.h
26 * @ingroup INTERNALAPI
27 * @brief datastructures for problem statistics
28 * @author Tobias Achterberg
29 * @author Timo Berthold
30 * @author Stefan Heinz
31 * @author Gregor Hendel
32 * @author Gerald Gamrath
33 * @author Marc Pfetsch
34 * @author Stefan Vigerske
35 */
36
37/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
38
39#ifndef __SCIP_STRUCT_STAT_H__
40#define __SCIP_STRUCT_STAT_H__
41
42
43#include "scip/def.h"
44#include "scip/type_stat.h"
45#include "scip/type_clock.h"
46#include "scip/type_visual.h"
47#include "scip/type_history.h"
48#include "scip/type_var.h"
49#include "scip/type_lp.h"
50#include "scip/type_heur.h"
51#include "scip/type_relax.h"
52#include "scip/type_misc.h"
54#include "scip/type_rational.h"
55
56#ifdef __cplusplus
57extern "C" {
58#endif
59
60/** problem and runtime specific statistics */
62{
63 SCIP_REGRESSION* regressioncandsobjval;/**< linear regression of pairs (nbranchcands, lpobjval) for every node */
64 SCIP_Longint nlpiterations; /**< total number of LP iterations */
65 SCIP_Longint nrootlpiterations; /**< total number of LP iterations in root node */
66 SCIP_Longint nrootfirstlpiterations;/**< number of LP iterations for first LP solved at the root node */
67 SCIP_Longint nprimallpiterations;/**< number of iterations in primal simplex */
68 SCIP_Longint nduallpiterations; /**< number of iterations in dual simplex */
69 SCIP_Longint nlexduallpiterations;/**< number of iterations in lexicographic dual simplex */
70 SCIP_Longint nbarrierlpiterations;/**< number of iterations in barrier algorithm */
71 SCIP_Longint nprimalresolvelpiterations; /**< number of primal LP iterations with advanced start basis */
72 SCIP_Longint ndualresolvelpiterations; /**< number of dual LP iterations with advanced start basis */
73 SCIP_Longint nlexdualresolvelpiterations; /**< number of lexicographic dual LP iterations with advanced start basis */
74 SCIP_Longint nnodelpiterations; /**< number of iterations for totally solving node relaxations */
75 SCIP_Longint ninitlpiterations; /**< number of iterations for solving nodes' initial relaxations */
76 SCIP_Longint ndivinglpiterations;/**< number of iterations in diving and probing */
77 SCIP_Longint ndivesetlpiterations; /**< total number of LP iterations performed by divesets */
78 SCIP_Longint nsbdivinglpiterations;/**< number of iterations in probing mode for strong branching */
79 SCIP_Longint nsblpiterations; /**< number of simplex iterations used in strong branching */
80 SCIP_Longint nrootsblpiterations;/**< number of simplex iterations used in strong branching at the root node */
81 SCIP_Longint nconflictlpiterations;/**< number of simplex iterations used in conflict analysis */
82 SCIP_Longint nresolveinstablelps; /**< number of simplex resolves of instable LPs */
83 SCIP_Longint nresolveinstablelpiters; /**< number of simplex iterations used for resolving instable LPs */
84 SCIP_Longint nnodes; /**< number of nodes processed in current run (including focus node) */
85 SCIP_Longint ninternalnodes; /**< number of nodes processed in current run where a branching was performed */
86 SCIP_Longint nobjleaves; /**< number of leaf nodes processed that reached the cutoff bound */
87 SCIP_Longint nfeasleaves; /**< number of leaf nodes processed with feasible relaxation solution */
88 SCIP_Longint ninfeasleaves; /**< number of infeasible leaf nodes processed */
89 SCIP_Longint ntotalnodes; /**< total number of nodes processed in all runs (including focus node) */
90 SCIP_Longint ntotalinternalnodes;/**< total number of nodes processed in all runs where a branching was performed */
91 SCIP_Longint ntotalnodesmerged; /**< total number of nodes added ot the statistics of the main SCIP so far (see SCIPmergeStatistics) */
92 SCIP_Longint ncreatednodes; /**< total number of nodes created */
93 SCIP_Longint ncreatednodesrun; /**< number of nodes created in current run */
94 SCIP_Longint nactivatednodes; /**< number of times, a node got activated in current run */
95 SCIP_Longint ndeactivatednodes; /**< number of times, a node got deactivated in current run */
96 SCIP_Longint nearlybacktracks; /**< counter for early switches (if children dual bound is below reference value) */
97 SCIP_Longint nnodesaboverefbound;/**< counter for the number of focus nodes exceeding the reference bound */
98 SCIP_Longint nbacktracks; /**< number of times, the new node was chosen from the leaves queue */
99 SCIP_Longint ndelayedcutoffs; /**< number of times, the selected node was from a cut off subtree */
100 SCIP_Longint nreprops; /**< number of times, a solved node is repropagated again */
101 SCIP_Longint nrepropboundchgs; /**< number of bound changes generated in repropagating nodes */
102 SCIP_Longint nrepropcutoffs; /**< number of times, a repropagated node was cut off */
103 SCIP_Longint nlpsolsfound; /**< number of CIP-feasible LP solutions found so far */
104 SCIP_Longint nrelaxsolsfound; /**< number of CIP-feasible relaxation solutions found so far */
105 SCIP_Longint npssolsfound; /**< number of CIP-feasible pseudo solutions found so far */
106 SCIP_Longint nsbsolsfound; /**< number of CIP-feasible solutions found during strong branching so far */
107 SCIP_Longint nlpbestsolsfound; /**< number of new best CIP-feasible LP solutions found so far */
108 SCIP_Longint nrelaxbestsolsfound;/**< number of new best CIP-feasible relaxation solutions found so far */
109 SCIP_Longint npsbestsolsfound; /**< number of new best CIP-feasible pseudo solutions found so far */
110 SCIP_Longint nsbbestsolsfound; /**< number of new best CIP-feasible solutions found during strong branching so far */
111 SCIP_Longint nexternalsolsfound; /**< number of externally given CIP-feasible solutions (or new solutions found when transforming old ones) */
112 SCIP_Longint lastdispnode; /**< last node for which an information line was displayed */
113 SCIP_Longint lastdivenode; /**< last node where LP diving was applied */
114 SCIP_Longint lastconflictnode; /**< last node where conflict analysis was applied */
115 SCIP_Longint bestsolnode; /**< node number where the last incumbent solution was found */
116 SCIP_Longint domchgcount; /**< internal counter, where all domain changes are counted */
117 SCIP_Longint nboundchgs; /**< total number of bound changes generated in the tree */
118 SCIP_Longint nholechgs; /**< total number of hole changes generated in the tree */
119 SCIP_Longint nprobboundchgs; /**< total number of bound changes generated in the tree during probing */
120 SCIP_Longint nprobholechgs; /**< total number of hole changes generated in the tree during probing */
121 SCIP_Longint nsbdowndomchgs; /**< total number of domain changes generated at down children during strong branching */
122 SCIP_Longint nsbupdomchgs; /**< total number of domain changes generated at up children during strong branching */
123 SCIP_Longint nsbtimesiterlimhit; /**< total number of times that the strong branching iteration limit was hit */
124 SCIP_Longint nnodesbeforefirst; /**< number of nodes before first primal solution */
125 SCIP_Longint ninitconssadded; /**< total number of initial constraints added during the solve */
126 SCIP_Longint nactiveconssadded; /**< total number of active constraints added */
127 SCIP_Longint externmemestim; /**< estimation of external memory usage, e.g., by LP solver */
128 SCIP_Longint exprlastvisitedtag; /**< last used visited tag; used by expression iterators to identify expression that have been visited already */
129 SCIP_Longint exprlastsoltag; /**< last solution tag; used by expression evaluation to identify whether expression has been evaluated for given sol already */
130 SCIP_Longint exprlastdifftag; /**< last differentiation tag; used by expression differentiation to identify whether expression has been differentiated for given sol already */
131 SCIP_Real avgnnz; /**< average number of nonzeros per constraint in presolved problem */
132 SCIP_Real firstlpdualbound; /**< dual bound of root node computed by first LP solve (without cuts) */
133 SCIP_Real rootlowerbound; /**< lower bound of root node */
134 SCIP_Real vsidsweight; /**< current weight to use for updating VSIDS in history */
135 SCIP_Real firstprimalbound; /**< objective value of first primal solution */
136 SCIP_Real firstprimaltime; /**< time (in seconds) needed for first primal solution */
137 SCIP_Real firstsolgap; /**< solution gap when first solution is found */
138 SCIP_Real lastsolgap; /**< solution gap when last solution is found */
139 SCIP_Real primalzeroittime; /**< time used in primal simplex calls without iterations */
140 SCIP_Real dualzeroittime; /**< time used in dual simplex calls without iterations */
141 SCIP_Real barrierzeroittime; /**< time used in barrier calls without iterations */
142 SCIP_Real maxcopytime; /**< maxmimal time needed for copying a problem */
143 SCIP_Real mincopytime; /**< minimal time needed for copying a problem */
144 SCIP_Real firstlptime; /**< time needed to solve the very first LP in the root node */
145 SCIP_Real lastbranchvalue; /**< domain value of the last branching */
146 SCIP_Real dualrefintegral; /**< current reference-dual integral value */
147 SCIP_Real primalrefintegral; /**< current primal-reference integral value */
148 SCIP_Real primaldualintegral; /**< current primal-dual integral value */
149 SCIP_Real previousgap; /**< primal dual gap preceding the current gap */
150 SCIP_Real previousdualrefgap; /**< reference-dual gap preceding the current gap */
151 SCIP_Real previousprimalrefgap; /**< primal-reference gap preceding the current gap */
152 SCIP_Real previntegralevaltime;/**< last time of primal-dual integral evaluation */
153 SCIP_Real lastprimalbound; /**< last (non-infinite) primal bound (in transformed space) for integral evaluation */
154 SCIP_Real lastdualbound; /**< last (non-infinite) dual bound (in transformed space) for integral evaluation */
155 SCIP_Real lastlowerbound; /**< last lower bound (in transformed space) for integral evaluation */
156 SCIP_RATIONAL* lastlowerboundexact;/**< last lower bound (in transformed space) for integral evaluation */
157 SCIP_Real lastupperbound; /**< last upper bound (in transformed space) for integral evaluation */
158 SCIP_Real rootlpbestestimate; /**< best-estimate for final root LP solution that changes with every pseudo-cost update */
159 SCIP_Real referencebound; /**< objective bound for reference purposes */
160 SCIP_Real bestefficacy; /**< best efficacy of global pool cut seen so far */
161 SCIP_Real minefficacyfac; /**< factor of best efficacy to use as min efficacy */
162 SCIP_Real detertimecnt; /**< internal counter for deterministic time */
163 SCIP_Real boundingerrorbs; /**< aggregated error of all bound shift calls */
164 SCIP_Real boundingerrorps; /**< aggregated error of all project-and-shift calls */
165 SCIP_Real boundingerrorexlp; /**< aggregated error of all exact lp calls */
166 SCIP_Real timefailexlpinf; /**< time spent in exact lp that failed to prove infeasibility */
167 SCIP_Real timefailexlp; /**< time spent in exact lp that failed to prove bounds */
168 SCIP_CLOCK* solvingtime; /**< total time used for solving (including presolving) the current problem */
169 SCIP_CLOCK* solvingtimeoverall; /**< total time used for solving (including presolving) during reoptimization */
170 SCIP_CLOCK* presolvingtime; /**< total time used for presolving the current problem */
171 SCIP_CLOCK* presolvingtimeoverall;/**< total time used for presolving during reoptimization */
172 SCIP_CLOCK* primallptime; /**< primal LP solution time */
173 SCIP_CLOCK* duallptime; /**< dual LP solution time */
174 SCIP_CLOCK* lexduallptime; /**< lexicographic dual LP solution time */
175 SCIP_CLOCK* barrierlptime; /**< barrier LP solution time */
176 SCIP_CLOCK* resolveinstablelptime;/**< LP solution time for taking care of instable LPs */
177 SCIP_CLOCK* divinglptime; /**< diving and probing LP solution time */
178 SCIP_CLOCK* strongbranchtime; /**< strong branching time */
179 SCIP_CLOCK* conflictlptime; /**< conflict analysis LP solution time */
180 SCIP_CLOCK* provedfeaslptime; /**< time spent proving safe bounds using exact lp*/
181 SCIP_CLOCK* provedinfeaslptime; /**< time spent proving safe infeasibility using exact lp */
182 SCIP_CLOCK* provedfeasbstime; /**< time spent proving safe bounds using bound shift*/
183 SCIP_CLOCK* provedinfeasbstime; /**< time spent proving safe infeasibility using bound shift*/
184 SCIP_CLOCK* provedfeaspstime; /**< time spent proving safe bounds using bound project-and-shift*/
185 SCIP_CLOCK* provedinfeaspstime; /**< time spent proving safe infeasibility using project-and-shift*/
186 SCIP_CLOCK* lpsoltime; /**< time needed for storing feasible LP solutions */
187 SCIP_CLOCK* relaxsoltime; /**< time needed for storing feasible relaxation solutions */
188 SCIP_CLOCK* pseudosoltime; /**< time needed for storing feasible pseudo solutions */
189 SCIP_CLOCK* sbsoltime; /**< time needed for searching and storing feasible strong branching solutions */
190 SCIP_CLOCK* nodeactivationtime; /**< time needed for path switching and activating nodes */
191 SCIP_CLOCK* nlpsoltime; /**< time needed for solving NLPs */
192 SCIP_CLOCK* copyclock; /**< time needed for copying problems */
193 SCIP_CLOCK* strongpropclock; /**< time needed for propagation during strong branching */
194 SCIP_CLOCK* reoptupdatetime; /**< time needed for storing and recreating nodes and solutions for reoptimization */
195 SCIP_HISTORY* glbhistory; /**< global history information over all variables */
196 SCIP_HISTORY* glbhistorycrun; /**< global history information over all variables for current run */
197 SCIP_VAR* lastbranchvar; /**< last variable, that was branched on */
198 SCIP_VISUAL* visual; /**< visualization information */
199 SCIP_CERTIFICATE* certificate; /**< CERTIFICATE Tool information */
200 SCIP_HEUR* firstprimalheur; /**< heuristic which found the first primal solution */
201 SCIP_STATUS status; /**< SCIP solving status */
202 SCIP_BRANCHDIR lastbranchdir; /**< direction of the last branching */
203 SCIP_LPSOLSTAT lastsblpsolstats[2];/**< last LP solving statuses for variable strong branching */
204 SCIP_Longint nnz; /**< number of nonzeros in presolved problem */
205 SCIP_Longint lpcount; /**< internal counter, where all lp calls are counted; this includes the restored lps after diving and probing */
206 SCIP_Longint relaxcount; /**< internal counter, where all relax calls are counted */
207 SCIP_Longint nlps; /**< total number of LPs solved with at least 1 iteration */
208 SCIP_Longint nrootlps; /**< number of LPs solved at the root node with at least 1 iteration */
209 SCIP_Longint nprimallps; /**< number of primal LPs solved with at least 1 iteration */
210 SCIP_Longint nprimalzeroitlps; /**< number of primal LPs with 0 iterations */
211 SCIP_Longint nduallps; /**< number of dual LPs solved with at least 1 iteration */
212 SCIP_Longint ndualzeroitlps; /**< number of dual LPs with 0 iterations */
213 SCIP_Longint nlexduallps; /**< number of lexicographic dual LPs solved */
214 SCIP_Longint nbarrierlps; /**< number of barrier LPs solved with at least 1 iteration */
215 SCIP_Longint nbarrierzeroitlps; /**< number of barrier LPs with 1 iteration */
216 SCIP_Longint nprimalresolvelps; /**< number of primal LPs solved with advanced start basis and at least 1 iteration */
217 SCIP_Longint ndualresolvelps; /**< number of dual LPs solved with advanced start basis and at least 1 iteration */
218 SCIP_Longint nlexdualresolvelps; /**< number of lexicographic dual LPs solved with advanced start basis and at least 1 iteration */
219 SCIP_Longint nnodelps; /**< number of LPs solved for node relaxations */
220 SCIP_Longint nnodezeroitlps; /**< number of LPs solved with 0 iterations for node relaxations */
221 SCIP_Longint ninitlps; /**< number of LPs solved for nodes' initial relaxations */
222 SCIP_Longint ndivinglps; /**< number of LPs solved during diving and probing */
223 SCIP_Longint ndivesetlps; /**< total number of diveset LPs */
224 SCIP_Longint nsbdivinglps; /**< number of LPs solved during strong branching probing mode */
225 SCIP_Longint nnumtroublelpmsgs; /**< number of messages about numerical trouble in LP on verblevel HIGH or lower */
226 SCIP_Longint nstrongbranchs; /**< number of strong branching calls */
227 SCIP_Longint nrootstrongbranchs; /**< number of strong branching calls at the root node */
228 SCIP_Longint nconflictlps; /**< number of LPs solved during conflict analysis */
229 SCIP_Longint nexlpinf; /**< number of exact LPs solved to prove infeasibility */
230 SCIP_Longint nfailexlpinf; /**< number of exact LPs failed to prove infeasibility */
231 SCIP_Longint nexlp; /**< number of exact LPs solved for safe dual bounding */
232 SCIP_Longint nexlpinter; /**< number of exact LPs solved because of depth interleaving */
233 SCIP_Longint nexlpintfeas; /**< number of exact LPs solved for integrality polishing */
234 SCIP_Longint nexlpboundexc; /**< number of exact LPs solved because close to cutoff bound */
235 SCIP_Longint nfailexlp; /**< number of exact LPs failed to compute a safe dual bound */
236 SCIP_Longint nboundshift; /**< number of boundshift calls for feasible lp*/
237 SCIP_Longint nfailboundshift; /**< number of failed boundshift calls for feasible lp */
238 SCIP_Longint nboundshiftinf; /**< number of boundshift calls for infeasible lp */
239 SCIP_Longint nfailboundshiftinf; /**< number of failed boundshift calls for feasible lp */
240 SCIP_Longint nboundshiftobjlim; /**< number of boundshift calls for objlim */
241 SCIP_Longint nboundshiftobjlimfail; /**< number of failed boundshift calls for objlim */
242 SCIP_Longint nprojshift; /**< number of project-and-shift calls for feasible lp */
243 SCIP_Longint nfailprojshift; /**< number of failed project-and-shift calls for feasible lp */
244 SCIP_Longint nprojshiftinf; /**< number of project-and-shift calls for infeasible lp */
245 SCIP_Longint nfailprojshiftinf; /**< number of failed project-and-shift calls for infeasible lp */
246 SCIP_Longint nprojshiftobjlim; /**< number of project-and-shift calls for objlim */
247 SCIP_Longint nprojshiftobjlimfail; /**< number of failed project-and-shift calls for objlim */
248 SCIP_Longint niterationsexlp; /**< number of exact lp iterations attempting feasible dual bound */
249 SCIP_Longint niterationsexlpinf; /**< number of exact lp iterations attempting infeasibility proof */
250 SCIP_Longint nnlps; /**< number of NLPs solved */
251 SCIP_Longint nisstoppedcalls; /**< number of calls to SCIPsolveIsStopped() */
252 SCIP_Longint totaldivesetdepth; /**< the total probing depth over all diveset calls */
253 int subscipdepth; /**< depth of current scip instance (increased by each copy call) */
254 int ndivesetcalls; /**< total number of diveset diving calls */
255 int nruns; /**< number of branch and bound runs on current problem, including current run */
256 int ncutpoolfails; /**< number of fails in a cutpool to separate efficacious cuts */
257 int nconfrestarts; /**< number of restarts performed due to conflict analysis */
258 int nrootboundchgs; /**< total number of bound changes generated in the root node */
259 int nrootboundchgsrun; /**< total number of bound changes generated in the root node of current run */
260 int nrootintfixings; /**< total number of global fixings of integer variables */
261 int nrootintfixingsrun; /**< total number of global fixings of integer variables of current run */
262 int prevrunnvars; /**< number of variables in the previous run */
263 int nvaridx; /**< number of used variable indices */
264 int ncolidx; /**< number of used column indices */
265 int nrowidx; /**< number of used row indices */
266 int marked_nvaridx; /**< number of used variable indices before solving started */
267 int marked_ncolidx; /**< number of used column indices before solving started */
268 int marked_nrowidx; /**< number of used row indices before solving started */
269 int npricerounds; /**< number of pricing rounds performed in current node */
270 int nseparounds; /**< number of separation rounds performed in current node */
271 int ndisplines; /**< number of displayed information lines */
272 int maxdepth; /**< maximal depth of all processed nodes in current run */
273 int maxtotaldepth; /**< maximal depth of all processed nodes over all runs */
274 int plungedepth; /**< current plunging depth (successive times, a child was selected as next node) */
275 int nactiveconss; /**< total number of currently active constraints */
276 int nenabledconss; /**< total number of currently enabled constraints */
277 int nimplications; /**< total number of implications stored in the implication graph */
278 int npresolrounds; /**< number of presolving rounds in current run */
279 int npresolroundsfast; /**< number of fast presolving rounds in current run */
280 int npresolroundsmed; /**< number of medium presolving rounds in current run */
281 int npresolroundsext; /**< number of exhaustive presolving rounds in current run */
282 int npresolfixedvars; /**< number of presolving fixings in current run */
283 int npresolaggrvars; /**< number of presolving aggregations in current run */
284 int npresolchgvartypes; /**< number of presolving variable type changes in current run */
285 int npresolchgbds; /**< number of presolving bound changes in current run */
286 int npresoladdholes; /**< number of presolving hole additions in current run */
287 int npresoldelconss; /**< number of presolving constraint deletions in current run */
288 int npresoladdconss; /**< number of presolving constraint additions in current run */
289 int npresolupgdconss; /**< number of presolving constraint upgrades in current run */
290 int npresolchgcoefs; /**< number of presolving coefficient changes in current run */
291 int npresolchgsides; /**< number of presolving side changes in current run */
292 int lastnpresolfixedvars;/**< number of presolving fixings before presolving round */
293 int lastnpresolaggrvars;/**< number of presolving aggregations before presolving round */
294 int lastnpresolchgvartypes;/**< number of presolving variable type changes before presolving round */
295 int lastnpresolchgbds; /**< number of presolving bound changes before presolving round */
296 int lastnpresoladdholes;/**< number of presolving hole additions before presolving round */
297 int lastnpresoldelconss;/**< number of presolving constraint deletions before presolving round */
298 int lastnpresoladdconss;/**< number of presolving constraint additions before presolving round */
299 int lastnpresolupgdconss;/**< number of presolving constraint upgrades before presolving round */
300 int lastnpresolchgcoefs;/**< number of presolving coefficient changes before presolving round */
301 int lastnpresolchgsides;/**< number of presolving side changes before presolving round */
302#ifdef SCIP_DISABLED_CODE
303 int lastnpresolimplications;/**< number of implications before presolving round */
304 int lastnpresolcliques; /**< number of cliques before presolving round */
305#endif
306 int solindex; /**< consecutively numbered solution index */
307 int nrunsbeforefirst; /**< number of runs until first primal solution */
308 int firstprimaldepth; /**< depth in which first primal solution was found */
309 int ncopies; /**< counter how often SCIPcopy() was performed */
310 int nreoptruns; /**< number of reoptimization runs */
311 int nclockskipsleft; /**< how many times the timing should be skipped in SCIPsolveIsStopped() */
312 int nactiveexpriter; /**< number of active expression iterators */
313 SCIP_Bool memsavemode; /**< should algorithms be switched to memory saving mode? */
314 SCIP_Bool userinterrupt; /**< has the user asked to interrupt the solving process? */
315 SCIP_Bool userrestart; /**< has the user asked to restart the solving process? */
316 SCIP_Bool inrestart; /**< are we currently restarting the system? */
317 SCIP_Bool collectvarhistory; /**< should variable history statistics be collected */
318 SCIP_Bool performpresol; /**< indicates whether presolving is enabled */
319 SCIP_Bool branchedunbdvar; /**< indicates whether branching on an unbounded variable has been performed */
320 SCIP_Bool disableenforelaxmsg;/**< was disable enforelax message printed? */
321};
322
323#ifdef __cplusplus
324}
325#endif
326
327#endif
common defines and data types used in all packages of SCIP
#define SCIP_Longint
Definition: def.h:141
#define SCIP_Bool
Definition: def.h:91
#define SCIP_Real
Definition: def.h:156
SCIP_Real timefailexlpinf
Definition: struct_stat.h:166
SCIP_Longint nnlps
Definition: struct_stat.h:250
SCIP_Longint nlexdualresolvelpiterations
Definition: struct_stat.h:73
SCIP_Longint nexlpinter
Definition: struct_stat.h:232
SCIP_Longint ntotalnodesmerged
Definition: struct_stat.h:91
SCIP_STATUS status
Definition: struct_stat.h:201
SCIP_Longint nearlybacktracks
Definition: struct_stat.h:96
SCIP_Longint ndualresolvelpiterations
Definition: struct_stat.h:72
SCIP_Longint nfailboundshiftinf
Definition: struct_stat.h:239
SCIP_Real rootlowerbound
Definition: struct_stat.h:133
SCIP_Longint nboundshiftinf
Definition: struct_stat.h:238
SCIP_Longint nrootstrongbranchs
Definition: struct_stat.h:227
SCIP_Longint nprimalresolvelpiterations
Definition: struct_stat.h:71
SCIP_Bool inrestart
Definition: struct_stat.h:316
SCIP_Longint nactiveconssadded
Definition: struct_stat.h:126
int npresoladdholes
Definition: struct_stat.h:286
SCIP_Bool performpresol
Definition: struct_stat.h:318
int lastnpresolchgbds
Definition: struct_stat.h:295
SCIP_Longint nprojshiftinf
Definition: struct_stat.h:244
SCIP_Longint nprimallps
Definition: struct_stat.h:209
SCIP_Real dualrefintegral
Definition: struct_stat.h:146
SCIP_Real minefficacyfac
Definition: struct_stat.h:161
SCIP_Longint nrelaxsolsfound
Definition: struct_stat.h:104
SCIP_CLOCK * strongpropclock
Definition: struct_stat.h:193
SCIP_Longint nsbdowndomchgs
Definition: struct_stat.h:121
SCIP_Real previousgap
Definition: struct_stat.h:149
SCIP_Longint nprimalzeroitlps
Definition: struct_stat.h:210
SCIP_Real boundingerrorps
Definition: struct_stat.h:164
SCIP_Longint nreprops
Definition: struct_stat.h:100
SCIP_CLOCK * sbsoltime
Definition: struct_stat.h:189
SCIP_Real lastsolgap
Definition: struct_stat.h:138
SCIP_Longint nnodes
Definition: struct_stat.h:84
SCIP_Longint exprlastsoltag
Definition: struct_stat.h:129
SCIP_Longint nboundshift
Definition: struct_stat.h:236
SCIP_REGRESSION * regressioncandsobjval
Definition: struct_stat.h:63
int npresolupgdconss
Definition: struct_stat.h:289
SCIP_Longint nsblpiterations
Definition: struct_stat.h:79
SCIP_Longint ntotalnodes
Definition: struct_stat.h:89
SCIP_CLOCK * strongbranchtime
Definition: struct_stat.h:178
SCIP_Real previousdualrefgap
Definition: struct_stat.h:150
int ndivesetcalls
Definition: struct_stat.h:254
SCIP_Longint exprlastvisitedtag
Definition: struct_stat.h:128
SCIP_Bool disableenforelaxmsg
Definition: struct_stat.h:320
SCIP_CLOCK * barrierlptime
Definition: struct_stat.h:175
SCIP_Real dualzeroittime
Definition: struct_stat.h:140
SCIP_Longint nduallps
Definition: struct_stat.h:211
SCIP_Longint ninfeasleaves
Definition: struct_stat.h:88
SCIP_VAR * lastbranchvar
Definition: struct_stat.h:197
SCIP_Real avgnnz
Definition: struct_stat.h:131
SCIP_Longint nrepropcutoffs
Definition: struct_stat.h:102
SCIP_CLOCK * copyclock
Definition: struct_stat.h:192
int lastnpresolchgcoefs
Definition: struct_stat.h:300
SCIP_RATIONAL * lastlowerboundexact
Definition: struct_stat.h:156
SCIP_Longint nduallpiterations
Definition: struct_stat.h:68
SCIP_CLOCK * provedfeaslptime
Definition: struct_stat.h:180
int lastnpresoladdconss
Definition: struct_stat.h:298
int nclockskipsleft
Definition: struct_stat.h:311
SCIP_Longint ncreatednodesrun
Definition: struct_stat.h:93
SCIP_Longint ndelayedcutoffs
Definition: struct_stat.h:99
SCIP_CLOCK * nodeactivationtime
Definition: struct_stat.h:190
SCIP_Longint nlps
Definition: struct_stat.h:207
int lastnpresoldelconss
Definition: struct_stat.h:297
SCIP_CLOCK * reoptupdatetime
Definition: struct_stat.h:194
SCIP_Longint externmemestim
Definition: struct_stat.h:127
SCIP_Real lastlowerbound
Definition: struct_stat.h:155
SCIP_Longint ndualresolvelps
Definition: struct_stat.h:217
SCIP_Real rootlpbestestimate
Definition: struct_stat.h:158
SCIP_Longint nbarrierlpiterations
Definition: struct_stat.h:70
SCIP_Longint nfailprojshiftinf
Definition: struct_stat.h:245
SCIP_Longint nboundshiftobjlimfail
Definition: struct_stat.h:241
SCIP_Longint domchgcount
Definition: struct_stat.h:116
SCIP_Longint nnodelps
Definition: struct_stat.h:219
SCIP_Longint nconflictlps
Definition: struct_stat.h:228
SCIP_LPSOLSTAT lastsblpsolstats[2]
Definition: struct_stat.h:203
SCIP_Longint nnz
Definition: struct_stat.h:204
SCIP_CLOCK * divinglptime
Definition: struct_stat.h:177
SCIP_Longint nrootsblpiterations
Definition: struct_stat.h:80
SCIP_Longint ndivesetlpiterations
Definition: struct_stat.h:77
SCIP_Longint lpcount
Definition: struct_stat.h:205
SCIP_Longint nprobholechgs
Definition: struct_stat.h:120
SCIP_CLOCK * presolvingtime
Definition: struct_stat.h:170
int prevrunnvars
Definition: struct_stat.h:262
SCIP_Longint nrootfirstlpiterations
Definition: struct_stat.h:66
SCIP_Longint nbacktracks
Definition: struct_stat.h:98
SCIP_Real maxcopytime
Definition: struct_stat.h:142
SCIP_Longint ninitconssadded
Definition: struct_stat.h:125
int nseparounds
Definition: struct_stat.h:270
SCIP_Longint ndivesetlps
Definition: struct_stat.h:223
SCIP_CLOCK * provedinfeaspstime
Definition: struct_stat.h:185
SCIP_Real previousprimalrefgap
Definition: struct_stat.h:151
SCIP_Longint nlpiterations
Definition: struct_stat.h:64
SCIP_Longint nprimalresolvelps
Definition: struct_stat.h:216
SCIP_Longint exprlastdifftag
Definition: struct_stat.h:130
SCIP_Longint ndivinglpiterations
Definition: struct_stat.h:76
SCIP_CLOCK * nlpsoltime
Definition: struct_stat.h:191
int nconfrestarts
Definition: struct_stat.h:257
int firstprimaldepth
Definition: struct_stat.h:308
SCIP_Longint nfeasleaves
Definition: struct_stat.h:87
SCIP_Longint nsbsolsfound
Definition: struct_stat.h:106
int npricerounds
Definition: struct_stat.h:269
SCIP_CLOCK * solvingtimeoverall
Definition: struct_stat.h:169
int npresolroundsext
Definition: struct_stat.h:281
SCIP_Longint lastdivenode
Definition: struct_stat.h:113
SCIP_Longint nlexdualresolvelps
Definition: struct_stat.h:218
SCIP_Real detertimecnt
Definition: struct_stat.h:162
int npresolaggrvars
Definition: struct_stat.h:283
SCIP_HISTORY * glbhistory
Definition: struct_stat.h:195
SCIP_Longint ndeactivatednodes
Definition: struct_stat.h:95
int nrootboundchgs
Definition: struct_stat.h:258
int solindex
Definition: struct_stat.h:306
SCIP_Longint nprojshiftobjlimfail
Definition: struct_stat.h:247
SCIP_Longint nrepropboundchgs
Definition: struct_stat.h:101
SCIP_VISUAL * visual
Definition: struct_stat.h:198
SCIP_Longint nnodesaboverefbound
Definition: struct_stat.h:97
SCIP_Real firstlpdualbound
Definition: struct_stat.h:132
SCIP_Longint nlexduallpiterations
Definition: struct_stat.h:69
SCIP_Longint nrootlpiterations
Definition: struct_stat.h:65
SCIP_Longint nnumtroublelpmsgs
Definition: struct_stat.h:225
SCIP_CLOCK * resolveinstablelptime
Definition: struct_stat.h:176
SCIP_Longint relaxcount
Definition: struct_stat.h:206
int lastnpresolupgdconss
Definition: struct_stat.h:299
SCIP_Real firstprimaltime
Definition: struct_stat.h:136
int nrootintfixingsrun
Definition: struct_stat.h:261
SCIP_Longint nprojshiftobjlim
Definition: struct_stat.h:246
SCIP_Longint nlexduallps
Definition: struct_stat.h:213
SCIP_Longint ninternalnodes
Definition: struct_stat.h:85
SCIP_CLOCK * provedinfeasbstime
Definition: struct_stat.h:183
int ncutpoolfails
Definition: struct_stat.h:256
int nrootintfixings
Definition: struct_stat.h:260
SCIP_Longint nexlpintfeas
Definition: struct_stat.h:233
SCIP_Real firstsolgap
Definition: struct_stat.h:137
SCIP_Longint nexlp
Definition: struct_stat.h:231
SCIP_Real lastdualbound
Definition: struct_stat.h:154
SCIP_Longint lastdispnode
Definition: struct_stat.h:112
SCIP_Real vsidsweight
Definition: struct_stat.h:134
int marked_ncolidx
Definition: struct_stat.h:267
int npresolchgvartypes
Definition: struct_stat.h:284
SCIP_CLOCK * relaxsoltime
Definition: struct_stat.h:187
SCIP_Longint lastconflictnode
Definition: struct_stat.h:114
int nrunsbeforefirst
Definition: struct_stat.h:307
SCIP_Real primalrefintegral
Definition: struct_stat.h:147
int nactiveexpriter
Definition: struct_stat.h:312
SCIP_Real boundingerrorbs
Definition: struct_stat.h:163
SCIP_Longint ntotalinternalnodes
Definition: struct_stat.h:90
SCIP_Longint nobjleaves
Definition: struct_stat.h:86
SCIP_HEUR * firstprimalheur
Definition: struct_stat.h:200
SCIP_Real referencebound
Definition: struct_stat.h:159
SCIP_CLOCK * duallptime
Definition: struct_stat.h:173
SCIP_BRANCHDIR lastbranchdir
Definition: struct_stat.h:202
SCIP_CLOCK * pseudosoltime
Definition: struct_stat.h:188
SCIP_Longint nexlpinf
Definition: struct_stat.h:229
SCIP_Longint nprojshift
Definition: struct_stat.h:242
SCIP_Longint nboundshiftobjlim
Definition: struct_stat.h:240
SCIP_CLOCK * presolvingtimeoverall
Definition: struct_stat.h:171
int npresoldelconss
Definition: struct_stat.h:287
SCIP_Longint nnodesbeforefirst
Definition: struct_stat.h:124
int marked_nrowidx
Definition: struct_stat.h:268
SCIP_Bool userrestart
Definition: struct_stat.h:315
int marked_nvaridx
Definition: struct_stat.h:266
SCIP_Longint nlpbestsolsfound
Definition: struct_stat.h:107
SCIP_Longint nboundchgs
Definition: struct_stat.h:117
int lastnpresolfixedvars
Definition: struct_stat.h:292
SCIP_CLOCK * provedfeaspstime
Definition: struct_stat.h:184
int npresolchgbds
Definition: struct_stat.h:285
int npresolroundsfast
Definition: struct_stat.h:279
SCIP_Real firstlptime
Definition: struct_stat.h:144
int nrootboundchgsrun
Definition: struct_stat.h:259
SCIP_Longint nfailexlp
Definition: struct_stat.h:235
SCIP_Longint ndivinglps
Definition: struct_stat.h:222
SCIP_Longint nholechgs
Definition: struct_stat.h:118
SCIP_Longint nrelaxbestsolsfound
Definition: struct_stat.h:108
int nenabledconss
Definition: struct_stat.h:276
SCIP_Real bestefficacy
Definition: struct_stat.h:160
SCIP_Longint npsbestsolsfound
Definition: struct_stat.h:109
int lastnpresoladdholes
Definition: struct_stat.h:296
SCIP_Real lastupperbound
Definition: struct_stat.h:157
SCIP_Real barrierzeroittime
Definition: struct_stat.h:141
SCIP_Longint niterationsexlpinf
Definition: struct_stat.h:249
int npresolchgcoefs
Definition: struct_stat.h:290
SCIP_Longint totaldivesetdepth
Definition: struct_stat.h:252
SCIP_Longint ninitlps
Definition: struct_stat.h:221
SCIP_Bool memsavemode
Definition: struct_stat.h:313
int maxdepth
Definition: struct_stat.h:272
int lastnpresolchgvartypes
Definition: struct_stat.h:294
SCIP_Longint nresolveinstablelps
Definition: struct_stat.h:82
SCIP_Real previntegralevaltime
Definition: struct_stat.h:152
SCIP_Bool collectvarhistory
Definition: struct_stat.h:317
SCIP_Longint nexternalsolsfound
Definition: struct_stat.h:111
SCIP_Longint nisstoppedcalls
Definition: struct_stat.h:251
int maxtotaldepth
Definition: struct_stat.h:273
SCIP_Longint niterationsexlp
Definition: struct_stat.h:248
SCIP_Longint ndualzeroitlps
Definition: struct_stat.h:212
SCIP_Longint nfailboundshift
Definition: struct_stat.h:237
SCIP_Longint nrootlps
Definition: struct_stat.h:208
SCIP_Real boundingerrorexlp
Definition: struct_stat.h:165
int ndisplines
Definition: struct_stat.h:271
SCIP_CERTIFICATE * certificate
Definition: struct_stat.h:199
SCIP_Longint nsbdivinglps
Definition: struct_stat.h:224
SCIP_Longint nexlpboundexc
Definition: struct_stat.h:234
SCIP_Longint nnodelpiterations
Definition: struct_stat.h:74
SCIP_Real lastprimalbound
Definition: struct_stat.h:153
SCIP_Longint nactivatednodes
Definition: struct_stat.h:94
SCIP_HISTORY * glbhistorycrun
Definition: struct_stat.h:196
int plungedepth
Definition: struct_stat.h:274
SCIP_Longint bestsolnode
Definition: struct_stat.h:115
SCIP_Longint nsbbestsolsfound
Definition: struct_stat.h:110
SCIP_Longint nsbtimesiterlimhit
Definition: struct_stat.h:123
int nreoptruns
Definition: struct_stat.h:310
SCIP_Real primalzeroittime
Definition: struct_stat.h:139
SCIP_CLOCK * primallptime
Definition: struct_stat.h:172
int npresoladdconss
Definition: struct_stat.h:288
SCIP_CLOCK * provedinfeaslptime
Definition: struct_stat.h:181
SCIP_Longint nfailexlpinf
Definition: struct_stat.h:230
SCIP_Longint nnodezeroitlps
Definition: struct_stat.h:220
int nimplications
Definition: struct_stat.h:277
SCIP_Longint nconflictlpiterations
Definition: struct_stat.h:81
int npresolroundsmed
Definition: struct_stat.h:280
SCIP_Real timefailexlp
Definition: struct_stat.h:167
SCIP_Longint nstrongbranchs
Definition: struct_stat.h:226
SCIP_Longint nfailprojshift
Definition: struct_stat.h:243
SCIP_Real mincopytime
Definition: struct_stat.h:143
SCIP_Longint npssolsfound
Definition: struct_stat.h:105
SCIP_Longint nbarrierzeroitlps
Definition: struct_stat.h:215
int lastnpresolchgsides
Definition: struct_stat.h:301
SCIP_CLOCK * provedfeasbstime
Definition: struct_stat.h:182
SCIP_CLOCK * lpsoltime
Definition: struct_stat.h:186
SCIP_Longint nprimallpiterations
Definition: struct_stat.h:67
SCIP_Bool branchedunbdvar
Definition: struct_stat.h:319
SCIP_CLOCK * solvingtime
Definition: struct_stat.h:168
int lastnpresolaggrvars
Definition: struct_stat.h:293
SCIP_Real primaldualintegral
Definition: struct_stat.h:148
SCIP_Longint nbarrierlps
Definition: struct_stat.h:214
int nactiveconss
Definition: struct_stat.h:275
SCIP_Longint nlpsolsfound
Definition: struct_stat.h:103
SCIP_Longint nsbupdomchgs
Definition: struct_stat.h:122
SCIP_Longint nresolveinstablelpiters
Definition: struct_stat.h:83
SCIP_Real lastbranchvalue
Definition: struct_stat.h:145
int npresolrounds
Definition: struct_stat.h:278
SCIP_Longint ninitlpiterations
Definition: struct_stat.h:75
SCIP_Bool userinterrupt
Definition: struct_stat.h:314
SCIP_Longint nprobboundchgs
Definition: struct_stat.h:119
int npresolchgsides
Definition: struct_stat.h:291
SCIP_Longint ncreatednodes
Definition: struct_stat.h:92
SCIP_CLOCK * conflictlptime
Definition: struct_stat.h:179
int subscipdepth
Definition: struct_stat.h:253
SCIP_Longint nsbdivinglpiterations
Definition: struct_stat.h:78
SCIP_Real firstprimalbound
Definition: struct_stat.h:135
SCIP_CLOCK * lexduallptime
Definition: struct_stat.h:174
int npresolfixedvars
Definition: struct_stat.h:282
type definitions for certificate output
type definitions for clocks and timing issues
type definitions for primal heuristics
type definitions for branching and inference history
enum SCIP_BranchDir SCIP_BRANCHDIR
Definition: type_history.h:48
type definitions for LP management
enum SCIP_LPSolStat SCIP_LPSOLSTAT
Definition: type_lp.h:52
type definitions for miscellaneous datastructures
type definitions for rational numbers
type definitions for relaxators
type definitions for problem statistics
enum SCIP_Status SCIP_STATUS
Definition: type_stat.h:64
type definitions for problem variables
type definitions for output for visualization tools (VBC, BAK)