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)