Scippy

    SCIP

    Solving Constraint Integer Programs

    scip_param.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 scip_param.h
    26 * @ingroup PUBLICCOREAPI
    27 * @brief public methods for SCIP parameter handling
    28 * @author Tobias Achterberg
    29 * @author Timo Berthold
    30 * @author Thorsten Koch
    31 * @author Alexander Martin
    32 * @author Marc Pfetsch
    33 * @author Kati Wolter
    34 * @author Gregor Hendel
    35 * @author Leona Gottwald
    36 */
    37
    38/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    39
    40#ifndef __SCIP_SCIP_PARAM_H__
    41#define __SCIP_SCIP_PARAM_H__
    42
    43
    44#include "scip/def.h"
    45#include "scip/type_paramset.h"
    46#include "scip/type_retcode.h"
    47#include "scip/type_scip.h"
    48
    49#ifdef __cplusplus
    50extern "C" {
    51#endif
    52
    53/**@addtogroup ParameterMethods
    54 *
    55 * @{
    56 */
    57
    58/** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set
    59 *
    60 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    61 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    62 */
    63SCIP_EXPORT
    65 SCIP* scip, /**< SCIP data structure */
    66 const char* name, /**< name of the parameter */
    67 const char* desc, /**< description of the parameter */
    68 SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
    69 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    70 SCIP_Bool defaultvalue, /**< default value of the parameter */
    71 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    72 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    73 );
    74
    75/** creates a int parameter, sets it to its default value, and adds it to the parameter set
    76 *
    77 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    78 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    79 */
    80SCIP_EXPORT
    82 SCIP* scip, /**< SCIP data structure */
    83 const char* name, /**< name of the parameter */
    84 const char* desc, /**< description of the parameter */
    85 int* valueptr, /**< pointer to store the current parameter value, or NULL */
    86 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    87 int defaultvalue, /**< default value of the parameter */
    88 int minvalue, /**< minimum value for parameter */
    89 int maxvalue, /**< maximum value for parameter */
    90 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    91 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    92 );
    93
    94/** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set
    95 *
    96 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    97 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    98 */
    99SCIP_EXPORT
    101 SCIP* scip, /**< SCIP data structure */
    102 const char* name, /**< name of the parameter */
    103 const char* desc, /**< description of the parameter */
    104 SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
    105 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    106 SCIP_Longint defaultvalue, /**< default value of the parameter */
    107 SCIP_Longint minvalue, /**< minimum value for parameter */
    108 SCIP_Longint maxvalue, /**< maximum value for parameter */
    109 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    110 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    111 );
    112
    113/** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set
    114 *
    115 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    116 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    117 */
    118SCIP_EXPORT
    120 SCIP* scip, /**< SCIP data structure */
    121 const char* name, /**< name of the parameter */
    122 const char* desc, /**< description of the parameter */
    123 SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
    124 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    125 SCIP_Real defaultvalue, /**< default value of the parameter */
    126 SCIP_Real minvalue, /**< minimum value for parameter */
    127 SCIP_Real maxvalue, /**< maximum value for parameter */
    128 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    129 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    130 );
    131
    132/** creates a char parameter, sets it to its default value, and adds it to the parameter set
    133 *
    134 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    135 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    136 */
    137SCIP_EXPORT
    139 SCIP* scip, /**< SCIP data structure */
    140 const char* name, /**< name of the parameter */
    141 const char* desc, /**< description of the parameter */
    142 char* valueptr, /**< pointer to store the current parameter value, or NULL */
    143 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    144 char defaultvalue, /**< default value of the parameter */
    145 const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
    146 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    147 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    148 );
    149
    150/** creates a string(char*) parameter, sets it to its default value, and adds it to the parameter set
    151 *
    152 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    153 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    154 */
    155SCIP_EXPORT
    157 SCIP* scip, /**< SCIP data structure */
    158 const char* name, /**< name of the parameter */
    159 const char* desc, /**< description of the parameter */
    160 char** valueptr, /**< pointer to store the current parameter value, or NULL; if not NULL then *valueptr should be NULL */
    161 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
    162 const char* defaultvalue, /**< default value of the parameter */
    163 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
    164 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
    165 );
    166
    167/** gets the fixing status of an existing parameter
    168 *
    169 * @return TRUE if the parameter is fixed to a value, otherwise FALSE.
    170 */
    171SCIP_EXPORT
    173 SCIP* scip, /**< SCIP data structure */
    174 const char* name /**< name of the parameter */
    175 );
    176
    177/** returns the pointer to the SCIP parameter with the given name
    178 *
    179 * @return pointer to the parameter with the given name
    180 */
    181SCIP_EXPORT
    183 SCIP* scip, /**< SCIP data structure */
    184 const char* name /**< name of the parameter */
    185 );
    186
    187/** gets the value of an existing SCIP_Bool parameter
    188 *
    189 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    190 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    191 */
    192SCIP_EXPORT
    194 SCIP* scip, /**< SCIP data structure */
    195 const char* name, /**< name of the parameter */
    196 SCIP_Bool* value /**< pointer to store the parameter */
    197 );
    198
    199/** gets the value of an existing int parameter
    200 *
    201 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    202 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    203 */
    204SCIP_EXPORT
    206 SCIP* scip, /**< SCIP data structure */
    207 const char* name, /**< name of the parameter */
    208 int* value /**< pointer to store the parameter */
    209 );
    210
    211/** gets the value of an existing SCIP_Longint parameter
    212 *
    213 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    214 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    215 */
    216SCIP_EXPORT
    218 SCIP* scip, /**< SCIP data structure */
    219 const char* name, /**< name of the parameter */
    220 SCIP_Longint* value /**< pointer to store the parameter */
    221 );
    222
    223/** gets the value of an existing SCIP_Real parameter
    224 *
    225 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    226 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    227 */
    228SCIP_EXPORT
    230 SCIP* scip, /**< SCIP data structure */
    231 const char* name, /**< name of the parameter */
    232 SCIP_Real* value /**< pointer to store the parameter */
    233 );
    234
    235/** gets the value of an existing char parameter
    236 *
    237 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    238 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    239 */
    240SCIP_EXPORT
    242 SCIP* scip, /**< SCIP data structure */
    243 const char* name, /**< name of the parameter */
    244 char* value /**< pointer to store the parameter */
    245 );
    246
    247/** gets the value of an existing string(char*) parameter
    248 *
    249 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    250 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    251 */
    252SCIP_EXPORT
    254 SCIP* scip, /**< SCIP data structure */
    255 const char* name, /**< name of the parameter */
    256 char** value /**< pointer to store the parameter */
    257 );
    258
    259/** fixes the value of an existing parameter
    260 *
    261 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    262 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    263 *
    264 * @note: Be careful with this method! Some general settings, e.g., the time or node limit, should not be fixed because
    265 * they have to be changed for sub-SCIPs.
    266 */
    267SCIP_EXPORT
    269 SCIP* scip, /**< SCIP data structure */
    270 const char* name /**< name of the parameter */
    271 );
    272
    273/** unfixes the value of an existing parameter
    274 *
    275 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    276 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    277 */
    278SCIP_EXPORT
    280 SCIP* scip, /**< SCIP data structure */
    281 const char* name /**< name of the parameter */
    282 );
    283
    284/** changes the value of an existing SCIP_Bool parameter
    285 *
    286 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    287 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    288 */
    289SCIP_EXPORT
    291 SCIP* scip, /**< SCIP data structure */
    292 SCIP_PARAM* param, /**< parameter */
    293 SCIP_Bool value /**< new value of the parameter */
    294 );
    295
    296/** changes the value of an existing SCIP_Bool parameter
    297 *
    298 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    299 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    300 */
    301SCIP_EXPORT
    303 SCIP* scip, /**< SCIP data structure */
    304 const char* name, /**< name of the parameter */
    305 SCIP_Bool value /**< new value of the parameter */
    306 );
    307
    308/** checks whether the value of an existing SCIP_Bool parameter is valid */
    309SCIP_EXPORT
    311 SCIP* scip, /**< SCIP data structure */
    312 SCIP_PARAM* param, /**< parameter */
    313 SCIP_Bool value /**< value to check */
    314 );
    315
    316/** changes the value of an existing int parameter
    317 *
    318 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    319 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    320 */
    321SCIP_EXPORT
    323 SCIP* scip, /**< SCIP data structure */
    324 SCIP_PARAM* param, /**< parameter */
    325 int value /**< new value of the parameter */
    326 );
    327
    328/** changes the value of an existing int parameter
    329 *
    330 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    331 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    332 */
    333SCIP_EXPORT
    335 SCIP* scip, /**< SCIP data structure */
    336 const char* name, /**< name of the parameter */
    337 int value /**< new value of the parameter */
    338 );
    339
    340/** checks whether the value of an existing int parameter is valid */
    341SCIP_EXPORT
    343 SCIP* scip, /**< SCIP data structure */
    344 SCIP_PARAM* param, /**< parameter */
    345 int value /**< value to check */
    346 );
    347
    348/** changes the value of an existing SCIP_Longint parameter
    349 *
    350 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    351 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    352 */
    353SCIP_EXPORT
    355 SCIP* scip, /**< SCIP data structure */
    356 SCIP_PARAM* param, /**< parameter */
    357 SCIP_Longint value /**< new value of the parameter */
    358 );
    359
    360/** changes the value of an existing SCIP_Longint parameter
    361 *
    362 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    363 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    364 */
    365SCIP_EXPORT
    367 SCIP* scip, /**< SCIP data structure */
    368 const char* name, /**< name of the parameter */
    369 SCIP_Longint value /**< new value of the parameter */
    370 );
    371
    372/** checks whether parameter value of an existing SCIP_Longint paramter is valid */
    373SCIP_EXPORT
    375 SCIP* scip, /**< SCIP data structure */
    376 SCIP_PARAM* param, /**< parameter */
    377 SCIP_Longint value /**< value to check */
    378 );
    379
    380/** changes the value of an existing SCIP_Real parameter
    381 *
    382 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    383 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    384 */
    385SCIP_EXPORT
    387 SCIP* scip, /**< SCIP data structure */
    388 SCIP_PARAM* param, /**< parameter */
    389 SCIP_Real value /**< new value of the parameter */
    390 );
    391
    392/** changes the value of an existing SCIP_Real parameter
    393 *
    394 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    395 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    396 */
    397SCIP_EXPORT
    399 SCIP* scip, /**< SCIP data structure */
    400 const char* name, /**< name of the parameter */
    401 SCIP_Real value /**< new value of the parameter */
    402 );
    403
    404/** checks whether parameter value of an existing SCIP_Real paramter is valid */
    405SCIP_EXPORT
    407 SCIP* scip, /**< SCIP data structure */
    408 SCIP_PARAM* param, /**< parameter */
    409 SCIP_Real value /**< value to check */
    410 );
    411
    412/** changes the value of an existing char parameter
    413 *
    414 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    415 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    416 */
    417SCIP_EXPORT
    419 SCIP* scip, /**< SCIP data structure */
    420 SCIP_PARAM* param, /**< parameter */
    421 char value /**< new value of the parameter */
    422 );
    423
    424/** changes the value of an existing char parameter
    425 *
    426 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    427 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    428 */
    429SCIP_EXPORT
    431 SCIP* scip, /**< SCIP data structure */
    432 const char* name, /**< name of the parameter */
    433 char value /**< new value of the parameter */
    434 );
    435
    436/** checks whether parameter value for a given SCIP_Real parameter is valid */
    437SCIP_EXPORT
    439 SCIP* scip, /**< SCIP data structure */
    440 SCIP_PARAM* param, /**< parameter */
    441 const char value /**< value to check */
    442 );
    443
    444/** changes the value of an existing string(char*) parameter
    445 *
    446 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    447 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    448 */
    449SCIP_EXPORT
    451 SCIP* scip, /**< SCIP data structure */
    452 SCIP_PARAM* param, /**< parameter */
    453 const char* value /**< new value of the parameter */
    454 );
    455
    456/** changes the value of an existing string(char*) parameter
    457 *
    458 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    459 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    460 */
    461SCIP_EXPORT
    463 SCIP* scip, /**< SCIP data structure */
    464 const char* name, /**< name of the parameter */
    465 const char* value /**< new value of the parameter */
    466 );
    467
    468/** checks whether parameter value for a given string parameter is valid */
    469SCIP_EXPORT
    471 SCIP* scip, /**< SCIP data structure */
    472 SCIP_PARAM* param, /**< parameter */
    473 const char* value /**< value to check */
    474 );
    475
    476/** changes the value of an existing parameter
    477 *
    478 * The parameter type is checked and conversion of the given value to this type is attempted.
    479 *
    480 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    481 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    482 */
    483SCIP_EXPORT
    485 SCIP* scip, /**< SCIP data structure */
    486 const char* name, /**< name of the parameter */
    487 const char* value /**< new value of the parameter as string */
    488 );
    489
    490/** reads parameters from a file
    491 *
    492 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    493 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    494 */
    495SCIP_EXPORT
    497 SCIP* scip, /**< SCIP data structure */
    498 const char* filename /**< file name */
    499 );
    500
    501/** writes a single parameter to a file
    502 *
    503 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    504 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    505 */
    506SCIP_EXPORT
    508 SCIP* scip, /**< SCIP data structure */
    509 SCIP_PARAM* param, /**< parameter */
    510 const char* filename, /**< file name, or NULL for stdout */
    511 SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
    512 SCIP_Bool onlychanged /**< should only those parameters be written that are changed from their
    513 * default value?
    514 */
    515 );
    516
    517/** writes all parameters in the parameter set to a file
    518 *
    519 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    520 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    521 */
    522SCIP_EXPORT
    524 SCIP* scip, /**< SCIP data structure */
    525 const char* filename, /**< file name, or NULL for stdout */
    526 SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
    527 SCIP_Bool onlychanged /**< should only those parameters be written that are changed from their
    528 * default value?
    529 */
    530 );
    531
    532/** resets a single parameter to its default value
    533 *
    534 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    535 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    536 */
    537SCIP_EXPORT
    539 SCIP* scip, /**< SCIP data structure */
    540 const char* name /**< name of the parameter */
    541 );
    542
    543/** resets all parameters to their default values
    544 *
    545 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    546 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    547 */
    548SCIP_EXPORT
    550 SCIP* scip /**< SCIP data structure */
    551 );
    552
    553/** sets parameters to
    554 *
    555 * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPresetParams())
    556 * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
    557 * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
    558 * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
    559 * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
    560 * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
    561 * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
    562 * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
    563 * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
    564 * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
    565 * - \ref SCIP_PARAMEMPHASIS_NUMERICS to solve problems which cause numerical issues
    566 *
    567 *
    568 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    569 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    570 */
    571SCIP_EXPORT
    573 SCIP* scip, /**< SCIP data structure */
    574 SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
    575 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
    576 );
    577
    578/** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
    579 * auxiliary SCIP instances to avoid recursion
    580 *
    581 * @note only deactivates plugins which could cause recursion, some plugins which use sub-SCIPs stay activated
    582 *
    583 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    584 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    585 */
    586SCIP_EXPORT
    588 SCIP* scip, /**< (auxiliary) SCIP data structure */
    589 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
    590 );
    591
    592/** sets heuristic parameters values to
    593 *
    594 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
    595 * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
    596 * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
    597 * - SCIP_PARAMSETTING_OFF which turn off all heuristics
    598 *
    599 * @note: Using SCIP_PARAMSETTING_AGGRESSIVE enables heuristics regardless of the USESSUBSCIP flag,
    600 * which could lead to unintended recursion when applied to a subscip.
    601 *
    602 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    603 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    604 */
    605SCIP_EXPORT
    607 SCIP* scip, /**< SCIP data structure */
    608 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
    609 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
    610 );
    611
    612/** sets presolving parameters to
    613 *
    614 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
    615 * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
    616 * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
    617 * - SCIP_PARAMSETTING_OFF which turn off all presolving
    618 *
    619 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    620 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    621 */
    622SCIP_EXPORT
    624 SCIP* scip, /**< SCIP data structure */
    625 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
    626 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
    627 );
    628
    629/** sets separating parameters to
    630 *
    631 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
    632 * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
    633 * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
    634 * - SCIP_PARAMSETTING_OFF which turn off all separating
    635 *
    636 * @note: Using SCIP_PARAMSETTING_AGGRESSIVE enables separators regardless of the USESSUBSCIP flag,
    637 * which could lead to unintended recursion when applied to a subscip.
    638 *
    639 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
    640 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
    641 */
    642SCIP_EXPORT
    644 SCIP* scip, /**< SCIP data structure */
    645 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
    646 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
    647 );
    648
    649/** returns the array of all available SCIP parameters
    650 *
    651 * @return SCIP_PARAM* array, containing all SCIP parameters.
    652 */
    653SCIP_EXPORT
    655 SCIP* scip /**< SCIP data structure */
    656 );
    657
    658/** returns the total number of all available SCIP parameters
    659 *
    660 * @return number of all SCIP parameters.
    661 */
    662SCIP_EXPORT
    664 SCIP* scip /**< SCIP data structure */
    665 );
    666
    667/** returns whether plugins with sub-SCIPs that could cause recursion have been disabled
    668 *
    669 * @return the value of the variable set->subscipsoff
    670 */
    671SCIP_EXPORT
    673 SCIP* scip /**< SCIP data structure */
    674 );
    675
    676/**@} */
    677
    678#ifdef __cplusplus
    679}
    680#endif
    681
    682#endif
    common defines and data types used in all packages of SCIP
    #define SCIP_Longint
    Definition: def.h:141
    #define SCIP_Bool
    Definition: def.h:91
    #define SCIP_Real
    Definition: def.h:156
    SCIP_RETCODE SCIPgetBoolParam(SCIP *scip, const char *name, SCIP_Bool *value)
    Definition: scip_param.c:250
    SCIP_RETCODE SCIPaddLongintParam(SCIP *scip, 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: scip_param.c:111
    SCIP_Bool SCIPisStringParamValid(SCIP *scip, SCIP_PARAM *param, const char *value)
    Definition: scip_param.c:734
    SCIP_Bool SCIPisParamFixed(SCIP *scip, const char *name)
    Definition: scip_param.c:219
    SCIP_RETCODE SCIPresetParams(SCIP *scip)
    Definition: scip_param.c:853
    SCIP_RETCODE SCIPaddCharParam(SCIP *scip, const char *name, const char *desc, char *valueptr, SCIP_Bool isadvanced, char defaultvalue, const char *allowedvalues, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
    Definition: scip_param.c:167
    SCIP_RETCODE SCIPchgCharParam(SCIP *scip, SCIP_PARAM *param, char value)
    Definition: scip_param.c:635
    SCIP_RETCODE SCIPaddIntParam(SCIP *scip, 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: scip_param.c:83
    SCIP_RETCODE SCIPchgStringParam(SCIP *scip, SCIP_PARAM *param, const char *value)
    Definition: scip_param.c:693
    SCIP_PARAM * SCIPgetParam(SCIP *scip, const char *name)
    Definition: scip_param.c:234
    int SCIPgetNParams(SCIP *scip)
    Definition: scip_param.c:1019
    SCIP_RETCODE SCIPaddStringParam(SCIP *scip, const char *name, const char *desc, char **valueptr, SCIP_Bool isadvanced, const char *defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
    Definition: scip_param.c:194
    SCIP_RETCODE SCIPsetLongintParam(SCIP *scip, const char *name, SCIP_Longint value)
    Definition: scip_param.c:545
    SCIP_RETCODE SCIPaddRealParam(SCIP *scip, 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: scip_param.c:139
    SCIP_RETCODE SCIPsetHeuristics(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
    Definition: scip_param.c:930
    SCIP_Bool SCIPisCharParamValid(SCIP *scip, SCIP_PARAM *param, const char value)
    Definition: scip_param.c:676
    SCIP_RETCODE SCIPsetIntParam(SCIP *scip, const char *name, int value)
    Definition: scip_param.c:487
    SCIP_RETCODE SCIPsetSubscipsOff(SCIP *scip, SCIP_Bool quiet)
    Definition: scip_param.c:904
    SCIP_RETCODE SCIPgetRealParam(SCIP *scip, const char *name, SCIP_Real *value)
    Definition: scip_param.c:307
    SCIP_Bool SCIPisIntParamValid(SCIP *scip, SCIP_PARAM *param, int value)
    Definition: scip_param.c:502
    SCIP_RETCODE SCIPreadParams(SCIP *scip, const char *filename)
    Definition: scip_param.c:772
    SCIP_RETCODE SCIPunfixParam(SCIP *scip, const char *name)
    Definition: scip_param.c:385
    SCIP_RETCODE SCIPwriteParams(SCIP *scip, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
    Definition: scip_param.c:813
    SCIP_RETCODE SCIPresetParam(SCIP *scip, const char *name)
    Definition: scip_param.c:835
    SCIP_RETCODE SCIPchgBoolParam(SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
    Definition: scip_param.c:403
    SCIP_RETCODE SCIPsetPresolving(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
    Definition: scip_param.c:956
    SCIP_RETCODE SCIPsetParam(SCIP *scip, const char *name, const char *value)
    Definition: scip_param.c:753
    SCIP_RETCODE SCIPchgRealParam(SCIP *scip, SCIP_PARAM *param, SCIP_Real value)
    Definition: scip_param.c:577
    SCIP_RETCODE SCIPsetEmphasis(SCIP *scip, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
    Definition: scip_param.c:882
    SCIP_RETCODE SCIPchgLongintParam(SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
    Definition: scip_param.c:519
    SCIP_RETCODE SCIPsetCharParam(SCIP *scip, const char *name, char value)
    Definition: scip_param.c:661
    SCIP_RETCODE SCIPsetStringParam(SCIP *scip, const char *name, const char *value)
    Definition: scip_param.c:719
    SCIP_RETCODE SCIPgetStringParam(SCIP *scip, const char *name, char **value)
    Definition: scip_param.c:345
    SCIP_PARAM ** SCIPgetParams(SCIP *scip)
    Definition: scip_param.c:1005
    SCIP_RETCODE SCIPwriteParam(SCIP *scip, SCIP_PARAM *param, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
    Definition: scip_param.c:790
    SCIP_Bool SCIPgetSubscipsOff(SCIP *scip)
    Definition: scip_param.c:1033
    SCIP_Bool SCIPisLongintParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
    Definition: scip_param.c:560
    SCIP_RETCODE SCIPaddBoolParam(SCIP *scip, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
    Definition: scip_param.c:57
    SCIP_RETCODE SCIPgetLongintParam(SCIP *scip, const char *name, SCIP_Longint *value)
    Definition: scip_param.c:288
    SCIP_RETCODE SCIPgetIntParam(SCIP *scip, const char *name, int *value)
    Definition: scip_param.c:269
    SCIP_RETCODE SCIPsetBoolParam(SCIP *scip, const char *name, SCIP_Bool value)
    Definition: scip_param.c:429
    SCIP_RETCODE SCIPfixParam(SCIP *scip, const char *name)
    Definition: scip_param.c:367
    SCIP_Bool SCIPisRealParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Real value)
    Definition: scip_param.c:618
    SCIP_RETCODE SCIPchgIntParam(SCIP *scip, SCIP_PARAM *param, int value)
    Definition: scip_param.c:461
    SCIP_RETCODE SCIPsetRealParam(SCIP *scip, const char *name, SCIP_Real value)
    Definition: scip_param.c:603
    SCIP_RETCODE SCIPsetSeparating(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
    Definition: scip_param.c:985
    SCIP_Bool SCIPisBoolParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
    Definition: scip_param.c:444
    SCIP_RETCODE SCIPgetCharParam(SCIP *scip, const char *name, char *value)
    Definition: scip_param.c:326
    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 return codes for SCIP methods
    enum SCIP_Retcode SCIP_RETCODE
    Definition: type_retcode.h:63
    type definitions for SCIP's main datastructure