Scippy

    SCIP

    Solving Constraint Integer Programs

    set.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 set.h
    26 * @ingroup INTERNALAPI
    27 * @brief internal methods for global SCIP settings
    28 * @author Tobias Achterberg
    29 * @author Timo Berthold
    30 */
    31
    32/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    33
    34#ifndef __SCIP_SET_H__
    35#define __SCIP_SET_H__
    36
    37
    38#include "scip/def.h"
    40#include "scip/type_bandit.h"
    41#include "scip/type_set.h"
    42#include "scip/type_stat.h"
    43#include "scip/type_clock.h"
    44#include "scip/type_paramset.h"
    45#include "scip/type_event.h"
    46#include "scip/type_scip.h"
    47#include "scip/type_branch.h"
    48#include "scip/type_conflict.h"
    49#include "scip/type_cons.h"
    50#include "scip/type_disp.h"
    51#include "scip/type_heur.h"
    52#include "scip/type_compr.h"
    53#include "scip/type_nodesel.h"
    54#include "scip/type_presol.h"
    55#include "scip/type_pricer.h"
    56#include "scip/type_reader.h"
    57#include "scip/type_relax.h"
    58#include "scip/type_sepa.h"
    59#include "scip/type_table.h"
    60#include "scip/type_prop.h"
    61#include "scip/type_benders.h"
    62#include "scip/struct_set.h"
    63
    64
    65#ifdef NDEBUG
    66#include "scip/pub_misc.h"
    67#endif
    68
    69#ifdef __cplusplus
    70extern "C" {
    71#endif
    72
    73/** copies plugins from sourcescip to targetscip; in case that a constraint handler which does not need constraints
    74 * cannot be copied, valid will return FALSE. All plugins can declare that, if their copy process failed, the
    75 * copied SCIP instance might not represent the same problem semantics as the original.
    76 * Note that in this case dual reductions might be invalid. */
    78 SCIP_SET* sourceset, /**< source SCIP_SET data structure */
    79 SCIP_SET* targetset, /**< target SCIP_SET data structure */
    80 SCIP_Bool copyreaders, /**< should the file readers be copied */
    81 SCIP_Bool copypricers, /**< should the variable pricers be copied */
    82 SCIP_Bool copyconshdlrs, /**< should the constraint handlers be copied */
    83 SCIP_Bool copyconflicthdlrs, /**< should the conflict handlers be copied */
    84 SCIP_Bool copypresolvers, /**< should the presolvers be copied */
    85 SCIP_Bool copyrelaxators, /**< should the relaxators be copied */
    86 SCIP_Bool copyseparators, /**< should the separators be copied */
    87 SCIP_Bool copycutselectors, /**< should the cut selectors be copied */
    88 SCIP_Bool copypropagators, /**< should the propagators be copied */
    89 SCIP_Bool copyheuristics, /**< should the heuristics be copied */
    90 SCIP_Bool copyeventhdlrs, /**< should the event handlers be copied */
    91 SCIP_Bool copynodeselectors, /**< should the node selectors be copied */
    92 SCIP_Bool copybranchrules, /**< should the branchrules be copied */
    93 SCIP_Bool copyiisfinders, /**< should the IIS finders be copied */
    94 SCIP_Bool copydisplays, /**< should the display columns be copied */
    95 SCIP_Bool copydialogs, /**< should the dialogs be copied */
    96 SCIP_Bool copytables, /**< should the statistics tables be copied */
    97 SCIP_Bool copyexprhdlrs, /**< should the expression handlers be copied */
    98 SCIP_Bool copynlpis, /**< should the NLP interfaces be copied */
    99 SCIP_Bool* allvalid /**< pointer to store whether all plugins were validly copied */
    100 );
    101
    102/** copies parameters from sourcescip to targetscip */
    104 SCIP_SET* sourceset, /**< source SCIP_SET data structure */
    105 SCIP_SET* targetset, /**< target SCIP_SET data structure */
    106 SCIP_MESSAGEHDLR* messagehdlr /**< message handler of target SCIP */
    107 );
    108
    109/** creates global SCIP settings */
    111 SCIP_SET** set, /**< pointer to SCIP settings */
    112 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    113 BMS_BLKMEM* blkmem, /**< block memory */
    114 SCIP* scip /**< SCIP data structure */
    115 );
    116
    117/** frees global SCIP settings */
    119 SCIP_SET** set, /**< pointer to SCIP settings */
    120 BMS_BLKMEM* blkmem /**< block memory */
    121 );
    122
    123/** returns current stage of SCIP */
    125 SCIP_SET* set /**< pointer to SCIP settings */
    126 );
    127
    128/** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
    130 SCIP_SET* set, /**< global SCIP settings */
    131 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    132 BMS_BLKMEM* blkmem, /**< block memory */
    133 const char* name, /**< name of the parameter */
    134 const char* desc, /**< description of the parameter */
    135 SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
    136 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    137 SCIP_Bool defaultvalue, /**< default value of the parameter */
    138 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    139 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    140 );
    141
    142/** creates a int parameter, sets it to its default value, and adds it to the parameter set */
    144 SCIP_SET* set, /**< global SCIP settings */
    145 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    146 BMS_BLKMEM* blkmem, /**< block memory */
    147 const char* name, /**< name of the parameter */
    148 const char* desc, /**< description of the parameter */
    149 int* valueptr, /**< pointer to store the current parameter value, or NULL */
    150 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    151 int defaultvalue, /**< default value of the parameter */
    152 int minvalue, /**< minimum value for parameter */
    153 int maxvalue, /**< maximum value for parameter */
    154 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    155 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    156 );
    157
    158/** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
    160 SCIP_SET* set, /**< global SCIP settings */
    161 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    162 BMS_BLKMEM* blkmem, /**< block memory */
    163 const char* name, /**< name of the parameter */
    164 const char* desc, /**< description of the parameter */
    165 SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
    166 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    167 SCIP_Longint defaultvalue, /**< default value of the parameter */
    168 SCIP_Longint minvalue, /**< minimum value for parameter */
    169 SCIP_Longint maxvalue, /**< maximum value for parameter */
    170 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    171 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    172 );
    173
    174/** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
    176 SCIP_SET* set, /**< global SCIP settings */
    177 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    178 BMS_BLKMEM* blkmem, /**< block memory */
    179 const char* name, /**< name of the parameter */
    180 const char* desc, /**< description of the parameter */
    181 SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
    182 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    183 SCIP_Real defaultvalue, /**< default value of the parameter */
    184 SCIP_Real minvalue, /**< minimum value for parameter */
    185 SCIP_Real maxvalue, /**< maximum value for parameter */
    186 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    187 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    188 );
    189
    190/** creates a char parameter, sets it to its default value, and adds it to the parameter set */
    192 SCIP_SET* set, /**< global SCIP settings */
    193 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    194 BMS_BLKMEM* blkmem, /**< block memory */
    195 const char* name, /**< name of the parameter */
    196 const char* desc, /**< description of the parameter */
    197 char* valueptr, /**< pointer to store the current parameter value, or NULL */
    198 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    199 char defaultvalue, /**< default value of the parameter */
    200 const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
    201 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    202 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    203 );
    204
    205/** creates a string parameter, sets it to its default value, and adds it to the parameter set */
    207 SCIP_SET* set, /**< global SCIP settings */
    208 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    209 BMS_BLKMEM* blkmem, /**< block memory */
    210 const char* name, /**< name of the parameter */
    211 const char* desc, /**< description of the parameter */
    212 char** valueptr, /**< pointer to store the current parameter value, or NULL */
    213 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    214 const char* defaultvalue, /**< default value of the parameter */
    215 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    216 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    217 );
    218
    219/** gets the fixing status value of an existing parameter */
    221 SCIP_SET* set, /**< global SCIP settings */
    222 const char* name /**< name of the parameter */
    223 );
    224
    225/** returns the pointer to the SCIP parameter with the given name */
    227 SCIP_SET* set, /**< global SCIP settings */
    228 const char* name /**< name of the parameter */
    229 );
    230
    231/** gets the value of an existing SCIP_Bool parameter */
    233 SCIP_SET* set, /**< global SCIP settings */
    234 const char* name, /**< name of the parameter */
    235 SCIP_Bool* value /**< pointer to store the parameter */
    236 );
    237
    238/** gets the value of an existing Int parameter */
    240 SCIP_SET* set, /**< global SCIP settings */
    241 const char* name, /**< name of the parameter */
    242 int* value /**< pointer to store the parameter */
    243 );
    244
    245/** gets the value of an existing SCIP_Longint parameter */
    247 SCIP_SET* set, /**< global SCIP settings */
    248 const char* name, /**< name of the parameter */
    249 SCIP_Longint* value /**< pointer to store the parameter */
    250 );
    251
    252/** gets the value of an existing SCIP_Real parameter */
    254 SCIP_SET* set, /**< global SCIP settings */
    255 const char* name, /**< name of the parameter */
    256 SCIP_Real* value /**< pointer to store the parameter */
    257 );
    258
    259/** gets the value of an existing Char parameter */
    261 SCIP_SET* set, /**< global SCIP settings */
    262 const char* name, /**< name of the parameter */
    263 char* value /**< pointer to store the parameter */
    264 );
    265
    266/** gets the value of an existing String parameter */
    268 SCIP_SET* set, /**< global SCIP settings */
    269 const char* name, /**< name of the parameter */
    270 char** value /**< pointer to store the parameter */
    271 );
    272
    273/** changes the fixing status of an existing parameter */
    275 SCIP_SET* set, /**< global SCIP settings */
    276 const char* name, /**< name of the parameter */
    277 SCIP_Bool fixed /**< new fixing status of the parameter */
    278 );
    279
    280/** changes the value of an existing SCIP_Bool parameter */
    282 SCIP_SET* set, /**< global SCIP settings */
    283 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    284 SCIP_PARAM* param, /**< parameter */
    285 SCIP_Bool value /**< new value of the parameter */
    286 );
    287
    288/** changes the value of an existing SCIP_Bool parameter */
    290 SCIP_SET* set, /**< global SCIP settings */
    291 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    292 const char* name, /**< name of the parameter */
    293 SCIP_Bool value /**< new value of the parameter */
    294 );
    295
    296/** changes the default value of an existing SCIP_Bool parameter */
    298 SCIP_SET* set, /**< global SCIP settings */
    299 const char* name, /**< name of the parameter */
    300 SCIP_Bool defaultvalue /**< new default value of the parameter */
    301 );
    302
    303/** changes the value of an existing Int parameter */
    305 SCIP_SET* set, /**< global SCIP settings */
    306 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    307 SCIP_PARAM* param, /**< parameter */
    308 int value /**< new value of the parameter */
    309 );
    310
    311/** changes the value of an existing Int parameter */
    313 SCIP_SET* set, /**< global SCIP settings */
    314 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    315 const char* name, /**< name of the parameter */
    316 int value /**< new value of the parameter */
    317 );
    318
    319/** changes the default value of an existing Int parameter */
    321 SCIP_SET* set, /**< global SCIP settings */
    322 const char* name, /**< name of the parameter */
    323 int defaultvalue /**< new default value of the parameter */
    324 );
    325
    326/** changes the value of an existing SCIP_Longint parameter */
    328 SCIP_SET* set, /**< global SCIP settings */
    329 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    330 SCIP_PARAM* param, /**< parameter */
    331 SCIP_Longint value /**< new value of the parameter */
    332 );
    333
    334/** changes the value of an existing SCIP_Longint parameter */
    336 SCIP_SET* set, /**< global SCIP settings */
    337 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    338 const char* name, /**< name of the parameter */
    339 SCIP_Longint value /**< new value of the parameter */
    340 );
    341
    342/** changes the value of an existing SCIP_Real parameter */
    344 SCIP_SET* set, /**< global SCIP settings */
    345 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    346 SCIP_PARAM* param, /**< parameter */
    347 SCIP_Real value /**< new value of the parameter */
    348 );
    349
    350/** changes the value of an existing SCIP_Real parameter */
    352 SCIP_SET* set, /**< global SCIP settings */
    353 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    354 const char* name, /**< name of the parameter */
    355 SCIP_Real value /**< new value of the parameter */
    356 );
    357
    358/** changes the value of an existing Char parameter */
    360 SCIP_SET* set, /**< global SCIP settings */
    361 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    362 SCIP_PARAM* param, /**< parameter */
    363 char value /**< new value of the parameter */
    364 );
    365
    366/** changes the value of an existing Char parameter */
    368 SCIP_SET* set, /**< global SCIP settings */
    369 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    370 const char* name, /**< name of the parameter */
    371 char value /**< new value of the parameter */
    372 );
    373
    374/** changes the value of an existing String parameter */
    376 SCIP_SET* set, /**< global SCIP settings */
    377 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    378 SCIP_PARAM* param, /**< parameter */
    379 const char* value /**< new value of the parameter */
    380 );
    381
    382/** changes the value of an existing String parameter */
    384 SCIP_SET* set, /**< global SCIP settings */
    385 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    386 const char* name, /**< name of the parameter */
    387 const char* value /**< new value of the parameter */
    388 );
    389
    390/** changes the value of an existing parameter */
    392 SCIP_SET* set, /**< global SCIP settings */
    393 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    394 const char* name, /**< name of the parameter */
    395 const char* value /**< new value of the parameter as string */
    396 );
    397
    398/** reads parameters from a file */
    400 SCIP_SET* set, /**< global SCIP settings */
    401 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    402 const char* filename /**< file name */
    403 );
    404
    405/** writes all parameters in the parameter set to a file */
    407 SCIP_SET* set, /**< global SCIP settings */
    408 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    409 const char* filename, /**< file name, or NULL for stdout */
    410 SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
    411 SCIP_Bool onlychanged /**< should only the parameters been written, that are changed from default? */
    412 );
    413
    414/** resets a single parameters to its default value */
    416 SCIP_SET* set, /**< global SCIP settings */
    417 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    418 const char* name /**< name of the parameter */
    419 );
    420
    421/** resets all parameters to their default values */
    423 SCIP_SET* set, /**< global SCIP settings */
    424 SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
    425 );
    426
    427/** checks whether the value pointers attached to each parameter are unique
    428 *
    429 * When creating a parameter a value pointer can be attached. This function checks whether these pointers are
    430 * unique. Duplicate pointers indicate an error.
    431 */
    433 SCIP_SET* set /**< global SCIP settings */
    434 );
    435
    436/** sets parameters to
    437 *
    438 * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPsetResetParams())
    439 * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
    440 * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
    441 * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
    442 * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
    443 * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
    444 * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
    445 * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
    446 * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
    447 * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
    448 */
    450 SCIP_SET* set, /**< global SCIP settings */
    451 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    452 SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
    453 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
    454 );
    455
    456/** set parameters for reoptimization */
    458 SCIP_SET* set, /**< SCIP data structure */
    459 SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
    460 );
    461
    462/** enable or disable all plugin timers depending on the value of the flag \p enabled */
    464 SCIP_SET* set, /**< SCIP settings */
    465 SCIP_Bool enabled /**< should plugin clocks be enabled? */
    466 );
    467
    468/** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
    469 * auxiliary SCIP instances to avoid recursion
    470 */
    472 SCIP_SET* set, /**< global SCIP settings */
    473 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    474 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
    475 );
    476
    477/** sets heuristic parameters values to
    478 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
    479 * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
    480 * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
    481 * - SCIP_PARAMSETTING_OFF which turn off all heuristics
    482 */
    484 SCIP_SET* set, /**< global SCIP settings */
    485 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    486 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
    487 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
    488 );
    489
    490/** sets presolving parameters to
    491 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
    492 * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
    493 * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
    494 * - SCIP_PARAMSETTING_OFF which turn off all presolving
    495 */
    497 SCIP_SET* set, /**< global SCIP settings */
    498 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    499 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
    500 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
    501 );
    502
    503/** sets separating parameters to
    504 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
    505 * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
    506 * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
    507 * - SCIP_PARAMSETTING_OFF which turn off all separating
    508 */
    510 SCIP_SET* set, /**< global SCIP settings */
    511 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
    512 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
    513 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
    514 );
    515
    516/** returns the array of all available SCIP parameters */
    518 SCIP_SET* set /**< global SCIP settings */
    519 );
    520
    521/** returns the total number of all available SCIP parameters */
    523 SCIP_SET* set /**< global SCIP settings */
    524 );
    525
    526/** inserts file reader in file reader list */
    528 SCIP_SET* set, /**< global SCIP settings */
    529 SCIP_READER* reader /**< file reader */
    530 );
    531
    532/** returns the file reader of the given name, or NULL if not existing */
    534 SCIP_SET* set, /**< global SCIP settings */
    535 const char* name /**< name of file reader */
    536 );
    537
    538/** inserts variable pricer in variable pricer list */
    540 SCIP_SET* set, /**< global SCIP settings */
    541 SCIP_PRICER* pricer /**< variable pricer */
    542 );
    543
    544/** returns the variable pricer of the given name, or NULL if not existing */
    546 SCIP_SET* set, /**< global SCIP settings */
    547 const char* name /**< name of variable pricer */
    548 );
    549
    550/** sorts pricers by priorities */
    552 SCIP_SET* set /**< global SCIP settings */
    553 );
    554
    555/** sorts pricers by name */
    557 SCIP_SET* set /**< global SCIP settings */
    558 );
    559
    560/** inserts Benders' decomposition into the Benders' decomposition list */
    562 SCIP_SET* set, /**< global SCIP settings */
    563 SCIP_BENDERS* benders /**< Benders' decomposition */
    564 );
    565
    566/** returns the Benders' decomposition of the given name, or NULL if not existing */
    568 SCIP_SET* set, /**< global SCIP settings */
    569 const char* name /**< name of Benders' decomposition */
    570 );
    571
    572/** sorts Benders' decomposition by priorities */
    574 SCIP_SET* set /**< global SCIP settings */
    575 );
    576
    577/** sorts Benders' decomposition by name */
    579 SCIP_SET* set /**< global SCIP settings */
    580 );
    581
    582/** inserts constraint handler in constraint handler list */
    584 SCIP_SET* set, /**< global SCIP settings */
    585 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    586 );
    587
    588/** reinserts a constraint handler with modified sepa priority into the sepa priority sorted array */
    590 SCIP_SET* set, /**< global SCIP settings */
    591 SCIP_CONSHDLR* conshdlr, /**< constraint handler to be reinserted */
    592 int oldpriority /**< the old separation priority of constraint handler */
    593 );
    594
    595/** returns the constraint handler of the given name, or NULL if not existing */
    597 SCIP_SET* set, /**< global SCIP settings */
    598 const char* name /**< name of constraint handler */
    599 );
    600
    601/** inserts conflict handler in conflict handler list */
    603 SCIP_SET* set, /**< global SCIP settings */
    604 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */
    605 );
    606
    607/** returns the conflict handler of the given name, or NULL if not existing */
    609 SCIP_SET* set, /**< global SCIP settings */
    610 const char* name /**< name of conflict handler */
    611 );
    612
    613/** sorts conflict handlers by priorities */
    615 SCIP_SET* set /**< global SCIP settings */
    616 );
    617
    618/** sorts conflict handlers by name */
    620 SCIP_SET* set /**< global SCIP settings */
    621 );
    622
    623/** inserts presolver in presolver list */
    625 SCIP_SET* set, /**< global SCIP settings */
    626 SCIP_PRESOL* presol /**< presolver */
    627 );
    628
    629/** returns the presolver of the given name, or NULL if not existing */
    631 SCIP_SET* set, /**< global SCIP settings */
    632 const char* name /**< name of presolver */
    633 );
    634
    635/** sorts presolvers by priorities */
    637 SCIP_SET* set /**< global SCIP settings */
    638 );
    639
    640/** sorts presolvers by name */
    642 SCIP_SET* set /**< global SCIP settings */
    643 );
    644
    645/** inserts relaxator in relaxator list */
    647 SCIP_SET* set, /**< global SCIP settings */
    648 SCIP_RELAX* relax /**< relaxator */
    649 );
    650
    651/** returns the relaxator of the given name, or NULL if not existing */
    653 SCIP_SET* set, /**< global SCIP settings */
    654 const char* name /**< name of relaxator */
    655 );
    656
    657/** sorts relaxators by priorities */
    659 SCIP_SET* set /**< global SCIP settings */
    660 );
    661
    662/** sorts relaxators by name */
    664 SCIP_SET* set /**< global SCIP settings */
    665 );
    666
    667/** inserts separator in separator list */
    669 SCIP_SET* set, /**< global SCIP settings */
    670 SCIP_SEPA* sepa /**< separator */
    671 );
    672
    673/** returns the separator of the given name, or NULL if not existing */
    675 SCIP_SET* set, /**< global SCIP settings */
    676 const char* name /**< name of separator */
    677 );
    678
    679/** sorts separators by priorities */
    681 SCIP_SET* set /**< global SCIP settings */
    682 );
    683
    684/** sorts separators by name */
    686 SCIP_SET* set /**< global SCIP settings */
    687 );
    688
    689/** inserts cut selector in cut selector list */
    691 SCIP_SET* set, /**< global SCIP settings */
    692 SCIP_CUTSEL* cutsel /**< cut selector */
    693 );
    694
    695/** returns the cut selector of the given name, or NULL if not existing */
    697 SCIP_SET* set, /**< global SCIP settings */
    698 const char* name /**< name of separator */
    699 );
    700
    701/** sorts cut selectors by priorities */
    703 SCIP_SET* set /**< global SCIP settings */
    704 );
    705
    706/** inserts propagator in propagator list */
    708 SCIP_SET* set, /**< global SCIP settings */
    709 SCIP_PROP* prop /**< propagator */
    710 );
    711
    712/** returns the propagator of the given name, or NULL if not existing */
    714 SCIP_SET* set, /**< global SCIP settings */
    715 const char* name /**< name of propagator */
    716 );
    717
    718/** sorts propagators by priorities */
    720 SCIP_SET* set /**< global SCIP settings */
    721 );
    722
    723/** sorts propagators by priorities for presolving */
    725 SCIP_SET* set /**< global SCIP settings */
    726 );
    727
    728/** sorts propagators w.r.t. names */
    730 SCIP_SET* set /**< global SCIP settings */
    731 );
    732
    733/** inserts concurrent solver type into the concurrent solver type list */
    735 SCIP_SET* set, /**< global SCIP settings */
    736 SCIP_CONCSOLVERTYPE* concsolvertype /**< concurrent solver type */
    737 );
    738
    739/** returns the concurrent solver type with the given name, or NULL if not existing */
    741 SCIP_SET* set, /**< global SCIP settings */
    742 const char* name /**< name of concurrent solver type */
    743 );
    744
    745/** inserts concurrent solver into the concurrent solver list */
    747 SCIP_SET* set, /**< global SCIP settings */
    748 SCIP_CONCSOLVER* concsolver /**< concurrent solver */
    749 );
    750
    751/** frees all concurrent solvers in the concurrent solver list */
    753 SCIP_SET* set /**< global SCIP settings */
    754 );
    755
    756/** inserts primal heuristic in primal heuristic list */
    758 SCIP_SET* set, /**< global SCIP settings */
    759 SCIP_HEUR* heur /**< primal heuristic */
    760 );
    761
    762/** returns the primal heuristic of the given name, or NULL if not existing */
    764 SCIP_SET* set, /**< global SCIP settings */
    765 const char* name /**< name of primal heuristic */
    766 );
    767
    768/** sorts heuristics by priorities */
    770 SCIP_SET* set /**< global SCIP settings */
    771 );
    772
    773/** sorts heuristics by name */
    775 SCIP_SET* set /**< global SCIP settings */
    776 );
    777
    778/** inserts tree compression in tree compression list */
    780 SCIP_SET* set, /**< global SCIP settings */
    781 SCIP_COMPR* compr /**< tree compression */
    782 );
    783
    784/** returns the tree compression of the given name, or NULL if not existing */
    786 SCIP_SET* set, /**< global SCIP settings */
    787 const char* name /**< name of tree compression */
    788 );
    789
    790/** sorts compressions by priorities */
    792 SCIP_SET* set /**< global SCIP settings */
    793 );
    794
    795/** sorts heuristics by names */
    797 SCIP_SET* set /**< global SCIP settings */
    798 );
    799
    800/** inserts event handler in event handler list */
    802 SCIP_SET* set, /**< global SCIP settings */
    803 SCIP_EVENTHDLR* eventhdlr /**< event handler */
    804 );
    805
    806/** returns the event handler of the given name, or NULL if not existing */
    808 SCIP_SET* set, /**< global SCIP settings */
    809 const char* name /**< name of event handler */
    810 );
    811
    812/** inserts node selector in node selector list */
    814 SCIP_SET* set, /**< global SCIP settings */
    815 SCIP_NODESEL* nodesel /**< node selector */
    816 );
    817
    818/** returns the node selector of the given name, or NULL if not existing */
    820 SCIP_SET* set, /**< global SCIP settings */
    821 const char* name /**< name of event handler */
    822 );
    823
    824/** returns node selector with highest priority in the current mode */
    826 SCIP_SET* set, /**< global SCIP settings */
    827 SCIP_STAT* stat /**< dynamic problem statistics */
    828 );
    829
    830/** inserts branching rule in branching rule list */
    832 SCIP_SET* set, /**< global SCIP settings */
    833 SCIP_BRANCHRULE* branchrule /**< branching rule */
    834 );
    835
    836/** returns the branching rule of the given name, or NULL if not existing */
    838 SCIP_SET* set, /**< global SCIP settings */
    839 const char* name /**< name of event handler */
    840 );
    841
    842/** sorts branching rules by priorities */
    844 SCIP_SET* set /**< global SCIP settings */
    845 );
    846
    847/** sorts branching rules by name */
    849 SCIP_SET* set /**< global SCIP settings */
    850 );
    851
    852/** inserts IIS finders in IIS finder list */
    854 SCIP_SET* set, /**< global SCIP settings */
    855 SCIP_IISFINDER* iisfinder /**< IIS finder */
    856 );
    857
    858/** returns the IIS finder of the given name, or NULL if not existing */
    860 SCIP_SET* set, /**< global SCIP settings */
    861 const char* name /**< name of IIS finder */
    862 );
    863
    864/** sorts the IIS finders by priorities */
    866 SCIP_SET* set /**< global SCIP settings */
    867 );
    868
    869/** inserts display column in display column list */
    871 SCIP_SET* set, /**< global SCIP settings */
    872 SCIP_DISP* disp /**< display column */
    873 );
    874
    875/** returns the display column of the given name, or NULL if not existing */
    877 SCIP_SET* set, /**< global SCIP settings */
    878 const char* name /**< name of display */
    879 );
    880
    881/** inserts statistics table in statistics table list */
    883 SCIP_SET* set, /**< global SCIP settings */
    884 SCIP_TABLE* table /**< statistics table */
    885 );
    886
    887/** returns the statistics table of the given name, or NULL if not existing */
    889 SCIP_SET* set, /**< global SCIP settings */
    890 const char* name /**< name of statistics table */
    891 );
    892
    893/** inserts dialog in dialog list */
    895 SCIP_SET* set, /**< global SCIP settings */
    896 SCIP_DIALOG* dialog /**< dialog */
    897 );
    898
    899/** returns if the dialog already exists */
    901 SCIP_SET* set, /**< global SCIP settings */
    902 SCIP_DIALOG* dialog /**< dialog */
    903 );
    904
    905/** inserts expression handler in expression handler list */
    907 SCIP_SET* set, /**< global SCIP settings */
    908 SCIP_EXPRHDLR* exprhdlr /**< expression handler */
    909 );
    910
    911/** returns the expression handler of the given name, or NULL if not existing */
    912SCIP_EXPORT /* need SCIP_EXPORT here, because func is exposed in API via SCIPfindExprhdlr() macro */
    914 SCIP_SET* set, /**< global SCIP settings */
    915 const char* name /**< name of expression handler */
    916 );
    917
    918/** sorts expression handlers by name */
    920 SCIP_SET* set /**< global SCIP settings */
    921 );
    922
    923/** inserts NLPI in NLPI list */
    925 SCIP_SET* set, /**< global SCIP settings */
    926 SCIP_NLPI* nlpi /**< NLPI */
    927 );
    928
    929/** returns the NLPI of the given name, or NULL if not existing */
    931 SCIP_SET* set, /**< global SCIP settings */
    932 const char* name /**< name of NLPI */
    933 );
    934
    935/** sorts NLPIs by priorities */
    937 SCIP_SET* set /**< global SCIP settings */
    938 );
    939
    940/** set priority of an NLPI */
    942 SCIP_SET* set, /**< global SCIP settings */
    943 SCIP_NLPI* nlpi, /**< NLPI */
    944 int priority /**< new priority of NLPI */
    945 );
    946
    947/** inserts information about an external code in external codes list */
    949 SCIP_SET* set, /**< global SCIP settings */
    950 const char* name, /**< name of external code */
    951 const char* description /**< description of external code, can be NULL */
    952 );
    953
    954/** inserts bandit virtual function table into set */
    956 SCIP_SET* set, /**< global SCIP settings */
    957 SCIP_BANDITVTABLE* banditvtable /**< bandit algorithm virtual function table */
    958 );
    959
    960/** returns the bandit virtual function table of the given name, or NULL if not existing */
    962 SCIP_SET* set, /**< global SCIP settings */
    963 const char* name /**< name of bandit algorithm virtual function table */
    964 );
    965
    966/** calls init methods of all plugins */
    968 SCIP_SET* set, /**< global SCIP settings */
    969 BMS_BLKMEM* blkmem, /**< block memory */
    970 SCIP_STAT* stat /**< dynamic problem statistics */
    971 );
    972
    973/** calls exit methods of all plugins */
    975 SCIP_SET* set, /**< global SCIP settings */
    976 BMS_BLKMEM* blkmem, /**< block memory */
    977 SCIP_STAT* stat /**< dynamic problem statistics */
    978 );
    979
    980/** calls initpre methods of all plugins */
    982 SCIP_SET* set, /**< global SCIP settings */
    983 BMS_BLKMEM* blkmem, /**< block memory */
    984 SCIP_STAT* stat /**< dynamic problem statistics */
    985 );
    986
    987/** calls exitpre methods of all plugins */
    989 SCIP_SET* set, /**< global SCIP settings */
    990 BMS_BLKMEM* blkmem, /**< block memory */
    991 SCIP_STAT* stat /**< dynamic problem statistics */
    992 );
    993
    994/** calls initsol methods of all plugins */
    996 SCIP_SET* set, /**< global SCIP settings */
    997 BMS_BLKMEM* blkmem, /**< block memory */
    998 SCIP_STAT* stat /**< dynamic problem statistics */
    999 );
    1000
    1001/** calls exitsol methods of all plugins */
    1003 SCIP_SET* set, /**< global SCIP settings */
    1004 BMS_BLKMEM* blkmem, /**< block memory */
    1005 SCIP_STAT* stat, /**< dynamic problem statistics */
    1006 SCIP_Bool restart /**< was this exit solve call triggered by a restart? */
    1007 );
    1008
    1009/** calculate memory size for dynamically allocated arrays */
    1011 SCIP_SET* set, /**< global SCIP settings */
    1012 int num /**< minimum number of entries to store */
    1013 );
    1014
    1015/** calculate memory size for tree array */
    1017 SCIP_SET* set, /**< global SCIP settings */
    1018 int num /**< minimum number of entries to store */
    1019 );
    1020
    1021/** calculate memory size for path array */
    1023 SCIP_SET* set, /**< global SCIP settings */
    1024 int num /**< minimum number of entries to store */
    1025 );
    1026
    1027/** sets verbosity level for message output */
    1029 SCIP_SET* set, /**< global SCIP settings */
    1030 SCIP_VERBLEVEL verblevel /**< verbosity level for message output */
    1031 );
    1032
    1033/** sets feasibility tolerance */
    1035 SCIP_SET* set, /**< global SCIP settings */
    1036 SCIP_LP* lp, /**< LP data, or NULL */
    1037 SCIP_Real feastol /**< new feasibility tolerance */
    1038 );
    1039
    1040/** sets feasibility tolerance for reduced costs in LP solution */
    1042 SCIP_SET* set, /**< global SCIP settings */
    1043 SCIP_Real dualfeastol /**< new reduced costs feasibility tolerance */
    1044 );
    1045
    1046/** sets LP convergence tolerance used in barrier algorithm */
    1048 SCIP_SET* set, /**< global SCIP settings */
    1049 SCIP_Real barrierconvtol /**< new convergence tolerance used in barrier algorithm */
    1050 );
    1051
    1052/** sets primal feasibility tolerance for relaxations (relaxfeastol)
    1053 *
    1054 * @note Set to SCIP_INVALID to apply relaxation-specific feasibility tolerance only.
    1055 *
    1056 * @return Previous value of relaxfeastol.
    1057 */
    1059 SCIP_SET* set, /**< global SCIP settings */
    1060 SCIP_Real relaxfeastol /**< new primal feasibility tolerance for relaxations, or SCIP_INVALID */
    1061 );
    1062
    1063/** marks that some limit parameter was changed */
    1065 SCIP_SET* set /**< global SCIP settings */
    1066 );
    1067
    1068/** returns the maximal number of variables priced into the LP per round */
    1070 SCIP_SET* set, /**< global SCIP settings */
    1071 SCIP_Bool root /**< are we at the root node? */
    1072 );
    1073
    1074/** returns factor for the maximal number of cuts generated per round */
    1076 SCIP_SET* set, /**< global SCIP settings */
    1077 SCIP_Bool root /**< are we at the root node? */
    1078 );
    1079
    1080/** returns the maximal number of cuts separated per round */
    1082 SCIP_SET* set, /**< global SCIP settings */
    1083 SCIP_Bool root /**< are we at the root node? */
    1084 );
    1085
    1086/** returns the maximal ratio between coefficients to ensure in rowprep cleanup */
    1088 SCIP_SET* set /**< global SCIP settings */
    1089 );
    1090
    1091/** returns user defined objective value (in original space) for reference purposes */
    1093 SCIP_SET* set /**< global SCIP settings */
    1094 );
    1095
    1096/** returns debug solution data */
    1098 SCIP_SET* set /**< global SCIP settings */
    1099 );
    1100
    1101/** Checks if an iteratively updated value is reliable or should be recomputed from scratch.
    1102 * This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high
    1103 * absolute value during the optimization process which is later reduced significantly. In this case, the last digits
    1104 * were cancelled out when increasing the value and are random after decreasing it.
    1105 * We dot not consider the cancellations which can occur during increasing the absolute value because they just cannot
    1106 * be expressed using fixed precision floating point arithmetic, anymore.
    1107 * The idea to get more reliable values is to always store the last reliable value, where increasing the absolute of
    1108 * the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared
    1109 * against the last reliable one with this method, checking whether it was decreased by a factor of at least
    1110 * "lp/recompfac" and should be recomputed.
    1111 */
    1113 SCIP_SET* set, /**< global SCIP settings */
    1114 SCIP_Real newvalue, /**< new value after update */
    1115 SCIP_Real oldvalue /**< old value, i.e., last reliable value */
    1116 );
    1117
    1118/** modifies an initial seed value with the global shift of random seeds */
    1119unsigned int SCIPsetInitializeRandomSeed(
    1120 SCIP_SET* set, /**< global SCIP settings */
    1121 unsigned int initialseedvalue /**< initial seed value to be modified */
    1122 );
    1123
    1124/** returns value treated as infinity */
    1126 SCIP_SET* set /**< global SCIP settings */
    1127 );
    1128
    1129/** returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity
    1130 * computation)
    1131 */
    1133 SCIP_SET* set /**< global SCIP settings */
    1134 );
    1135
    1136/** returns value treated as zero */
    1138 SCIP_SET* set /**< global SCIP settings */
    1139 );
    1140
    1141/** returns value treated as zero for sums of floating point values */
    1143 SCIP_SET* set /**< global SCIP settings */
    1144 );
    1145
    1146/** returns feasibility tolerance for constraints */
    1147#ifdef __GNUC__
    1148__attribute__ ((pure))
    1149#endif
    1151 SCIP_SET* set /**< global SCIP settings */
    1152 );
    1153
    1154/** returns factor w.r.t. primal feasibility tolerance that determines default (and maximal) feasibility tolerance */
    1156 SCIP_SET* set /**< global SCIP settings */
    1157 );
    1158
    1159/** returns feasibility tolerance for reduced costs */
    1160#ifdef __GNUC__
    1161__attribute__ ((pure))
    1162#endif
    1164 SCIP_SET* set /**< global SCIP settings */
    1165 );
    1166
    1167/** returns convergence tolerance used in barrier algorithm */
    1169 SCIP_SET* set /**< global SCIP settings */
    1170 );
    1171
    1172/** returns minimal variable distance value to use for pseudo cost updates */
    1174 SCIP_SET* set /**< global SCIP settings */
    1175 );
    1176
    1177/** returns minimal minimal objective distance value to use for pseudo cost updates */
    1179 SCIP_SET* set /**< global SCIP settings */
    1180 );
    1181
    1182/** return the delta to use for computing the cutoff bound for integral objectives */
    1184 SCIP_SET* set /**< global SCIP settings */
    1185 );
    1186
    1187/** return the primal feasibility tolerance for relaxations */
    1189 SCIP_SET* set /**< global SCIP settings */
    1190 );
    1191
    1192/** returns minimal decrease factor that causes the recomputation of a value
    1193 * (e.g., pseudo objective) instead of an update */
    1195 SCIP_SET* set /**< global SCIP settings */
    1196 );
    1197
    1198/** checks if values are in range of epsilon */
    1200 SCIP_SET* set, /**< global SCIP settings */
    1201 SCIP_Real val1, /**< first value to be compared */
    1202 SCIP_Real val2 /**< second value to be compared */
    1203 );
    1204
    1205/** checks if val1 is (more than epsilon) lower than val2 */
    1207 SCIP_SET* set, /**< global SCIP settings */
    1208 SCIP_Real val1, /**< first value to be compared */
    1209 SCIP_Real val2 /**< second value to be compared */
    1210 );
    1211
    1212/** checks if val1 is not (more than epsilon) greater than val2 */
    1214 SCIP_SET* set, /**< global SCIP settings */
    1215 SCIP_Real val1, /**< first value to be compared */
    1216 SCIP_Real val2 /**< second value to be compared */
    1217 );
    1218
    1219/** checks if val1 is (more than epsilon) greater than val2 */
    1221 SCIP_SET* set, /**< global SCIP settings */
    1222 SCIP_Real val1, /**< first value to be compared */
    1223 SCIP_Real val2 /**< second value to be compared */
    1224 );
    1225
    1226/** checks if val1 is not (more than epsilon) lower than val2 */
    1228 SCIP_SET* set, /**< global SCIP settings */
    1229 SCIP_Real val1, /**< first value to be compared */
    1230 SCIP_Real val2 /**< second value to be compared */
    1231 );
    1232
    1233/** checks if value is (positive) infinite */
    1235 SCIP_SET* set, /**< global SCIP settings */
    1236 SCIP_Real val /**< value to be compared against infinity */
    1237 );
    1238
    1239/** checks if value is huge and should be handled separately (e.g., in activity computation) */
    1241 SCIP_SET* set, /**< global SCIP settings */
    1242 SCIP_Real val /**< value to be checked whether it is huge */
    1243 );
    1244
    1245/** checks if value is in range epsilon of 0.0 */
    1247 SCIP_SET* set, /**< global SCIP settings */
    1248 SCIP_Real val /**< value to be compared against zero */
    1249 );
    1250
    1251/** checks if value is greater than epsilon */
    1253 SCIP_SET* set, /**< global SCIP settings */
    1254 SCIP_Real val /**< value to be compared against zero */
    1255 );
    1256
    1257/** checks if value is lower than -epsilon */
    1259 SCIP_SET* set, /**< global SCIP settings */
    1260 SCIP_Real val /**< value to be compared against zero */
    1261 );
    1262
    1263/** checks if value is integral within epsilon */
    1265 SCIP_SET* set, /**< global SCIP settings */
    1266 SCIP_Real val /**< value to be compared against zero */
    1267 );
    1268
    1269/** checks whether the product val * scalar is integral in epsilon scaled by scalar */
    1271 SCIP_SET* set, /**< global SCIP settings */
    1272 SCIP_Real val, /**< unscaled value to check for scaled integrality */
    1273 SCIP_Real scalar /**< value to scale val with for checking for integrality */
    1274 );
    1275
    1276/** checks if given fractional part is smaller than epsilon */
    1278 SCIP_SET* set, /**< global SCIP settings */
    1279 SCIP_Real val /**< value to be compared against zero */
    1280 );
    1281
    1282/** rounds value + feasibility tolerance down to the next integer in epsilon tolerance */
    1284 SCIP_SET* set, /**< global SCIP settings */
    1285 SCIP_Real val /**< value to be compared against zero */
    1286 );
    1287
    1288/** rounds value - feasibility tolerance up to the next integer in epsilon tolerance */
    1290 SCIP_SET* set, /**< global SCIP settings */
    1291 SCIP_Real val /**< value to be compared against zero */
    1292 );
    1293
    1294/** rounds value to the nearest integer in epsilon tolerance */
    1296 SCIP_SET* set, /**< global SCIP settings */
    1297 SCIP_Real val /**< value to be compared against zero */
    1298 );
    1299
    1300/** returns fractional part of value, i.e. x - floor(x) in epsilon tolerance */
    1302 SCIP_SET* set, /**< global SCIP settings */
    1303 SCIP_Real val /**< value to return fractional part for */
    1304 );
    1305
    1306/** checks if values are in range of sumepsilon */
    1308 SCIP_SET* set, /**< global SCIP settings */
    1309 SCIP_Real val1, /**< first value to be compared */
    1310 SCIP_Real val2 /**< second value to be compared */
    1311 );
    1312
    1313/** checks if val1 is (more than sumepsilon) lower than val2 */
    1315 SCIP_SET* set, /**< global SCIP settings */
    1316 SCIP_Real val1, /**< first value to be compared */
    1317 SCIP_Real val2 /**< second value to be compared */
    1318 );
    1319
    1320/** checks if val1 is not (more than sumepsilon) greater than val2 */
    1322 SCIP_SET* set, /**< global SCIP settings */
    1323 SCIP_Real val1, /**< first value to be compared */
    1324 SCIP_Real val2 /**< second value to be compared */
    1325 );
    1326
    1327/** checks if val1 is (more than sumepsilon) greater than val2 */
    1329 SCIP_SET* set, /**< global SCIP settings */
    1330 SCIP_Real val1, /**< first value to be compared */
    1331 SCIP_Real val2 /**< second value to be compared */
    1332 );
    1333
    1334/** checks if val1 is not (more than sumepsilon) lower than val2 */
    1336 SCIP_SET* set, /**< global SCIP settings */
    1337 SCIP_Real val1, /**< first value to be compared */
    1338 SCIP_Real val2 /**< second value to be compared */
    1339 );
    1340
    1341/** checks if value is in range sumepsilon of 0.0 */
    1343 SCIP_SET* set, /**< global SCIP settings */
    1344 SCIP_Real val /**< value to be compared against zero */
    1345 );
    1346
    1347/** checks if value is greater than sumepsilon */
    1349 SCIP_SET* set, /**< global SCIP settings */
    1350 SCIP_Real val /**< value to be compared against zero */
    1351 );
    1352
    1353/** checks if value is lower than -sumepsilon */
    1355 SCIP_SET* set, /**< global SCIP settings */
    1356 SCIP_Real val /**< value to be compared against zero */
    1357 );
    1358
    1359/** rounds value + sumepsilon tolerance down to the next integer */
    1361 SCIP_SET* set, /**< global SCIP settings */
    1362 SCIP_Real val /**< value to process */
    1363 );
    1364
    1365/** rounds value - sumepsilon tolerance up to the next integer */
    1367 SCIP_SET* set, /**< global SCIP settings */
    1368 SCIP_Real val /**< value to process */
    1369 );
    1370
    1371/** rounds value to the nearest integer in sumepsilon tolerance */
    1373 SCIP_SET* set, /**< global SCIP settings */
    1374 SCIP_Real val /**< value to process */
    1375 );
    1376
    1377/** returns fractional part of value, i.e. x - floor(x) in sumepsilon tolerance */
    1379 SCIP_SET* set, /**< global SCIP settings */
    1380 SCIP_Real val /**< value to process */
    1381 );
    1382
    1383/** checks if relative difference of values is in range of feastol */
    1385 SCIP_SET* set, /**< global SCIP settings */
    1386 SCIP_Real val1, /**< first value to be compared */
    1387 SCIP_Real val2 /**< second value to be compared */
    1388 );
    1389
    1390/** checks if relative difference of val1 and val2 is lower than feastol */
    1392 SCIP_SET* set, /**< global SCIP settings */
    1393 SCIP_Real val1, /**< first value to be compared */
    1394 SCIP_Real val2 /**< second value to be compared */
    1395 );
    1396
    1397/** checks if relative difference of val1 and val2 is not greater than feastol */
    1399 SCIP_SET* set, /**< global SCIP settings */
    1400 SCIP_Real val1, /**< first value to be compared */
    1401 SCIP_Real val2 /**< second value to be compared */
    1402 );
    1403
    1404/** checks if relative difference of val1 and val2 is greater than feastol */
    1406 SCIP_SET* set, /**< global SCIP settings */
    1407 SCIP_Real val1, /**< first value to be compared */
    1408 SCIP_Real val2 /**< second value to be compared */
    1409 );
    1410
    1411/** checks if relative difference of val1 and val2 is not lower than -feastol */
    1413 SCIP_SET* set, /**< global SCIP settings */
    1414 SCIP_Real val1, /**< first value to be compared */
    1415 SCIP_Real val2 /**< second value to be compared */
    1416 );
    1417
    1418/** checks if value is in range feasibility tolerance of 0.0 */
    1420 SCIP_SET* set, /**< global SCIP settings */
    1421 SCIP_Real val /**< value to be compared against zero */
    1422 );
    1423
    1424/** checks if value is greater than feasibility tolerance */
    1426 SCIP_SET* set, /**< global SCIP settings */
    1427 SCIP_Real val /**< value to be compared against zero */
    1428 );
    1429
    1430/** checks if value is lower than -feasibility tolerance */
    1432 SCIP_SET* set, /**< global SCIP settings */
    1433 SCIP_Real val /**< value to be compared against zero */
    1434 );
    1435
    1436/** checks if value is integral within the feasibility bounds */
    1438 SCIP_SET* set, /**< global SCIP settings */
    1439 SCIP_Real val /**< value to be compared against zero */
    1440 );
    1441
    1442/** checks if given fractional part is smaller than feastol */
    1444 SCIP_SET* set, /**< global SCIP settings */
    1445 SCIP_Real val /**< value to be compared against zero */
    1446 );
    1447
    1448/** rounds value + feasibility tolerance down to the next integer */
    1450 SCIP_SET* set, /**< global SCIP settings */
    1451 SCIP_Real val /**< value to be compared against zero */
    1452 );
    1453
    1454/** rounds value - feasibility tolerance up to the next integer */
    1456 SCIP_SET* set, /**< global SCIP settings */
    1457 SCIP_Real val /**< value to be compared against zero */
    1458 );
    1459
    1460/** rounds value to the nearest integer in feasibility tolerance */
    1462 SCIP_SET* set, /**< global SCIP settings */
    1463 SCIP_Real val /**< value to be compared against zero */
    1464 );
    1465
    1466/** returns fractional part of value, i.e. x - floor(x) in feasibility tolerance */
    1468 SCIP_SET* set, /**< global SCIP settings */
    1469 SCIP_Real val /**< value to return fractional part for */
    1470 );
    1471
    1472/** checks if relative difference of values is in range of dual feasibility tolerance */
    1474 SCIP_SET* set, /**< global SCIP settings */
    1475 SCIP_Real val1, /**< first value to be compared */
    1476 SCIP_Real val2 /**< second value to be compared */
    1477 );
    1478
    1479/** checks if relative difference of val1 and val2 is lower than dual feasibility tolerance */
    1481 SCIP_SET* set, /**< global SCIP settings */
    1482 SCIP_Real val1, /**< first value to be compared */
    1483 SCIP_Real val2 /**< second value to be compared */
    1484 );
    1485
    1486/** checks if relative difference of val1 and val2 is not greater than dual feasibility tolerance */
    1488 SCIP_SET* set, /**< global SCIP settings */
    1489 SCIP_Real val1, /**< first value to be compared */
    1490 SCIP_Real val2 /**< second value to be compared */
    1491 );
    1492
    1493/** checks if relative difference of val1 and val2 is greater than dual feasibility tolerance */
    1495 SCIP_SET* set, /**< global SCIP settings */
    1496 SCIP_Real val1, /**< first value to be compared */
    1497 SCIP_Real val2 /**< second value to be compared */
    1498 );
    1499
    1500/** checks if relative difference of val1 and val2 is not lower than -dual feasibility tolerance */
    1502 SCIP_SET* set, /**< global SCIP settings */
    1503 SCIP_Real val1, /**< first value to be compared */
    1504 SCIP_Real val2 /**< second value to be compared */
    1505 );
    1506
    1507/** checks if value is in range dual feasibility tolerance of 0.0 */
    1509 SCIP_SET* set, /**< global SCIP settings */
    1510 SCIP_Real val /**< value to be compared against zero */
    1511 );
    1512
    1513/** checks if value is greater than dual feasibility tolerance */
    1515 SCIP_SET* set, /**< global SCIP settings */
    1516 SCIP_Real val /**< value to be compared against zero */
    1517 );
    1518
    1519/** checks if value is lower than -dual feasibility tolerance */
    1521 SCIP_SET* set, /**< global SCIP settings */
    1522 SCIP_Real val /**< value to be compared against zero */
    1523 );
    1524
    1525/** checks if value is integral within the dual feasibility bounds */
    1527 SCIP_SET* set, /**< global SCIP settings */
    1528 SCIP_Real val /**< value to be compared against zero */
    1529 );
    1530
    1531/** checks if given fractional part is smaller than dual feasibility tolerance */
    1533 SCIP_SET* set, /**< global SCIP settings */
    1534 SCIP_Real val /**< value to be compared against zero */
    1535 );
    1536
    1537/** rounds value + dual feasibility tolerance down to the next integer */
    1539 SCIP_SET* set, /**< global SCIP settings */
    1540 SCIP_Real val /**< value to be compared against zero */
    1541 );
    1542
    1543/** rounds value - dual feasibility tolerance up to the next integer */
    1545 SCIP_SET* set, /**< global SCIP settings */
    1546 SCIP_Real val /**< value to be compared against zero */
    1547 );
    1548
    1549/** rounds value to the nearest integer in dual feasibility tolerance */
    1551 SCIP_SET* set, /**< global SCIP settings */
    1552 SCIP_Real val /**< value to be compared against zero */
    1553 );
    1554
    1555/** returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance */
    1557 SCIP_SET* set, /**< global SCIP settings */
    1558 SCIP_Real val /**< value to return fractional part for */
    1559 );
    1560
    1561/** checks if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound
    1562 * strengthening epsilon better than the old one or the change in the lower bound would fix the
    1563 * sign of the variable
    1564 */
    1566 SCIP_SET* set, /**< global SCIP settings */
    1567 SCIP_Real newlb, /**< new lower bound */
    1568 SCIP_Real oldlb, /**< old lower bound */
    1569 SCIP_Real oldub /**< old upper bound */
    1570 );
    1571
    1572/** checks if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound
    1573 * strengthening epsilon better than the old one or the change in the upper bound would fix the
    1574 * sign of the variable
    1575 */
    1577 SCIP_SET* set, /**< global SCIP settings */
    1578 SCIP_Real newub, /**< new upper bound */
    1579 SCIP_Real oldlb, /**< old lower bound */
    1580 SCIP_Real oldub /**< old upper bound */
    1581 );
    1582
    1583/** checks if the given cut's efficacy is larger than the minimal cut efficacy */
    1585 SCIP_SET* set, /**< global SCIP settings */
    1586 SCIP_Bool root, /**< should the root's minimal cut efficacy be used? */
    1587 SCIP_Real efficacy /**< efficacy of the cut */
    1588 );
    1589
    1590/** checks if relative difference of values is in range of epsilon */
    1592 SCIP_SET* set, /**< global SCIP settings */
    1593 SCIP_Real val1, /**< first value to be compared */
    1594 SCIP_Real val2 /**< second value to be compared */
    1595 );
    1596
    1597/** checks if relative difference of val1 and val2 is lower than epsilon */
    1599 SCIP_SET* set, /**< global SCIP settings */
    1600 SCIP_Real val1, /**< first value to be compared */
    1601 SCIP_Real val2 /**< second value to be compared */
    1602 );
    1603
    1604/** checks if relative difference of val1 and val2 is not greater than epsilon */
    1606 SCIP_SET* set, /**< global SCIP settings */
    1607 SCIP_Real val1, /**< first value to be compared */
    1608 SCIP_Real val2 /**< second value to be compared */
    1609 );
    1610
    1611/** checks if relative difference of val1 and val2 is greater than epsilon */
    1613 SCIP_SET* set, /**< global SCIP settings */
    1614 SCIP_Real val1, /**< first value to be compared */
    1615 SCIP_Real val2 /**< second value to be compared */
    1616 );
    1617
    1618/** checks if relative difference of val1 and val2 is not lower than -epsilon */
    1620 SCIP_SET* set, /**< global SCIP settings */
    1621 SCIP_Real val1, /**< first value to be compared */
    1622 SCIP_Real val2 /**< second value to be compared */
    1623 );
    1624
    1625/** checks if relative difference of values is in range of sumepsilon */
    1627 SCIP_SET* set, /**< global SCIP settings */
    1628 SCIP_Real val1, /**< first value to be compared */
    1629 SCIP_Real val2 /**< second value to be compared */
    1630 );
    1631
    1632/** checks if relative difference of val1 and val2 is lower than sumepsilon */
    1634 SCIP_SET* set, /**< global SCIP settings */
    1635 SCIP_Real val1, /**< first value to be compared */
    1636 SCIP_Real val2 /**< second value to be compared */
    1637 );
    1638
    1639/** checks if relative difference of val1 and val2 is not greater than sumepsilon */
    1641 SCIP_SET* set, /**< global SCIP settings */
    1642 SCIP_Real val1, /**< first value to be compared */
    1643 SCIP_Real val2 /**< second value to be compared */
    1644 );
    1645
    1646/** checks if relative difference of val1 and val2 is greater than sumepsilon */
    1648 SCIP_SET* set, /**< global SCIP settings */
    1649 SCIP_Real val1, /**< first value to be compared */
    1650 SCIP_Real val2 /**< second value to be compared */
    1651 );
    1652
    1653/** checks if relative difference of val1 and val2 is not lower than -sumepsilon */
    1655 SCIP_SET* set, /**< global SCIP settings */
    1656 SCIP_Real val1, /**< first value to be compared */
    1657 SCIP_Real val2 /**< second value to be compared */
    1658 );
    1659
    1660/** returns the flag indicating whether sub-SCIPs that could cause recursion have been deactivated */
    1662 SCIP_SET* set /**< global SCIP settings */
    1663 );
    1664
    1665
    1666#ifdef NDEBUG
    1667
    1668/* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
    1669 * speed up the algorithms.
    1670 */
    1671
    1672#define SCIPsetInfinity(set) ( (set)->num_infinity )
    1673#define SCIPsetGetHugeValue(set) ( (set)->num_hugeval )
    1674#define SCIPsetEpsilon(set) ( (set)->num_epsilon )
    1675#define SCIPsetSumepsilon(set) ( (set)->num_sumepsilon )
    1676#define SCIPsetFeastol(set) ( (set)->num_feastol )
    1677#define SCIPsetLPFeastolFactor(set) ( (set)->num_lpfeastolfactor )
    1678#define SCIPsetDualfeastol(set) ( (set)->num_dualfeastol )
    1679#define SCIPsetBarrierconvtol(set) ( (set)->num_barrierconvtol )
    1680#define SCIPsetPseudocosteps(set) ( (set)->num_pseudocosteps )
    1681#define SCIPsetPseudocostdelta(set) ( (set)->num_pseudocostdelta )
    1682#define SCIPsetRelaxfeastol(set) ( (set)->num_relaxfeastol )
    1683#define SCIPsetCutoffbounddelta(set) ( MIN(100.0 * SCIPsetFeastol(set), 0.0001) )
    1684#define SCIPsetRecompfac(set) ( (set)->num_recompfac )
    1685#define SCIPsetIsEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_epsilon) )
    1686#define SCIPsetIsLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_epsilon) )
    1687#define SCIPsetIsLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_epsilon) )
    1688#define SCIPsetIsGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_epsilon) )
    1689#define SCIPsetIsGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_epsilon) )
    1690#define SCIPsetIsInfinity(set, val) ( (val) >= (set)->num_infinity )
    1691#define SCIPsetIsHugeValue(set, val) ( (val) >= (set)->num_hugeval )
    1692#define SCIPsetIsZero(set, val) ( EPSZ(val, (set)->num_epsilon) )
    1693#define SCIPsetIsPositive(set, val) ( EPSP(val, (set)->num_epsilon) )
    1694#define SCIPsetIsNegative(set, val) ( EPSN(val, (set)->num_epsilon) )
    1695#define SCIPsetIsIntegral(set, val) ( EPSISINT(val, (set)->num_epsilon) )
    1696#define SCIPsetIsScalingIntegral(set, val, scalar) \
    1697 ( EPSISINT((scalar)*(val), MAX(REALABS(scalar), 1.0)*(set)->num_epsilon) )
    1698#define SCIPsetIsFracIntegral(set, val) ( !EPSP(val, (set)->num_epsilon) )
    1699#define SCIPsetFloor(set, val) ( EPSFLOOR(val, (set)->num_epsilon) )
    1700#define SCIPsetCeil(set, val) ( EPSCEIL(val, (set)->num_epsilon) )
    1701#define SCIPsetRound(set, val) ( EPSROUND(val, (set)->num_epsilon) )
    1702#define SCIPsetFrac(set, val) ( EPSFRAC(val, (set)->num_epsilon) )
    1703
    1704#define SCIPsetIsSumEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_sumepsilon) )
    1705#define SCIPsetIsSumLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_sumepsilon) )
    1706#define SCIPsetIsSumLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_sumepsilon) )
    1707#define SCIPsetIsSumGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_sumepsilon) )
    1708#define SCIPsetIsSumGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_sumepsilon) )
    1709#define SCIPsetIsSumZero(set, val) ( EPSZ(val, (set)->num_sumepsilon) )
    1710#define SCIPsetIsSumPositive(set, val) ( EPSP(val, (set)->num_sumepsilon) )
    1711#define SCIPsetIsSumNegative(set, val) ( EPSN(val, (set)->num_sumepsilon) )
    1712#define SCIPsetSumFloor(set, val) ( EPSFLOOR(val, (set)->num_sumepsilon) )
    1713#define SCIPsetSumCeil(set, val) ( EPSCEIL(val, (set)->num_sumepsilon) )
    1714#define SCIPsetSumRound(set, val) ( EPSROUND(val, (set)->num_sumepsilon) )
    1715#define SCIPsetSumFrac(set, val) ( EPSFRAC(val, (set)->num_sumepsilon) )
    1716
    1717#define SCIPsetIsFeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_feastol) )
    1718#define SCIPsetIsFeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
    1719#define SCIPsetIsFeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
    1720#define SCIPsetIsFeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
    1721#define SCIPsetIsFeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
    1722#define SCIPsetIsFeasZero(set, val) ( EPSZ(val, (set)->num_feastol) )
    1723#define SCIPsetIsFeasPositive(set, val) ( EPSP(val, (set)->num_feastol) )
    1724#define SCIPsetIsFeasNegative(set, val) ( EPSN(val, (set)->num_feastol) )
    1725#define SCIPsetIsFeasIntegral(set, val) ( EPSISINT(val, (set)->num_feastol) )
    1726#define SCIPsetIsFeasFracIntegral(set, val) ( !EPSP(val, (set)->num_feastol) )
    1727#define SCIPsetFeasFloor(set, val) ( EPSFLOOR(val, (set)->num_feastol) )
    1728#define SCIPsetFeasCeil(set, val) ( EPSCEIL(val, (set)->num_feastol) )
    1729#define SCIPsetFeasRound(set, val) ( EPSROUND(val, (set)->num_feastol) )
    1730#define SCIPsetFeasFrac(set, val) ( EPSFRAC(val, (set)->num_feastol) )
    1731
    1732#define SCIPsetIsDualfeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
    1733#define SCIPsetIsDualfeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
    1734#define SCIPsetIsDualfeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
    1735#define SCIPsetIsDualfeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
    1736#define SCIPsetIsDualfeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
    1737#define SCIPsetIsDualfeasZero(set, val) ( EPSZ(val, (set)->num_dualfeastol) )
    1738#define SCIPsetIsDualfeasPositive(set, val) ( EPSP(val, (set)->num_dualfeastol) )
    1739#define SCIPsetIsDualfeasNegative(set, val) ( EPSN(val, (set)->num_dualfeastol) )
    1740#define SCIPsetIsDualfeasIntegral(set, val) ( EPSISINT(val, (set)->num_dualfeastol) )
    1741#define SCIPsetIsDualfeasFracIntegral(set, val) ( !EPSP(val, (set)->num_dualfeastol) )
    1742#define SCIPsetDualfeasFloor(set, val) ( EPSFLOOR(val, (set)->num_dualfeastol) )
    1743#define SCIPsetDualfeasCeil(set, val) ( EPSCEIL(val, (set)->num_dualfeastol) )
    1744#define SCIPsetDualfeasRound(set, val) ( EPSROUND(val, (set)->num_dualfeastol) )
    1745#define SCIPsetDualfeasFrac(set, val) ( EPSFRAC(val, (set)->num_dualfeastol) )
    1746
    1747#define SCIPsetIsLbBetter(set, newlb, oldlb, oldub) ( ((oldlb) < 0.0 && (newlb) >= 0.0) || EPSGT(newlb, oldlb, \
    1748 set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldlb)), 1e-3)) )
    1749#define SCIPsetIsUbBetter(set, newub, oldlb, oldub) ( ((oldub) > 0.0 && (newub) <= 0.0) || EPSLT(newub, oldub, \
    1750 set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldub)), 1e-3)) )
    1751#define SCIPsetIsEfficacious(set, root, efficacy) \
    1752 ( root ? EPSP(efficacy, (set)->sepa_minefficacyroot) : EPSP(efficacy, (set)->sepa_minefficacy) )
    1753
    1754#define SCIPsetIsRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
    1755#define SCIPsetIsRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
    1756#define SCIPsetIsRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
    1757#define SCIPsetIsRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
    1758#define SCIPsetIsRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
    1759
    1760#define SCIPsetIsSumRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
    1761#define SCIPsetIsSumRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
    1762#define SCIPsetIsSumRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
    1763#define SCIPsetIsSumRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
    1764#define SCIPsetIsSumRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
    1765#define SCIPsetIsUpdateUnreliable(set, newvalue, oldvalue) \
    1766 ( (ABS(oldvalue) / MAX(ABS(newvalue), set->num_epsilon)) >= set->num_recompfac )
    1767#define SCIPsetInitializeRandomSeed(set, val) ( (val + (set)->random_randomseedshiftmultiplier * (set)->random_randomseedshift) )
    1768
    1769#define SCIPsetGetSubscipsOff(set) ( (set)->subscipsoff )
    1770
    1771#endif
    1772
    1773#define SCIPsetAllocBuffer(set,ptr) ( (BMSallocBufferMemory((set)->buffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
    1774#define SCIPsetAllocBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
    1775#define SCIPsetAllocBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
    1776#define SCIPsetDuplicateBufferSize(set,ptr,source,size) ( (BMSduplicateBufferMemory((set)->buffer, (ptr), (source), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
    1777#define SCIPsetDuplicateBufferArray(set,ptr,source,num) ( (BMSduplicateBufferMemoryArray((set)->buffer, (ptr), (source), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
    1778#define SCIPsetReallocBufferSize(set,ptr,size) ( (BMSreallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
    1779#define SCIPsetReallocBufferArray(set,ptr,num) ( (BMSreallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
    1780#define SCIPsetFreeBuffer(set,ptr) BMSfreeBufferMemory((set)->buffer, (ptr))
    1781#define SCIPsetFreeBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->buffer, (ptr))
    1782#define SCIPsetFreeBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->buffer, (ptr))
    1783
    1784#define SCIPsetAllocCleanBuffer(set,ptr) ( (BMSallocBufferMemory((set)->cleanbuffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
    1785#define SCIPsetAllocCleanBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->cleanbuffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
    1786#define SCIPsetAllocCleanBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->cleanbuffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
    1787#define SCIPsetFreeCleanBuffer(set,ptr) BMSfreeBufferMemory((set)->cleanbuffer, (ptr))
    1788#define SCIPsetFreeCleanBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->cleanbuffer, (ptr))
    1789#define SCIPsetFreeCleanBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->cleanbuffer, (ptr))
    1790
    1791/* if we have a C99 compiler */
    1792#ifdef SCIP_HAVE_VARIADIC_MACROS
    1793
    1794/** prints a debugging message if SCIP_DEBUG flag is set */
    1795#ifdef SCIP_DEBUG
    1796#define SCIPsetDebugMsg(set, ...) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
    1797#define SCIPsetDebugMsgPrint(set, ...) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
    1798#else
    1799#define SCIPsetDebugMsg(set, ...) while ( FALSE ) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
    1800#define SCIPsetDebugMsgPrint(set, ...) while ( FALSE ) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
    1801#endif
    1802
    1803#else
    1804/* if we do not have a C99 compiler, use a workaround that prints a message, but not the file and linenumber */
    1805
    1806/** prints a debugging message if SCIP_DEBUG flag is set */
    1807#ifdef SCIP_DEBUG
    1808#define SCIPsetDebugMsg printf("debug: "), SCIPsetDebugMessagePrint
    1809#define SCIPsetDebugMsgPrint printf("debug: "), SCIPsetDebugMessagePrint
    1810#else
    1811#define SCIPsetDebugMsg while ( FALSE ) SCIPsetDebugMsgPrint
    1812#define SCIPsetDebugMsgPrint while ( FALSE ) SCIPsetDebugMessagePrint
    1813#endif
    1814
    1815#endif
    1816
    1817
    1818/** prints a debug message */
    1819#ifdef __GNUC__
    1820__attribute__((format(printf, 4, 5)))
    1821#endif
    1822SCIP_EXPORT
    1824 SCIP_SET* set, /**< global SCIP settings */
    1825 const char* sourcefile, /**< name of the source file that called the function */
    1826 int sourceline, /**< line in the source file where the function was called */
    1827 const char* formatstr, /**< format string like in printf() function */
    1828 ... /**< format arguments line in printf() function */
    1829 );
    1830
    1831/** prints a debug message without precode */
    1832#ifdef __GNUC__
    1833__attribute__((format(printf, 2, 3)))
    1834#endif
    1835SCIP_EXPORT
    1837 SCIP_SET* set, /**< global SCIP settings */
    1838 const char* formatstr, /**< format string like in printf() function */
    1839 ... /**< format arguments line in printf() function */
    1840 );
    1841
    1842
    1843#ifdef __cplusplus
    1844}
    1845#endif
    1846
    1847#endif
    struct SCIP_DebugSolData SCIP_DEBUGSOLDATA
    Definition: debug.h:59
    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
    memory allocation routines
    struct BMS_BlkMem BMS_BLKMEM
    Definition: memory.h:437
    public data structures and miscellaneous methods
    void SCIPsetSortCutsels(SCIP_SET *set)
    Definition: set.c:4603
    SCIP_Bool SCIPsetIsDualfeasZero(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7292
    SCIP_DISP * SCIPsetFindDisp(SCIP_SET *set, const char *name)
    Definition: set.c:5283
    SCIP_Real SCIPsetFloor(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6716
    SCIP_RETCODE SCIPsetIncludeReader(SCIP_SET *set, SCIP_READER *reader)
    Definition: set.c:3917
    void SCIPsetSortBranchrules(SCIP_SET *set)
    Definition: set.c:5164
    SCIP_Bool SCIPsetIsDualfeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7220
    SCIP_RETCODE SCIPsetSetSeparating(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
    Definition: set.c:3884
    void SCIPsetSortBranchrulesName(SCIP_SET *set)
    Definition: set.c:5179
    SCIP_RETCODE SCIPsetSetBarrierconvtol(SCIP_SET *set, SCIP_Real barrierconvtol)
    Definition: set.c:6160
    SCIP_RETCODE SCIPsetAddIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int *valueptr, SCIP_Bool isadvanced, int defaultvalue, int minvalue, int maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
    Definition: set.c:3229
    int SCIPsetCalcTreeGrowSize(SCIP_SET *set, int num)
    Definition: set.c:6089
    void SCIPsetSortConflicthdlrsName(SCIP_SET *set)
    Definition: set.c:4323
    SCIP_Bool SCIPsetIsLbBetter(SCIP_SET *set, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
    Definition: set.c:7402
    void SCIPsetSortPresolsName(SCIP_SET *set)
    Definition: set.c:4396
    SCIP_RETCODE SCIPsetResetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name)
    Definition: set.c:3767
    SCIP_EXPRHDLR * SCIPsetFindExprhdlr(SCIP_SET *set, const char *name)
    Definition: set.c:5426
    SCIP_Bool SCIPsetIsRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7487
    SCIP_Bool SCIPsetIsEfficacious(SCIP_SET *set, SCIP_Bool root, SCIP_Real efficacy)
    Definition: set.c:7447
    SCIP_NODESEL * SCIPsetFindNodesel(SCIP_SET *set, const char *name)
    Definition: set.c:5062
    SCIP_Bool SCIPsetExistsDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
    Definition: set.c:5370
    SCIP_RETCODE SCIPsetSetFeastol(SCIP_SET *set, SCIP_LP *lp, SCIP_Real feastol)
    Definition: set.c:6126
    void SCIPsetSortPresols(SCIP_SET *set)
    Definition: set.c:4381
    SCIP_PRICER * SCIPsetFindPricer(SCIP_SET *set, const char *name)
    Definition: set.c:3982
    SCIP_RETCODE SCIPsetSetRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Real value)
    Definition: set.c:3631
    SCIP_RETCODE SCIPsetWriteParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
    Definition: set.c:3751
    SCIP_Bool SCIPsetIsFeasPositive(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7076
    SCIP_TABLE * SCIPsetFindTable(SCIP_SET *set, const char *name)
    Definition: set.c:5328
    SCIP_RETCODE SCIPsetAddStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, char **valueptr, SCIP_Bool isadvanced, const char *defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
    Definition: set.c:3324
    SCIP_Bool SCIPsetIsHugeValue(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6526
    SCIP_IISFINDER * SCIPsetFindIISfinder(SCIP_SET *set, const char *name)
    Definition: set.c:5217
    SCIP_Bool SCIPsetIsDualfeasFracIntegral(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7337
    SCIP_RETCODE SCIPsetIncludeBenders(SCIP_SET *set, SCIP_BENDERS *benders)
    Definition: set.c:4032
    SCIP_Real SCIPsetDualfeasCeil(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7363
    SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6617
    SCIP_RETCODE SCIPsetSetStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
    Definition: set.c:3707
    SCIP_Real SCIPsetSumRound(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6921
    SCIP_COMPR * SCIPsetFindCompr(SCIP_SET *set, const char *name)
    Definition: set.c:4938
    SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7136
    SCIP_RETCODE SCIPsetGetCharParam(SCIP_SET *set, const char *name, char *value)
    Definition: set.c:3424
    SCIP_Real SCIPsetSumFloor(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6897
    SCIP_Bool SCIPsetIsFeasFracIntegral(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7110
    SCIP_RETCODE SCIPsetIncludeIISfinder(SCIP_SET *set, SCIP_IISFINDER *iisfinder)
    Definition: set.c:5194
    SCIP_RETCODE SCIPsetIncludeBranchrule(SCIP_SET *set, SCIP_BRANCHRULE *branchrule)
    Definition: set.c:5120
    SCIP_RETCODE SCIPsetSetDefaultIntParam(SCIP_SET *set, const char *name, int defaultvalue)
    Definition: set.c:3556
    SCIP_Bool SCIPsetIsFeasNegative(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7087
    SCIP_RETCODE SCIPsetAddLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Longint *valueptr, SCIP_Bool isadvanced, SCIP_Longint defaultvalue, SCIP_Longint minvalue, SCIP_Longint maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
    Definition: set.c:3253
    SCIP_Bool SCIPsetGetSubscipsOff(SCIP_SET *set)
    Definition: set.c:7703
    SCIP_RETCODE SCIPsetIncludeRelax(SCIP_SET *set, SCIP_RELAX *relax)
    Definition: set.c:4411
    SCIP_Real SCIPsetSetRelaxfeastol(SCIP_SET *set, SCIP_Real relaxfeastol)
    Definition: set.c:6178
    SCIP_Bool SCIPsetIsSumRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7679
    SCIP_RETCODE SCIPsetIncludeBanditvtable(SCIP_SET *set, SCIP_BANDITVTABLE *banditvtable)
    Definition: set.c:4709
    SCIP_RETCODE SCIPsetIncludeConcsolverType(SCIP_SET *set, SCIP_CONCSOLVERTYPE *concsolvertype)
    Definition: set.c:4752
    SCIP_Real SCIPsetFeastol(SCIP_SET *set)
    Definition: set.c:6422
    SCIP_RETCODE SCIPsetInitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
    Definition: set.c:5870
    SCIP_RETCODE SCIPsetGetLongintParam(SCIP_SET *set, const char *name, SCIP_Longint *value)
    Definition: set.c:3396
    SCIP_RETCODE SCIPsetIncludeSepa(SCIP_SET *set, SCIP_SEPA *sepa)
    Definition: set.c:4485
    SCIP_RETCODE SCIPsetIncludeTable(SCIP_SET *set, SCIP_TABLE *table)
    Definition: set.c:5303
    SCIP_Real SCIPsetPseudocosteps(SCIP_SET *set)
    Definition: set.c:6460
    SCIP_RETCODE SCIPsetGetStringParam(SCIP_SET *set, const char *name, char **value)
    Definition: set.c:3438
    SCIP_RETCODE SCIPsetSetHeuristics(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
    Definition: set.c:3848
    SCIP_Bool SCIPsetIsSumGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6824
    SCIP_RETCODE SCIPsetInitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
    Definition: set.c:5561
    SCIP_RETCODE SCIPsetSetDualfeastol(SCIP_SET *set, SCIP_Real dualfeastol)
    Definition: set.c:6147
    SCIP_RETCODE SCIPsetSetReoptimizationParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
    Definition: set.c:807
    SCIP_RETCODE SCIPsetSetIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, int value)
    Definition: set.c:3541
    SCIP_PARAM ** SCIPsetGetParams(SCIP_SET *set)
    Definition: set.c:3897
    SCIP_RETCODE SCIPsetAddCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, char *valueptr, SCIP_Bool isadvanced, char defaultvalue, const char *allowedvalues, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
    Definition: set.c:3301
    SCIP_Real SCIPsetCeil(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6728
    SCIP_RETCODE SCIPsetIncludeConflicthdlr(SCIP_SET *set, SCIP_CONFLICTHDLR *conflicthdlr)
    Definition: set.c:4264
    int SCIPsetGetSepaMaxcuts(SCIP_SET *set, SCIP_Bool root)
    Definition: set.c:6233
    SCIP_RETCODE SCIPsetFreeConcsolvers(SCIP_SET *set)
    Definition: set.c:4818
    SCIP_Bool SCIPsetIsRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7463
    SCIP_RETCODE SCIPsetAddBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
    Definition: set.c:3207
    SCIP_RETCODE SCIPsetIncludePricer(SCIP_SET *set, SCIP_PRICER *pricer)
    Definition: set.c:3959
    SCIP_Bool SCIPsetIsDualfeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7196
    SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7017
    SCIP_Bool SCIPsetIsFeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6993
    SCIP_Real SCIPsetFeasRound(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7148
    SCIP_Bool SCIPsetIsFeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6945
    void SCIPsetSortPropsPresol(SCIP_SET *set)
    Definition: set.c:4679
    SCIP_Bool SCIPsetIsPositive(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6648
    SCIP_Bool SCIPsetIsSumRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7655
    SCIP_RETCODE SCIPsetCheckParamValuePtrUnique(SCIP_SET *set)
    Definition: set.c:3794
    SCIP_RELAX * SCIPsetFindRelax(SCIP_SET *set, const char *name)
    Definition: set.c:4435
    SCIP_RETCODE SCIPsetSetDefaultBoolParam(SCIP_SET *set, const char *name, SCIP_Bool defaultvalue)
    Definition: set.c:3503
    SCIP_HEUR * SCIPsetFindHeur(SCIP_SET *set, const char *name)
    Definition: set.c:4864
    SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6577
    void SCIPsetSortRelaxsName(SCIP_SET *set)
    Definition: set.c:4470
    void SCIPsetDebugMessagePrint(SCIP_SET *set, const char *formatstr,...)
    Definition: set.c:7783
    void SCIPsetSortPropsName(SCIP_SET *set)
    Definition: set.c:4694
    SCIP_Bool SCIPsetIsScalingIntegral(SCIP_SET *set, SCIP_Real val, SCIP_Real scalar)
    Definition: set.c:6682
    SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7124
    SCIP_Real SCIPsetRelaxfeastol(SCIP_SET *set)
    Definition: set.c:6494
    SCIP_Bool SCIPsetIsParamFixed(SCIP_SET *set, const char *name)
    Definition: set.c:3346
    SCIP_RETCODE SCIPsetIncludeDisp(SCIP_SET *set, SCIP_DISP *disp)
    Definition: set.c:5251
    SCIP_RETCODE SCIPsetSetLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Longint value)
    Definition: set.c:3593
    void SCIPsetSortRelaxs(SCIP_SET *set)
    Definition: set.c:4455
    SCIP_RETCODE SCIPsetAddRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Real *valueptr, SCIP_Bool isadvanced, SCIP_Real defaultvalue, SCIP_Real minvalue, SCIP_Real maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
    Definition: set.c:3277
    SCIP_Bool SCIPsetIsSumLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6804
    void SCIPsetPrintDebugMessage(SCIP_SET *set, const char *sourcefile, int sourceline, const char *formatstr,...)
    Definition: set.c:7739
    SCIP_Bool SCIPsetIsDualfeasNegative(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7314
    SCIP_CONCSOLVERTYPE * SCIPsetFindConcsolverType(SCIP_SET *set, const char *name)
    Definition: set.c:4774
    SCIP_RETCODE SCIPsetSetVerbLevel(SCIP_SET *set, SCIP_VERBLEVEL verblevel)
    Definition: set.c:6107
    SCIP_RETCODE SCIPsetGetBoolParam(SCIP_SET *set, const char *name, SCIP_Bool *value)
    Definition: set.c:3368
    SCIP_CONSHDLR * SCIPsetFindConshdlr(SCIP_SET *set, const char *name)
    Definition: set.c:4244
    SCIP_Real SCIPsetDualfeastol(SCIP_SET *set)
    Definition: set.c:6432
    void SCIPsetSortComprs(SCIP_SET *set)
    Definition: set.c:4958
    void SCIPsetSortIISfinders(SCIP_SET *set)
    Definition: set.c:5237
    SCIP_RETCODE SCIPsetIncludeConcsolver(SCIP_SET *set, SCIP_CONCSOLVER *concsolver)
    Definition: set.c:4794
    SCIP_Real SCIPsetEpsilon(SCIP_SET *set)
    Definition: set.c:6402
    SCIP_RETCODE SCIPsetChgParamFixed(SCIP_SET *set, const char *name, SCIP_Bool fixed)
    Definition: set.c:3452
    SCIP_BENDERS * SCIPsetFindBenders(SCIP_SET *set, const char *name)
    Definition: set.c:4055
    SCIP_Bool SCIPsetIsSumRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7583
    SCIP_CUTSEL * SCIPsetFindCutsel(SCIP_SET *set, const char *name)
    Definition: set.c:4583
    SCIP_RETCODE SCIPsetIncludeExprhdlr(SCIP_SET *set, SCIP_EXPRHDLR *exprhdlr)
    Definition: set.c:5392
    void SCIPsetSortComprsName(SCIP_SET *set)
    Definition: set.c:4973
    SCIP_RETCODE SCIPsetExitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
    Definition: set.c:5832
    SCIP_Bool SCIPsetIsSumGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6844
    void SCIPsetSortPricersName(SCIP_SET *set)
    Definition: set.c:4017
    SCIP_RETCODE SCIPsetChgRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Real value)
    Definition: set.c:3608
    SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6537
    SCIP_Bool SCIPsetIsFeasZero(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7065
    SCIP_RETCODE SCIPsetChgBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Bool value)
    Definition: set.c:3466
    SCIP_Bool SCIPsetIsSumNegative(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6886
    SCIP_STAGE SCIPsetGetStage(SCIP_SET *set)
    Definition: set.c:3197
    SCIP_Bool SCIPsetIsSumLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6784
    SCIP_RETCODE SCIPsetIncludeProp(SCIP_SET *set, SCIP_PROP *prop)
    Definition: set.c:4617
    SCIP_RETCODE SCIPsetIncludeCutsel(SCIP_SET *set, SCIP_CUTSEL *cutsel)
    Definition: set.c:4559
    SCIP_Real SCIPsetGetSepaMaxCoefRatioRowprep(SCIP_SET *set)
    Definition: set.c:6247
    SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6969
    SCIP_RETCODE SCIPsetIncludeConshdlr(SCIP_SET *set, SCIP_CONSHDLR *conshdlr)
    Definition: set.c:4105
    void SCIPsetSortPricers(SCIP_SET *set)
    Definition: set.c:4002
    SCIP_Real SCIPsetFrac(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6752
    SCIP_RETCODE SCIPsetSetCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, char value)
    Definition: set.c:3669
    SCIP_RETCODE SCIPsetSetSubscipsOff(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
    Definition: set.c:3831
    SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
    Definition: set.c:7426
    void SCIPsetSortSepas(SCIP_SET *set)
    Definition: set.c:4529
    void SCIPsetReinsertConshdlrSepaPrio(SCIP_SET *set, SCIP_CONSHDLR *conshdlr, int oldpriority)
    Definition: set.c:4161
    SCIP_RETCODE SCIPsetIncludeHeur(SCIP_SET *set, SCIP_HEUR *heur)
    Definition: set.c:4840
    SCIP_Real SCIPsetLPFeastolFactor(SCIP_SET *set)
    Definition: set.c:6442
    SCIP_Real SCIPsetInfinity(SCIP_SET *set)
    Definition: set.c:6380
    SCIP_RETCODE SCIPsetGetIntParam(SCIP_SET *set, const char *name, int *value)
    Definition: set.c:3382
    SCIP_RETCODE SCIPsetIncludeEventhdlr(SCIP_SET *set, SCIP_EVENTHDLR *eventhdlr)
    Definition: set.c:4988
    void SCIPsetSortProps(SCIP_SET *set)
    Definition: set.c:4664
    SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
    Definition: set.c:1184
    SCIP_Real SCIPsetSumepsilon(SCIP_SET *set)
    Definition: set.c:6412
    SCIP_RETCODE SCIPsetSetPresolving(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
    Definition: set.c:3866
    SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6557
    SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6515
    SCIP_RETCODE SCIPsetGetRealParam(SCIP_SET *set, const char *name, SCIP_Real *value)
    Definition: set.c:3410
    void SCIPsetSortHeurs(SCIP_SET *set)
    Definition: set.c:4884
    SCIP_Bool SCIPsetIsSumZero(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6864
    SCIP_RETCODE SCIPsetIncludePresol(SCIP_SET *set, SCIP_PRESOL *presol)
    Definition: set.c:4338
    SCIP_Real SCIPsetDualfeasRound(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7375
    SCIP_RETCODE SCIPsetChgStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, const char *value)
    Definition: set.c:3684
    SCIP_Bool SCIPsetIsDualfeasIntegral(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7325
    SCIP_Bool SCIPsetIsRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7559
    SCIP_RETCODE SCIPsetIncludeNodesel(SCIP_SET *set, SCIP_NODESEL *nodesel)
    Definition: set.c:5031
    SCIP_SEPA * SCIPsetFindSepa(SCIP_SET *set, const char *name)
    Definition: set.c:4509
    SCIP_RETCODE SCIPsetIncludeCompr(SCIP_SET *set, SCIP_COMPR *compr)
    Definition: set.c:4914
    int SCIPsetCalcPathGrowSize(SCIP_SET *set, int num)
    Definition: set.c:6098
    SCIP_Bool SCIPsetIsDualfeasPositive(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7303
    void SCIPsetSortHeursName(SCIP_SET *set)
    Definition: set.c:4899
    SCIP_RETCODE SCIPsetChgCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, char value)
    Definition: set.c:3646
    void SCIPsetSortNlpis(SCIP_SET *set)
    Definition: set.c:5501
    SCIP_NLPI * SCIPsetFindNlpi(SCIP_SET *set, const char *name)
    Definition: set.c:5481
    SCIP_RETCODE SCIPsetResetParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
    Definition: set.c:3779
    void SCIPsetSortBenders(SCIP_SET *set)
    Definition: set.c:4075
    void SCIPsetSortExprhdlrs(SCIP_SET *set)
    Definition: set.c:5444
    SCIP_Real SCIPsetGetSepaMaxcutsGenFactor(SCIP_SET *set, SCIP_Bool root)
    Definition: set.c:6219
    SCIP_Bool SCIPsetIsDualfeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7172
    void SCIPsetEnableOrDisablePluginClocks(SCIP_SET *set, SCIP_Bool enabled)
    Definition: set.c:865
    int SCIPsetGetNParams(SCIP_SET *set)
    Definition: set.c:3907
    SCIP_Bool SCIPsetIsDualfeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7244
    SCIP_Bool SCIPsetIsSumRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7607
    SCIP_PARAM * SCIPsetGetParam(SCIP_SET *set, const char *name)
    Definition: set.c:3357
    SCIP_Bool SCIPsetIsRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7535
    SCIP_RETCODE SCIPsetExitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_Bool restart)
    Definition: set.c:5979
    SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6597
    void SCIPsetSortSepasName(SCIP_SET *set)
    Definition: set.c:4544
    SCIP_Bool SCIPsetIsSumEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:6764
    SCIP_RETCODE SCIPsetChgIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, int value)
    Definition: set.c:3518
    SCIP_PROP * SCIPsetFindProp(SCIP_SET *set, const char *name)
    Definition: set.c:4644
    SCIP_CONFLICTHDLR * SCIPsetFindConflicthdlr(SCIP_SET *set, const char *name)
    Definition: set.c:4288
    SCIP_Bool SCIPsetIsIntegral(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6670
    SCIP_Real SCIPsetDualfeasFrac(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7387
    SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6637
    SCIP_Bool SCIPsetIsUpdateUnreliable(SCIP_SET *set, SCIP_Real newvalue, SCIP_Real oldvalue)
    Definition: set.c:7723
    SCIP_Real SCIPsetDualfeasFloor(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7351
    SCIP_RETCODE SCIPsetCopyPlugins(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_Bool copyreaders, SCIP_Bool copypricers, SCIP_Bool copyconshdlrs, SCIP_Bool copyconflicthdlrs, SCIP_Bool copypresolvers, SCIP_Bool copyrelaxators, SCIP_Bool copyseparators, SCIP_Bool copycutselectors, SCIP_Bool copypropagators, SCIP_Bool copyheuristics, SCIP_Bool copyeventhdlrs, SCIP_Bool copynodeselectors, SCIP_Bool copybranchrules, SCIP_Bool copyiisfinders, SCIP_Bool copydisplays, SCIP_Bool copydialogs, SCIP_Bool copytables, SCIP_Bool copyexprhdlrs, SCIP_Bool copynlpis, SCIP_Bool *allvalid)
    Definition: set.c:931
    SCIP_RETCODE SCIPsetSetBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Bool value)
    Definition: set.c:3488
    SCIP_Bool SCIPsetIsFracIntegral(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6702
    SCIP_RETCODE SCIPsetIncludeNlpi(SCIP_SET *set, SCIP_NLPI *nlpi)
    Definition: set.c:5458
    int SCIPsetGetPriceMaxvars(SCIP_SET *set, SCIP_Bool root)
    Definition: set.c:6205
    SCIP_Real SCIPsetPseudocostdelta(SCIP_SET *set)
    Definition: set.c:6470
    SCIP_Real SCIPsetSumCeil(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6909
    SCIP_Real SCIPsetSumFrac(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6933
    SCIP_Real SCIPsetFeasFrac(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7160
    SCIP_RETCODE SCIPsetSetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
    Definition: set.c:3722
    SCIP_Real SCIPsetCutoffbounddelta(SCIP_SET *set)
    Definition: set.c:6480
    SCIP_DEBUGSOLDATA * SCIPsetGetDebugSolData(SCIP_SET *set)
    Definition: set.c:6272
    SCIP_RETCODE SCIPsetExitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
    Definition: set.c:5682
    SCIP_Bool SCIPsetIsSumRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7631
    SCIP_BRANCHRULE * SCIPsetFindBranchrule(SCIP_SET *set, const char *name)
    Definition: set.c:5144
    SCIP_Bool SCIPsetIsDualfeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7268
    SCIP_Real SCIPsetGetReferencevalue(SCIP_SET *set)
    Definition: set.c:6261
    SCIP_READER * SCIPsetFindReader(SCIP_SET *set, const char *name)
    Definition: set.c:3939
    SCIP_Real SCIPsetRecompfac(SCIP_SET *set)
    Definition: set.c:6505
    SCIP_Bool SCIPsetIsFeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7041
    SCIP_RETCODE SCIPsetIncludeDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
    Definition: set.c:5348
    void SCIPsetSortBendersName(SCIP_SET *set)
    Definition: set.c:4090
    SCIP_EVENTHDLR * SCIPsetFindEventhdlr(SCIP_SET *set, const char *name)
    Definition: set.c:5011
    SCIP_RETCODE SCIPsetInitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
    Definition: set.c:5794
    SCIP_Real SCIPsetGetHugeValue(SCIP_SET *set)
    Definition: set.c:6392
    SCIP_Bool SCIPsetIsRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
    Definition: set.c:7511
    SCIP_RETCODE SCIPsetReadParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
    Definition: set.c:3737
    void SCIPsetSortConflicthdlrs(SCIP_SET *set)
    Definition: set.c:4308
    void SCIPsetSetLimitChanged(SCIP_SET *set)
    Definition: set.c:6195
    SCIP_Real SCIPsetBarrierconvtol(SCIP_SET *set)
    Definition: set.c:6450
    SCIP_RETCODE SCIPsetFree(SCIP_SET **set, BMS_BLKMEM *blkmem)
    Definition: set.c:2995
    SCIP_PRESOL * SCIPsetFindPresol(SCIP_SET *set, const char *name)
    Definition: set.c:4361
    SCIP_RETCODE SCIPsetSetEmphasis(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
    Definition: set.c:3816
    SCIP_Real SCIPsetRound(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6740
    SCIP_RETCODE SCIPsetCopyParams(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_MESSAGEHDLR *messagehdlr)
    Definition: set.c:1167
    SCIP_Bool SCIPsetIsSumPositive(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6875
    int SCIPsetCalcMemGrowSize(SCIP_SET *set, int num)
    Definition: set.c:6080
    SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
    Definition: set.c:5529
    SCIP_RETCODE SCIPsetChgLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Longint value)
    Definition: set.c:3570
    SCIP_NODESEL * SCIPsetGetNodesel(SCIP_SET *set, SCIP_STAT *stat)
    Definition: set.c:5082
    SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:7098
    SCIP_Bool SCIPsetIsNegative(SCIP_SET *set, SCIP_Real val)
    Definition: set.c:6659
    unsigned int SCIPsetInitializeRandomSeed(SCIP_SET *set, unsigned int initialseedvalue)
    Definition: set.c:7800
    void SCIPsetSetPriorityNlpi(SCIP_SET *set, SCIP_NLPI *nlpi, int priority)
    Definition: set.c:5515
    SCIP_BANDITVTABLE * SCIPsetFindBanditvtable(SCIP_SET *set, const char *name)
    Definition: set.c:4731
    datastructures for global SCIP settings
    Definition: heur_padm.c:135
    type definitions for bandit selection algorithms
    type definitions for Benders' decomposition methods
    type definitions for branching rules
    type definitions for clocks and timing issues
    type definitions for tree compression
    type definitions for conflict analysis
    type definitions for constraints and constraint handlers
    type definitions for displaying runtime statistics
    type definitions for managing events
    type definitions for primal heuristics
    enum SCIP_VerbLevel SCIP_VERBLEVEL
    Definition: type_message.h:64
    type definitions for node selectors
    type definitions for handling parameter settings
    enum SCIP_ParamSetting SCIP_PARAMSETTING
    Definition: type_paramset.h:65
    struct SCIP_ParamData SCIP_PARAMDATA
    Definition: type_paramset.h:87
    enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
    Definition: type_paramset.h:84
    #define SCIP_DECL_PARAMCHGD(x)
    type definitions for presolvers
    type definitions for variable pricers
    type definitions for propagators
    type definitions for input file readers
    type definitions for relaxators
    enum SCIP_Retcode SCIP_RETCODE
    Definition: type_retcode.h:63
    type definitions for SCIP's main datastructure
    type definitions for separators
    type definitions for global SCIP settings
    enum SCIP_Stage SCIP_STAGE
    Definition: type_set.h:59
    type definitions for problem statistics
    type definitions for displaying statistics tables