Scippy

    SCIP

    Solving Constraint Integer Programs

    pub_cons.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 pub_cons.h
    26 * @ingroup PUBLICCOREAPI
    27 * @brief public methods for managing constraints
    28 * @author Tobias Achterberg
    29 */
    30
    31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    32
    33#ifndef __SCIP_PUB_CONS_H__
    34#define __SCIP_PUB_CONS_H__
    35
    36
    37#include "scip/def.h"
    38#include "scip/type_misc.h"
    39#include "scip/type_cons.h"
    40
    41#ifdef NDEBUG
    42#include "scip/struct_cons.h"
    43#endif
    44
    45#ifdef __cplusplus
    46extern "C" {
    47#endif
    48
    49/*
    50 * Constraint handler methods
    51 */
    52
    53/**@addtogroup PublicConshdlrMethods
    54 *
    55 * @{
    56 */
    57
    58/** compares two constraint handlers w.r.t. their separation priority */
    59SCIP_EXPORT
    60SCIP_DECL_SORTPTRCOMP(SCIPconshdlrCompSepa);
    61
    62/** compares two constraint handlers w.r.t. their enforcing priority */
    63SCIP_EXPORT
    64SCIP_DECL_SORTPTRCOMP(SCIPconshdlrCompEnfo);
    65
    66/** compares two constraint handlers w.r.t. their feasibility check priority */
    67SCIP_EXPORT
    68SCIP_DECL_SORTPTRCOMP(SCIPconshdlrCompCheck);
    69
    70/** compares two constraints w.r.t. their feasibility check priority */
    71SCIP_EXPORT
    72SCIP_DECL_SORTPTRCOMP(SCIPconsCompCheck);
    73
    74/** gets name of constraint handler */
    75SCIP_EXPORT
    76const char* SCIPconshdlrGetName(
    77 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    78 );
    79
    80/** gets description of constraint handler */
    81SCIP_EXPORT
    82const char* SCIPconshdlrGetDesc(
    83 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    84 );
    85
    86/** gets user data of constraint handler */
    87SCIP_EXPORT
    89 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    90 );
    91
    92/** sets user data of constraint handler; user has to free old data in advance! */
    93SCIP_EXPORT
    95 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
    96 SCIP_CONSHDLRDATA* conshdlrdata /**< new constraint handler user data */
    97 );
    98
    99/** is constraint handler safe to use in exact solving mode? */
    100SCIP_EXPORT
    102 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    103 );
    104
    105/** marks the constraint handler as safe to use in exact solving mode
    106 *
    107 * @note Constraint handlers that are not marked as exact are skipped during exact solving mode.
    108 */
    109SCIP_EXPORT
    111 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    112 );
    113
    114/** sets all separation related callbacks of the constraint handler */
    115SCIP_EXPORT
    117 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
    118 SCIP_DECL_CONSSEPALP ((*conssepalp)), /**< separate cutting planes for LP solution */
    119 SCIP_DECL_CONSSEPASOL ((*conssepasol)), /**< separate cutting planes for arbitrary primal solution */
    120 int sepafreq, /**< frequency for separating cuts; zero means to separate only in the root node */
    121 int sepapriority, /**< priority of the constraint handler for separation */
    122 SCIP_Bool delaysepa /**< should separation method be delayed, if other separators found cuts? */
    123 );
    124
    125/** sets both the propagation callback and the propagation frequency of the constraint handler */
    126SCIP_EXPORT
    128 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
    129 SCIP_DECL_CONSPROP ((*consprop)), /**< propagate variable domains */
    130 int propfreq, /**< frequency for propagating domains; zero means only preprocessing propagation */
    131 SCIP_Bool delayprop, /**< should propagation method be delayed, if other propagators found reductions? */
    132 SCIP_PROPTIMING timingmask /**< positions in the node solving loop where propagators should be executed */
    133 );
    134
    135/** sets the relaxation enforcement method of the constraint handler */
    136SCIP_EXPORT
    138 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
    139 SCIP_DECL_CONSENFORELAX ((*consenforelax)) /**< constraint copying method */
    140 );
    141
    142/** gets array with constraints of constraint handler; the first SCIPconshdlrGetNActiveConss() entries are the active
    143 * constraints, the last SCIPconshdlrGetNConss() - SCIPconshdlrGetNActiveConss() constraints are deactivated
    144 *
    145 * @note A constraint is active if it is global and was not removed or it was added locally (in that case the local
    146 * flag is TRUE) and the current node belongs to the corresponding sub tree.
    147 */
    148SCIP_EXPORT
    150 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    151 );
    152
    153/** gets array with enforced constraints of constraint handler; this is local information */
    154SCIP_EXPORT
    156 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    157 );
    158
    159/** gets array with checked constraints of constraint handler; this is local information */
    160SCIP_EXPORT
    162 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    163 );
    164
    165/** gets array with delayed update constraints
    166 *
    167 * @attention Usually, there should be no need to access this array. Use this only if you are absolutely sure what you are doing.
    168 */
    169SCIP_EXPORT
    171 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    172 );
    173
    174/** gets total number of existing transformed constraints of constraint handler */
    175SCIP_EXPORT
    177 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    178 );
    179
    180/** gets number of enforced constraints of constraint handler; this is local information */
    181SCIP_EXPORT
    183 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    184 );
    185
    186/** gets number of checked constraints of constraint handler; this is local information */
    187SCIP_EXPORT
    189 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    190 );
    191
    192/** gets number of active constraints of constraint handler
    193 *
    194 * @note A constraint is active if it is global and was not removed or it was added locally (in that case the local
    195 * flag is TRUE) and the current node belongs to the corresponding sub tree.
    196 */
    197SCIP_EXPORT
    199 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    200 );
    201
    202/** gets number of enabled constraints of constraint handler */
    203SCIP_EXPORT
    205 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    206 );
    207
    208/** gets number of constraints that have delayed updates */
    209SCIP_EXPORT
    211 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    212 );
    213
    214/** gets time in seconds used for setting up this constraint handler for new stages */
    215SCIP_EXPORT
    217 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    218 );
    219
    220/** gets time in seconds used for presolving in this constraint handler */
    221SCIP_EXPORT
    223 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    224 );
    225
    226/** gets time in seconds used for separation in this constraint handler */
    227SCIP_EXPORT
    229 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    230 );
    231
    232/** gets time in seconds used for LP enforcement in this constraint handler */
    233SCIP_EXPORT
    235 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    236 );
    237
    238/** gets time in seconds used for pseudo enforcement in this constraint handler */
    239SCIP_EXPORT
    241 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    242 );
    243
    244/** gets time in seconds used for relaxation enforcement in this constraint handler */
    245SCIP_EXPORT
    247 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    248 );
    249
    250/** gets time in seconds used for propagation in this constraint handler */
    251SCIP_EXPORT
    253 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    254 );
    255
    256/** gets time in seconds used for propagation in this constraint handler during strong branching */
    257SCIP_EXPORT
    259 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    260 );
    261
    262/** gets time in seconds used for feasibility checking in this constraint handler */
    263SCIP_EXPORT
    265 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    266 );
    267
    268/** gets time in seconds used for resolving propagation in this constraint handler */
    269SCIP_EXPORT
    271 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    272 );
    273
    274/** gets number of calls to the constraint handler's separation method */
    275SCIP_EXPORT
    277 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    278 );
    279
    280/** gets number of calls to the constraint handler's LP enforcing method */
    281SCIP_EXPORT
    283 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    284 );
    285
    286/** gets number of calls to the constraint handler's pseudo enforcing method */
    287SCIP_EXPORT
    289 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    290 );
    291
    292/** gets number of calls to the constraint handler's relaxation enforcing method */
    293SCIP_EXPORT
    295 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    296 );
    297
    298/** gets number of calls to the constraint handler's propagation method */
    299SCIP_EXPORT
    301 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    302 );
    303
    304/** gets number of calls to the constraint handler's checking method */
    305SCIP_EXPORT
    307 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    308 );
    309
    310/** gets number of calls to the constraint handler's resolve propagation method */
    311SCIP_EXPORT
    313 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    314 );
    315
    316/** gets total number of times, this constraint handler detected a cutoff */
    317SCIP_EXPORT
    319 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    320 );
    321
    322/** gets total number of cuts found by this constraint handler */
    323SCIP_EXPORT
    325 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    326 );
    327
    328/** gets total number of cuts found by this constraint handler applied to lp */
    329SCIP_EXPORT
    331 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    332 );
    333
    334/** gets total number of additional constraints added by this constraint handler */
    335SCIP_EXPORT
    337 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    338 );
    339
    340/** gets total number of domain reductions found by this constraint handler */
    341SCIP_EXPORT
    343 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    344 );
    345
    346/** gets number of children created by this constraint handler */
    347SCIP_EXPORT
    349 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    350 );
    351
    352/** gets maximum number of active constraints of constraint handler existing at the same time */
    353SCIP_EXPORT
    355 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    356 );
    357
    358/** gets initial number of active constraints of constraint handler */
    359SCIP_EXPORT
    361 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    362 );
    363
    364/** gets number of variables fixed in presolving method of constraint handler */
    365SCIP_EXPORT
    367 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    368 );
    369
    370/** gets number of variables aggregated in presolving method of constraint handler */
    371SCIP_EXPORT
    373 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    374 );
    375
    376/** gets number of variable types changed in presolving method of constraint handler */
    377SCIP_EXPORT
    379 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    380 );
    381
    382/** gets number of bounds changed in presolving method of constraint handler */
    383SCIP_EXPORT
    385 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    386 );
    387
    388/** gets number of holes added to domains of variables in presolving method of constraint handler */
    389SCIP_EXPORT
    391 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    392 );
    393
    394/** gets number of constraints deleted in presolving method of constraint handler */
    395SCIP_EXPORT
    397 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    398 );
    399
    400/** gets number of constraints added in presolving method of constraint handler */
    401SCIP_EXPORT
    403 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    404 );
    405
    406/** gets number of constraints upgraded in presolving method of constraint handler */
    407SCIP_EXPORT
    409 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    410 );
    411
    412/** gets number of coefficients changed in presolving method of constraint handler */
    413SCIP_EXPORT
    415 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    416 );
    417
    418/** gets number of constraint sides changed in presolving method of constraint handler */
    419SCIP_EXPORT
    421 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    422 );
    423
    424/** gets number of times the presolving method of the constraint handler was called and tried to find reductions */
    425SCIP_EXPORT
    427 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    428 );
    429
    430/** gets separation priority of constraint handler */
    431SCIP_EXPORT
    433 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    434 );
    435
    436/** gets enforcing priority of constraint handler */
    437SCIP_EXPORT
    439 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    440 );
    441
    442/** gets checking priority of constraint handler */
    443SCIP_EXPORT
    445 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    446 );
    447
    448/** gets separation frequency of constraint handler */
    449SCIP_EXPORT
    451 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    452 );
    453
    454/** gets propagation frequency of constraint handler */
    455SCIP_EXPORT
    457 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    458 );
    459
    460/** gets frequency of constraint handler for eager evaluations in separation, propagation and enforcement */
    461SCIP_EXPORT
    463 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    464 );
    465
    466/** does the constraint handler need a constraint in order to be called? */
    467SCIP_EXPORT
    469 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    470 );
    471
    472/** sets the needscons flag of constraint handler, for example to disable without constraints */
    473SCIP_EXPORT
    475 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
    476 SCIP_Bool needscons /**< should be skipped, if no constraints are available? */
    477 );
    478
    479/** does the constraint handler perform presolving? */
    480SCIP_EXPORT
    482 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    483 );
    484
    485/** should separation method be delayed, if other separators found cuts? */
    486SCIP_EXPORT
    488 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    489 );
    490
    491/** should propagation method be delayed, if other propagators found reductions? */
    492SCIP_EXPORT
    494 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    495 );
    496
    497/** was LP separation method delayed at the last call? */
    498SCIP_EXPORT
    500 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    501 );
    502
    503/** was primal solution separation method delayed at the last call? */
    504SCIP_EXPORT
    506 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    507 );
    508
    509/** was propagation method delayed at the last call? */
    510SCIP_EXPORT
    512 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    513 );
    514
    515/** is constraint handler initialized? */
    516SCIP_EXPORT
    518 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    519 );
    520
    521/** does the constraint handler have a copy function? */
    522SCIP_EXPORT
    524 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    525 );
    526
    527/** returns the timing mask of the propagation method of the constraint handler */
    528SCIP_EXPORT
    530 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    531 );
    532
    533/*
    534 * Methods for constraint change sets
    535 */
    536
    537/** gets added constraints data for a constraint set change */
    538SCIP_EXPORT
    540 SCIP_CONSSETCHG* conssetchg, /**< constraint set change to get data from */
    541 SCIP_CONS*** conss, /**< reference to constraints array added in the conssetchg, or NULL */
    542 int* nconss /**< reference to store the size of the constraints array, or NULL */
    543 );
    544
    545/** sets the timing mask of the propagation method of the constraint handler */
    546SCIP_EXPORT
    548 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
    549 SCIP_PROPTIMING proptiming /**< timing mask to be set */
    550 );
    551
    552
    553/** returns the timing mask of the presolving method of the constraint handler */
    554SCIP_EXPORT
    556 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    557 );
    558
    559/** sets the timing mask of the presolving method of the constraint handler */
    560SCIP_EXPORT
    562 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
    563 SCIP_PRESOLTIMING presoltiming /** timing mask to be set */
    564 );
    565
    566/** returns whether conshdlr supports permutation symmetry detection */
    567SCIP_EXPORT
    569 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    570 );
    571
    572/** returns whether conshdlr supports signed permutation symmetry detection */
    573SCIP_EXPORT
    575 SCIP_CONSHDLR* conshdlr /**< constraint handler */
    576 );
    577
    578/** @} */
    579
    580/*
    581 * Constraint methods
    582 */
    583
    584/**@addtogroup PublicConstraintMethods
    585 *
    586 * @{
    587 */
    588
    589
    590/** returns the name of the constraint
    591 *
    592 * @note to change the name of a constraint, use SCIPchgConsName() from scip.h
    593 */
    594SCIP_EXPORT
    595const char* SCIPconsGetName(
    596 SCIP_CONS* cons /**< constraint */
    597 );
    598
    599/** returns the position of constraint in the corresponding handler's conss array */
    600SCIP_EXPORT
    602 SCIP_CONS* cons /**< constraint */
    603 );
    604
    605/** returns the constraint handler of the constraint */
    606SCIP_EXPORT
    608 SCIP_CONS* cons /**< constraint */
    609 );
    610
    611/** returns the constraint data field of the constraint */
    612SCIP_EXPORT
    614 SCIP_CONS* cons /**< constraint */
    615 );
    616
    617/** gets number of times, the constraint is currently captured */
    618SCIP_EXPORT
    620 SCIP_CONS* cons /**< constraint */
    621 );
    622
    623/** for an active constraint, returns the depth in the tree at which the constraint was activated */
    624SCIP_EXPORT
    626 SCIP_CONS* cons /**< constraint */
    627 );
    628
    629/** returns the depth in the tree at which the constraint is valid; returns INT_MAX, if the constraint is local
    630 * and currently not active
    631 */
    632SCIP_EXPORT
    634 SCIP_CONS* cons /**< constraint */
    635 );
    636
    637/** returns TRUE iff constraint is active in the current node */
    638SCIP_EXPORT
    640 SCIP_CONS* cons /**< constraint */
    641 );
    642
    643/** returns TRUE iff constraint has to be deactivated in update phase */
    644SCIP_EXPORT
    646 SCIP_CONS* cons /**< constraint */
    647 );
    648
    649/** returns TRUE iff constraint is enabled in the current node */
    650SCIP_EXPORT
    652 SCIP_CONS* cons /**< constraint */
    653 );
    654
    655/** returns TRUE iff constraint's separation is enabled in the current node */
    656SCIP_EXPORT
    658 SCIP_CONS* cons /**< constraint */
    659 );
    660
    661/** returns TRUE iff constraint's propagation is enabled in the current node */
    662SCIP_EXPORT
    664 SCIP_CONS* cons /**< constraint */
    665 );
    666
    667/** returns TRUE iff constraint is deleted or marked to be deleted */
    668SCIP_EXPORT
    670 SCIP_CONS* cons /**< constraint */
    671 );
    672
    673/** returns TRUE iff constraint is marked obsolete */
    674SCIP_EXPORT
    676 SCIP_CONS* cons /**< constraint */
    677 );
    678
    679/** returns TRUE iff constraint is marked as a conflict */
    680SCIP_EXPORT
    682 SCIP_CONS* cons /**< constraint */
    683 );
    684
    685/** gets age of constraint */
    686SCIP_EXPORT
    688 SCIP_CONS* cons /**< constraint */
    689 );
    690
    691/** returns TRUE iff the LP relaxation of constraint should be in the initial LP */
    692SCIP_EXPORT
    694 SCIP_CONS* cons /**< constraint */
    695 );
    696
    697/** returns TRUE iff constraint should be separated during LP processing */
    698SCIP_EXPORT
    700 SCIP_CONS* cons /**< constraint */
    701 );
    702
    703/** returns TRUE iff constraint should be enforced during node processing */
    704SCIP_EXPORT
    706 SCIP_CONS* cons /**< constraint */
    707 );
    708
    709/** returns TRUE iff constraint should be checked for feasibility */
    710SCIP_EXPORT
    712 SCIP_CONS* cons /**< constraint */
    713 );
    714
    715/** returns whether the constraint is marked for propagation */
    716SCIP_EXPORT
    718 SCIP_CONS* cons /**< constraint */
    719 );
    720
    721/** returns TRUE iff constraint should be propagated during node processing */
    722SCIP_EXPORT
    724 SCIP_CONS* cons /**< constraint */
    725 );
    726
    727/** returns TRUE iff constraint is globally valid */
    728SCIP_EXPORT
    730 SCIP_CONS* cons /**< constraint */
    731 );
    732
    733/** returns TRUE iff constraint is only locally valid or not added to any (sub)problem */
    734SCIP_EXPORT
    736 SCIP_CONS* cons /**< constraint */
    737 );
    738
    739/** returns TRUE iff constraint is modifiable (subject to column generation) */
    740SCIP_EXPORT
    742 SCIP_CONS* cons /**< constraint */
    743 );
    744
    745/** returns TRUE iff constraint is subject to aging */
    746SCIP_EXPORT
    748 SCIP_CONS* cons /**< constraint */
    749 );
    750
    751/** returns TRUE iff constraint's relaxation should be removed from the LP due to aging or cleanup */
    752SCIP_EXPORT
    754 SCIP_CONS* cons /**< constraint */
    755 );
    756
    757/** returns TRUE iff constraint's relaxation should be removed from the LP due to aging or cleanup */
    758SCIP_EXPORT
    760 SCIP_CONS* cons /**< constraint */
    761 );
    762
    763/** returns TRUE iff constraint belongs to the global problem */
    764SCIP_EXPORT
    766 SCIP_CONS* cons /**< constraint */
    767 );
    768
    769/** returns TRUE iff constraint is belonging to original space */
    770SCIP_EXPORT
    772 SCIP_CONS* cons /**< constraint */
    773 );
    774
    775/** returns TRUE iff constraint is belonging to transformed space */
    776SCIP_EXPORT
    778 SCIP_CONS* cons /**< constraint */
    779 );
    780
    781/** returns TRUE iff roundings for variables in constraint are locked */
    782SCIP_EXPORT
    784 SCIP_CONS* cons /**< constraint */
    785 );
    786
    787/** returns TRUE iff roundings for variables in constraint's negation are locked */
    788SCIP_EXPORT
    790 SCIP_CONS* cons /**< constraint */
    791 );
    792
    793/** returns TRUE iff roundings for variables in constraint or in constraint's negation are locked */
    794SCIP_EXPORT
    796 SCIP_CONS* cons /**< constraint */
    797 );
    798
    799/** get number of times the roundings for variables in constraint are locked */
    800SCIP_EXPORT
    802 SCIP_CONS* cons /**< constraint */
    803 );
    804
    805/** get number of times the roundings for variables in constraint's negation are locked */
    806SCIP_EXPORT
    808 SCIP_CONS* cons /**< constraint */
    809 );
    810
    811/** returns TRUE iff roundings of the given locktype for variables in constraint are locked */
    812SCIP_EXPORT
    814 SCIP_CONS* cons, /**< constraint */
    815 SCIP_LOCKTYPE locktype /**< variable lock type */
    816 );
    817
    818/** returns TRUE iff roundings of the given locktype for variables in constraint are locked */
    819SCIP_EXPORT
    821 SCIP_CONS* cons, /**< constraint */
    822 SCIP_LOCKTYPE locktype /**< variable lock type */
    823 );
    824
    825/** returns TRUE iff roundings of the given locktype for variables in constraint or in constraint's negation are locked */
    826SCIP_EXPORT
    828 SCIP_CONS* cons, /**< constraint */
    829 SCIP_LOCKTYPE locktype /**< variable lock type */
    830 );
    831
    832/** get number of times the roundings of given locktype for variables in constraint are locked */
    833SCIP_EXPORT
    835 SCIP_CONS* cons, /**< constraint */
    836 SCIP_LOCKTYPE locktype /**< variable lock type */
    837 );
    838
    839/** get number of times the roundings of given locktype for variables in constraint's negation are locked */
    840SCIP_EXPORT
    842 SCIP_CONS* cons, /**< constraint */
    843 SCIP_LOCKTYPE locktype /**< variable lock type */
    844 );
    845
    846/** returns if the constraint was already added to a SCIP instance */
    847SCIP_EXPORT
    849 SCIP_CONS* cons /**< constraint */
    850 );
    851
    852/** adds locks to (dis-)allow upgrading of constraint */
    853SCIP_EXPORT
    855 SCIP_CONS* cons, /**< constraint to add locks */
    856 int nlocks /**< number of locks to add */
    857 );
    858
    859/** gets number of locks against upgrading the constraint, 0 means this constraint can be upgraded */
    860SCIP_EXPORT
    862 SCIP_CONS* cons /**< constraint */
    863 );
    864
    865#ifdef NDEBUG
    866
    867/* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
    868 * speed up the algorithms.
    869 */
    870
    871#define SCIPconsGetName(cons) (cons)->name
    872#define SCIPconsGetPos(cons) (cons)->consspos
    873#define SCIPconsGetHdlr(cons) (cons)->conshdlr
    874#define SCIPconsGetData(cons) (cons)->consdata
    875#define SCIPconsGetNUses(cons) (cons)->nuses
    876#define SCIPconsGetActiveDepth(cons) (cons)->activedepth
    877#define SCIPconsGetValidDepth(cons) (!(cons)->local ? 0 \
    878 : !SCIPconsIsActive(cons) ? INT_MAX \
    879 : (cons)->validdepth == -1 ? SCIPconsGetActiveDepth(cons) \
    880 : (cons)->validdepth)
    881#define SCIPconsIsActive(cons) ((cons)->updateactivate || ((cons)->active && !(cons)->updatedeactivate))
    882#define SCIPconsIsEnabled(cons) ((cons)->updateenable || ((cons)->enabled && !(cons)->updatedisable))
    883#define SCIPconsIsSeparationEnabled(cons) \
    884 (SCIPconsIsEnabled(cons) && ((cons)->updatesepaenable || ((cons)->sepaenabled && !(cons)->updatesepadisable)))
    885#define SCIPconsIsPropagationEnabled(cons) \
    886 (SCIPconsIsEnabled(cons) && ((cons)->updatepropenable || ((cons)->propenabled && !(cons)->updatepropdisable)))
    887#define SCIPconsIsDeleted(cons) ((cons)->deleted)
    888#define SCIPconsIsObsolete(cons) ((cons)->updateobsolete || (cons)->obsolete)
    889#define SCIPconsIsConflict(cons) ((cons)->conflict)
    890#define SCIPconsGetAge(cons) (cons)->age
    891#define SCIPconsIsInitial(cons) (cons)->initial
    892#define SCIPconsIsSeparated(cons) (cons)->separate
    893#define SCIPconsIsEnforced(cons) (cons)->enforce
    894#define SCIPconsIsChecked(cons) (cons)->check
    895#define SCIPconsIsMarkedPropagate(cons) ((cons)->updatemarkpropagate || ((cons)->markpropagate && !(cons)->updateunmarkpropagate))
    896#define SCIPconsIsPropagated(cons) (cons)->propagate
    897#define SCIPconsIsGlobal(cons) !(cons)->local
    898#define SCIPconsIsLocal(cons) (cons)->local
    899#define SCIPconsIsModifiable(cons) (cons)->modifiable
    900#define SCIPconsIsDynamic(cons) (cons)->dynamic
    901#define SCIPconsIsRemovable(cons) (cons)->removable
    902#define SCIPconsIsStickingAtNode(cons) (cons)->stickingatnode
    903#define SCIPconsIsInProb(cons) ((cons)->addconssetchg == NULL && (cons)->addarraypos >= 0)
    904#define SCIPconsIsOriginal(cons) (cons)->original
    905#define SCIPconsIsTransformed(cons) !(cons)->original
    906#define SCIPconsIsLockedPos(cons) ((cons)->nlockspos[SCIP_LOCKTYPE_MODEL] > 0)
    907#define SCIPconsIsLockedNeg(cons) ((cons)->nlocksneg[SCIP_LOCKTYPE_MODEL] > 0)
    908#define SCIPconsIsLocked(cons) ((cons)->nlockspos[SCIP_LOCKTYPE_MODEL] > 0 || (cons)->nlocksneg[SCIP_LOCKTYPE_MODEL] > 0)
    909#define SCIPconsGetNLocksPos(cons) ((cons)->nlockspos[SCIP_LOCKTYPE_MODEL])
    910#define SCIPconsGetNLocksNeg(cons) ((cons)->nlocksneg[SCIP_LOCKTYPE_MODEL])
    911#define SCIPconsIsLockedTypePos(cons, locktype) ((cons)->nlockspos[locktype] > 0)
    912#define SCIPconsIsLockedTypeNeg(cons, locktype) ((cons)->nlocksneg[locktype] > 0)
    913#define SCIPconsIsLockedType(cons, locktype) ((cons)->nlockspos[locktype] > 0 || (cons)->nlocksneg[locktype] > 0)
    914#define SCIPconsGetNLocksTypePos(cons, locktype) ((cons)->nlockspos[locktype])
    915#define SCIPconsGetNLocksTypeNeg(cons, locktype) ((cons)->nlocksneg[locktype])
    916#define SCIPconsIsAdded(cons) ((cons)->addarraypos >= 0)
    917#define SCIPconsGetNUpgradeLocks(cons) ((cons)->nupgradelocks)
    918
    919#endif
    920
    921/** @} */
    922
    923/**@addtogroup PublicProblemMethods
    924 *
    925 * public methods to query linear constraint classification statistics
    926 *
    927 * @{
    928 */
    929
    930/** create linear constraint statistics */
    931SCIP_EXPORT
    933 SCIP* scip, /**< scip data structure */
    934 SCIP_LINCONSSTATS** linconsstats /**< pointer to linear constraint classification statistics */
    935 );
    936
    937/** free linear constraint statistics */
    938SCIP_EXPORT
    940 SCIP* scip, /**< scip data structure */
    941 SCIP_LINCONSSTATS** linconsstats /**< pointer to linear constraint classification statistics */
    942 );
    943
    944/** resets linear constraint statistics */
    945SCIP_EXPORT
    947 SCIP_LINCONSSTATS* linconsstats /**< linear constraint classification statistics */
    948 );
    949
    950/** returns the number of occurrences of a specific type of linear constraint */
    951SCIP_EXPORT
    953 SCIP_LINCONSSTATS* linconsstats, /**< linear constraint classification statistics */
    954 SCIP_LINCONSTYPE linconstype /**< linear constraint type */
    955 );
    956
    957/** returns the total number of classified constraints */
    958SCIP_EXPORT
    960 SCIP_LINCONSSTATS* linconsstats /**< linear constraint classification statistics */
    961 );
    962
    963/** increases the number of occurrences of a specific type of linear constraint */
    964SCIP_EXPORT
    966 SCIP_LINCONSSTATS* linconsstats, /**< linear constraint classification statistics */
    967 SCIP_LINCONSTYPE linconstype, /**< linear constraint type */
    968 int increment /**< positive increment */
    969 );
    970
    971/** print linear constraint classification statistics */
    972SCIP_EXPORT
    974 SCIP* scip, /**< scip data structure */
    975 FILE* file, /**< file handle or NULL to print to standard out */
    976 SCIP_LINCONSSTATS* linconsstats /**< linear constraint classification statistics */
    977 );
    978
    979/** @} */
    980
    981#ifdef __cplusplus
    982}
    983#endif
    984
    985#endif
    SCIP_DECL_CONSSEPASOL(ConshdlrSubtour::scip_sepasol)
    SCIP_DECL_CONSSEPALP(ConshdlrSubtour::scip_sepalp)
    SCIP_DECL_CONSPROP(ConshdlrSubtour::scip_prop)
    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
    int SCIPconshdlrGetNCheckConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4798
    void SCIPconshdlrSetData(SCIP_CONSHDLR *conshdlr, SCIP_CONSHDLRDATA *conshdlrdata)
    Definition: cons.c:4346
    int SCIPconshdlrGetMaxNActiveConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5112
    SCIP_Real SCIPconshdlrGetCheckTime(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4942
    SCIP_PROPTIMING SCIPconshdlrGetPropTiming(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5403
    SCIP_Bool SCIPconshdlrWasSolSeparationDelayed(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5363
    SCIP_Longint SCIPconshdlrGetNCheckCalls(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5012
    SCIP_CONS ** SCIPconshdlrGetCheckConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4755
    int SCIPconshdlrGetNChgSides(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5222
    SCIP_Real SCIPconshdlrGetPresolTime(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4872
    int SCIPconshdlrGetEagerFreq(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5292
    SCIP_Bool SCIPconshdlrDoesPresolve(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5323
    void SCIPconshdlrSetProp(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSPROP((*consprop)), int propfreq, SCIP_Bool delayprop, SCIP_PROPTIMING timingmask)
    Definition: cons.c:4401
    int SCIPconshdlrGetNFixedVars(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5132
    SCIP_PRESOLTIMING SCIPconshdlrGetPresolTiming(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5425
    SCIP_Real SCIPconshdlrGetEnfoLPTime(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4892
    int SCIPconshdlrGetNPresolCalls(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5232
    SCIP_Longint SCIPconshdlrGetNDomredsFound(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5092
    int SCIPconshdlrGetSepaPriority(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5242
    SCIP_Longint SCIPconshdlrGetNCutsApplied(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5052
    int SCIPconshdlrGetNChgCoefs(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5212
    void SCIPconshdlrSetPresolTiming(SCIP_CONSHDLR *conshdlr, SCIP_PRESOLTIMING presoltiming)
    Definition: cons.c:5435
    void SCIPconshdlrMarkExact(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4370
    int SCIPconshdlrGetNUpdateConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4832
    SCIP_CONS ** SCIPconshdlrGetEnfoConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4745
    void SCIPconshdlrSetSepa(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSSEPALP((*conssepalp)), SCIP_DECL_CONSSEPASOL((*conssepasol)), int sepafreq, int sepapriority, SCIP_Bool delaysepa)
    Definition: cons.c:4380
    SCIP_Real SCIPconshdlrGetStrongBranchPropTime(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4932
    void SCIPconshdlrSetEnforelax(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSENFORELAX((*consenforelax)))
    Definition: cons.c:4420
    SCIP_Longint SCIPconshdlrGetNCutsFound(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5042
    SCIP_Bool SCIPconshdlrSupportsSignedPermsymDetection(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5456
    SCIP_Bool SCIPconshdlrIsPropagationDelayed(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5343
    SCIP_Real SCIPconshdlrGetPropTime(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4922
    void SCIPconssetchgGetAddedConsData(SCIP_CONSSETCHG *conssetchg, SCIP_CONS ***conss, int *nconss)
    Definition: cons.c:5746
    SCIP_Real SCIPconshdlrGetEnfoPSTime(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4902
    int SCIPconshdlrGetPropFreq(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5282
    int SCIPconshdlrGetNConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4778
    SCIP_Longint SCIPconshdlrGetNCutoffs(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5032
    const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4316
    int SCIPconshdlrGetNEnabledConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4822
    SCIP_CONS ** SCIPconshdlrGetUpdateConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4768
    SCIP_Bool SCIPconshdlrIsSeparationDelayed(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5333
    SCIP_Longint SCIPconshdlrGetNSepaCalls(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4962
    int SCIPconshdlrGetNDelConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5182
    SCIP_DECL_SORTPTRCOMP(SCIPconshdlrCompSepa)
    Definition: cons.c:1956
    SCIP_Bool SCIPconshdlrWasLPSeparationDelayed(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5353
    SCIP_Longint SCIPconshdlrGetNChildren(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5102
    SCIP_Real SCIPconshdlrGetEnfoRelaxTime(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4912
    void SCIPconshdlrSetPropTiming(SCIP_CONSHDLR *conshdlr, SCIP_PROPTIMING proptiming)
    Definition: cons.c:5413
    SCIP_Bool SCIPconshdlrNeedsCons(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5302
    int SCIPconshdlrGetNAggrVars(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5142
    SCIP_Longint SCIPconshdlrGetNEnfoPSCalls(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4982
    int SCIPconshdlrGetNAddHoles(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5172
    int SCIPconshdlrGetNEnfoConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4788
    void SCIPconshdlrSetNeedsCons(SCIP_CONSHDLR *conshdlr, SCIP_Bool needscons)
    Definition: cons.c:5312
    SCIP_Bool SCIPconshdlrIsInitialized(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5383
    int SCIPconshdlrGetNUpgdConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5202
    int SCIPconshdlrGetStartNActiveConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5122
    SCIP_Bool SCIPconshdlrIsExact(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4357
    SCIP_Bool SCIPconshdlrWasPropagationDelayed(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5373
    int SCIPconshdlrGetNAddConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5192
    SCIP_Bool SCIPconshdlrSupportsPermsymDetection(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5446
    int SCIPconshdlrGetNChgBds(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5162
    const char * SCIPconshdlrGetDesc(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4326
    SCIP_CONSHDLRDATA * SCIPconshdlrGetData(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4336
    SCIP_Longint SCIPconshdlrGetNConssFound(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5082
    int SCIPconshdlrGetNActiveConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4812
    int SCIPconshdlrGetCheckPriority(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5262
    int SCIPconshdlrGetSepaFreq(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5272
    SCIP_Longint SCIPconshdlrGetNPropCalls(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5002
    SCIP_Longint SCIPconshdlrGetNEnfoLPCalls(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4972
    SCIP_CONS ** SCIPconshdlrGetConss(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4735
    int SCIPconshdlrGetEnfoPriority(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5252
    SCIP_Real SCIPconshdlrGetSetupTime(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4862
    SCIP_Longint SCIPconshdlrGetNRespropCalls(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5022
    SCIP_Real SCIPconshdlrGetSepaTime(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4882
    SCIP_Bool SCIPconshdlrIsClonable(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5393
    int SCIPconshdlrGetNChgVarTypes(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:5152
    SCIP_Real SCIPconshdlrGetRespropTime(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4952
    SCIP_Longint SCIPconshdlrGetNEnfoRelaxCalls(SCIP_CONSHDLR *conshdlr)
    Definition: cons.c:4992
    SCIP_Bool SCIPconsIsLockedNeg(SCIP_CONS *cons)
    Definition: cons.c:8718
    SCIP_CONSDATA * SCIPconsGetData(SCIP_CONS *cons)
    Definition: cons.c:8419
    void SCIPconsAddUpgradeLocks(SCIP_CONS *cons, int nlocks)
    Definition: cons.c:8828
    int SCIPconsGetPos(SCIP_CONS *cons)
    Definition: cons.c:8399
    SCIP_Bool SCIPconsIsConflict(SCIP_CONS *cons)
    Definition: cons.c:8538
    SCIP_Bool SCIPconsIsDynamic(SCIP_CONS *cons)
    Definition: cons.c:8648
    SCIP_Real SCIPconsGetAge(SCIP_CONS *cons)
    Definition: cons.c:8548
    SCIP_CONSHDLR * SCIPconsGetHdlr(SCIP_CONS *cons)
    Definition: cons.c:8409
    int SCIPconsGetActiveDepth(SCIP_CONS *cons)
    Definition: cons.c:8439
    SCIP_Bool SCIPconsIsLockedPos(SCIP_CONS *cons)
    Definition: cons.c:8708
    SCIP_Bool SCIPconsIsPropagationEnabled(SCIP_CONS *cons)
    Definition: cons.c:8507
    SCIP_Bool SCIPconsIsInitial(SCIP_CONS *cons)
    Definition: cons.c:8558
    int SCIPconsGetNUpgradeLocks(SCIP_CONS *cons)
    Definition: cons.c:8841
    SCIP_Bool SCIPconsIsMarkedPropagate(SCIP_CONS *cons)
    Definition: cons.c:8598
    int SCIPconsGetNLocksTypeNeg(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
    Definition: cons.c:8806
    int SCIPconsGetValidDepth(SCIP_CONS *cons)
    Definition: cons.c:8472
    SCIP_Bool SCIPconsIsOriginal(SCIP_CONS *cons)
    Definition: cons.c:8688
    SCIP_Bool SCIPconsIsChecked(SCIP_CONS *cons)
    Definition: cons.c:8588
    SCIP_Bool SCIPconsIsDeleted(SCIP_CONS *cons)
    Definition: cons.c:8518
    SCIP_Bool SCIPconsIsUpdatedeactivate(SCIP_CONS *cons)
    Definition: cons.c:8460
    SCIP_Bool SCIPconsIsTransformed(SCIP_CONS *cons)
    Definition: cons.c:8698
    int SCIPconsGetNLocksPos(SCIP_CONS *cons)
    Definition: cons.c:8738
    SCIP_Bool SCIPconsIsLockedType(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
    Definition: cons.c:8782
    SCIP_Bool SCIPconsIsEnforced(SCIP_CONS *cons)
    Definition: cons.c:8578
    SCIP_Bool SCIPconsIsInProb(SCIP_CONS *cons)
    Definition: cons.c:8678
    SCIP_Bool SCIPconsIsGlobal(SCIP_CONS *cons)
    Definition: cons.c:8618
    SCIP_Bool SCIPconsIsActive(SCIP_CONS *cons)
    Definition: cons.c:8450
    SCIP_Bool SCIPconsIsPropagated(SCIP_CONS *cons)
    Definition: cons.c:8608
    SCIP_Bool SCIPconsIsLocal(SCIP_CONS *cons)
    Definition: cons.c:8628
    int SCIPconsGetNLocksNeg(SCIP_CONS *cons)
    Definition: cons.c:8748
    int SCIPconsGetNUses(SCIP_CONS *cons)
    Definition: cons.c:8429
    SCIP_Bool SCIPconsIsLockedTypePos(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
    Definition: cons.c:8758
    SCIP_Bool SCIPconsIsEnabled(SCIP_CONS *cons)
    Definition: cons.c:8486
    const char * SCIPconsGetName(SCIP_CONS *cons)
    Definition: cons.c:8389
    SCIP_Bool SCIPconsIsLocked(SCIP_CONS *cons)
    Definition: cons.c:8728
    SCIP_Bool SCIPconsIsSeparationEnabled(SCIP_CONS *cons)
    Definition: cons.c:8496
    SCIP_Bool SCIPconsIsLockedTypeNeg(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
    Definition: cons.c:8770
    SCIP_Bool SCIPconsIsModifiable(SCIP_CONS *cons)
    Definition: cons.c:8638
    SCIP_Bool SCIPconsIsAdded(SCIP_CONS *cons)
    Definition: cons.c:8818
    SCIP_Bool SCIPconsIsObsolete(SCIP_CONS *cons)
    Definition: cons.c:8528
    SCIP_Bool SCIPconsIsStickingAtNode(SCIP_CONS *cons)
    Definition: cons.c:8668
    int SCIPconsGetNLocksTypePos(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
    Definition: cons.c:8794
    SCIP_Bool SCIPconsIsSeparated(SCIP_CONS *cons)
    Definition: cons.c:8568
    SCIP_Bool SCIPconsIsRemovable(SCIP_CONS *cons)
    Definition: cons.c:8658
    int SCIPlinConsStatsGetSum(SCIP_LINCONSSTATS *linconsstats)
    Definition: cons.c:8273
    void SCIPlinConsStatsIncTypeCount(SCIP_LINCONSSTATS *linconsstats, SCIP_LINCONSTYPE linconstype, int increment)
    Definition: cons.c:8283
    int SCIPlinConsStatsGetTypeCount(SCIP_LINCONSSTATS *linconsstats, SCIP_LINCONSTYPE linconstype)
    Definition: cons.c:8260
    void SCIPlinConsStatsFree(SCIP *scip, SCIP_LINCONSSTATS **linconsstats)
    Definition: cons.c:8239
    void SCIPlinConsStatsReset(SCIP_LINCONSSTATS *linconsstats)
    Definition: cons.c:8251
    void SCIPprintLinConsStats(SCIP *scip, FILE *file, SCIP_LINCONSSTATS *linconsstats)
    Definition: cons.c:8299
    SCIP_RETCODE SCIPlinConsStatsCreate(SCIP *scip, SCIP_LINCONSSTATS **linconsstats)
    Definition: cons.c:8226
    datastructures for constraints and constraint handlers
    type definitions for constraints and constraint handlers
    struct SCIP_ConshdlrData SCIP_CONSHDLRDATA
    Definition: type_cons.h:64
    #define SCIP_DECL_CONSENFORELAX(x)
    Definition: type_cons.h:388
    struct SCIP_ConsData SCIP_CONSDATA
    Definition: type_cons.h:65
    enum SCIP_LinConstype SCIP_LINCONSTYPE
    Definition: type_cons.h:91
    type definitions for miscellaneous datastructures
    enum SCIP_Retcode SCIP_RETCODE
    Definition: type_retcode.h:63
    unsigned int SCIP_PROPTIMING
    Definition: type_timing.h:75
    unsigned int SCIP_PRESOLTIMING
    Definition: type_timing.h:61
    enum SCIP_LockType SCIP_LOCKTYPE
    Definition: type_var.h:144