Scippy

    SCIP

    Solving Constraint Integer Programs

    pub_presol.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_presol.h
    26 * @ingroup PUBLICCOREAPI
    27 * @brief public methods for presolvers
    28 * @author Tobias Achterberg
    29 */
    30
    31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    32
    33#ifndef __SCIP_PUB_PRESOL_H__
    34#define __SCIP_PUB_PRESOL_H__
    35
    36#include "scip/def.h"
    37#include "scip/type_misc.h"
    38#include "scip/type_presol.h"
    39#include "scip/type_timing.h"
    40
    41#ifdef __cplusplus
    42extern "C" {
    43#endif
    44
    45/**@addtogroup PublicPresolverMethods
    46 *
    47 * @{
    48 */
    49
    50/** compares two presolvers w. r. to their priority */
    51SCIP_EXPORT
    52SCIP_DECL_SORTPTRCOMP(SCIPpresolComp);
    53
    54/** comparison method for sorting presolvers w.r.t. to their name */
    55SCIP_EXPORT
    56SCIP_DECL_SORTPTRCOMP(SCIPpresolCompName);
    57
    58/** gets user data of presolver */
    59SCIP_EXPORT
    61 SCIP_PRESOL* presol /**< presolver */
    62 );
    63
    64/** sets user data of presolver; user has to free old data in advance! */
    65SCIP_EXPORT
    67 SCIP_PRESOL* presol, /**< presolver */
    68 SCIP_PRESOLDATA* presoldata /**< new presolver user data */
    69 );
    70
    71/** marks the presolver as safe to use in exact solving mode */
    72SCIP_EXPORT
    74 SCIP_PRESOL* presol /**< presolver */
    75 );
    76
    77/** gets name of presolver */
    78SCIP_EXPORT
    79const char* SCIPpresolGetName(
    80 SCIP_PRESOL* presol /**< presolver */
    81 );
    82
    83/** gets description of presolver */
    84SCIP_EXPORT
    85const char* SCIPpresolGetDesc(
    86 SCIP_PRESOL* presol /**< presolver */
    87 );
    88
    89/** gets priority of presolver */
    90SCIP_EXPORT
    92 SCIP_PRESOL* presol /**< presolver */
    93 );
    94
    95/** gets round limit of presolver */
    96SCIP_EXPORT
    98 SCIP_PRESOL* presol /**< presolver */
    99 );
    100
    101/** gets the timing mask of the presolver */
    102SCIP_EXPORT
    104 SCIP_PRESOL* presol /**< presolver */
    105 );
    106
    107/** sets the timing mask of the presolver */
    108SCIP_EXPORT
    110 SCIP_PRESOL* presol, /**< presolver */
    111 SCIP_PRESOLTIMING timing /**< timing mask of the presolver */
    112 );
    113
    114/** is presolver initialized? */
    115SCIP_EXPORT
    117 SCIP_PRESOL* presol /**< presolver */
    118 );
    119
    120/** gets time in seconds used in this presolver for setting up for next stages */
    121SCIP_EXPORT
    123 SCIP_PRESOL* presol /**< presolver */
    124 );
    125
    126/** gets time in seconds used in this presolver */
    127SCIP_EXPORT
    129 SCIP_PRESOL* presol /**< presolver */
    130 );
    131
    132/** gets number of variables fixed in presolver */
    133SCIP_EXPORT
    135 SCIP_PRESOL* presol /**< presolver */
    136 );
    137
    138/** gets number of variables aggregated in presolver */
    139SCIP_EXPORT
    141 SCIP_PRESOL* presol /**< presolver */
    142 );
    143
    144/** gets number of variable types changed in presolver */
    145SCIP_EXPORT
    147 SCIP_PRESOL* presol /**< presolver */
    148 );
    149
    150/** gets number of bounds changed in presolver */
    151SCIP_EXPORT
    153 SCIP_PRESOL* presol /**< presolver */
    154 );
    155
    156/** gets number of holes added to domains of variables in presolver */
    157SCIP_EXPORT
    159 SCIP_PRESOL* presol /**< presolver */
    160 );
    161
    162/** gets number of constraints deleted in presolver */
    163SCIP_EXPORT
    165 SCIP_PRESOL* presol /**< presolver */
    166 );
    167
    168/** gets number of constraints added in presolver */
    169SCIP_EXPORT
    171 SCIP_PRESOL* presol /**< presolver */
    172 );
    173
    174/** gets number of constraints upgraded in presolver */
    175SCIP_EXPORT
    177 SCIP_PRESOL* presol /**< presolver */
    178 );
    179
    180/** gets number of coefficients changed in presolver */
    181SCIP_EXPORT
    183 SCIP_PRESOL* presol /**< presolver */
    184 );
    185
    186/** gets number of constraint sides changed in presolver */
    187SCIP_EXPORT
    189 SCIP_PRESOL* presol /**< presolver */
    190 );
    191
    192/** gets number of times the presolver was called and tried to find reductions */
    193SCIP_EXPORT
    195 SCIP_PRESOL* presol /**< presolver */
    196 );
    197
    198/** @} */
    199
    200#ifdef __cplusplus
    201}
    202#endif
    203
    204#endif
    common defines and data types used in all packages of SCIP
    #define SCIP_Bool
    Definition: def.h:91
    #define SCIP_Real
    Definition: def.h:156
    SCIP_Real SCIPpresolGetSetupTime(SCIP_PRESOL *presol)
    Definition: presol.c:722
    int SCIPpresolGetNAggrVars(SCIP_PRESOL *presol)
    Definition: presol.c:752
    SCIP_Bool SCIPpresolIsInitialized(SCIP_PRESOL *presol)
    Definition: presol.c:700
    int SCIPpresolGetNUpgdConss(SCIP_PRESOL *presol)
    Definition: presol.c:812
    int SCIPpresolGetNCalls(SCIP_PRESOL *presol)
    Definition: presol.c:842
    int SCIPpresolGetNDelConss(SCIP_PRESOL *presol)
    Definition: presol.c:792
    int SCIPpresolGetNChgCoefs(SCIP_PRESOL *presol)
    Definition: presol.c:822
    void SCIPpresolSetTiming(SCIP_PRESOL *presol, SCIP_PRESOLTIMING timing)
    Definition: presol.c:689
    int SCIPpresolGetNAddHoles(SCIP_PRESOL *presol)
    Definition: presol.c:782
    void SCIPpresolMarkExact(SCIP_PRESOL *presol)
    Definition: presol.c:615
    SCIP_DECL_SORTPTRCOMP(SCIPpresolComp)
    Definition: presol.c:57
    void SCIPpresolSetData(SCIP_PRESOL *presol, SCIP_PRESOLDATA *presoldata)
    Definition: presol.c:538
    SCIP_Real SCIPpresolGetTime(SCIP_PRESOL *presol)
    Definition: presol.c:732
    int SCIPpresolGetNChgVarTypes(SCIP_PRESOL *presol)
    Definition: presol.c:762
    SCIP_PRESOLDATA * SCIPpresolGetData(SCIP_PRESOL *presol)
    Definition: presol.c:528
    int SCIPpresolGetPriority(SCIP_PRESOL *presol)
    Definition: presol.c:645
    int SCIPpresolGetNChgSides(SCIP_PRESOL *presol)
    Definition: presol.c:832
    int SCIPpresolGetNFixedVars(SCIP_PRESOL *presol)
    Definition: presol.c:742
    const char * SCIPpresolGetDesc(SCIP_PRESOL *presol)
    Definition: presol.c:635
    int SCIPpresolGetNChgBds(SCIP_PRESOL *presol)
    Definition: presol.c:772
    int SCIPpresolGetNAddConss(SCIP_PRESOL *presol)
    Definition: presol.c:802
    int SCIPpresolGetMaxrounds(SCIP_PRESOL *presol)
    Definition: presol.c:655
    SCIP_PRESOLTIMING SCIPpresolGetTiming(SCIP_PRESOL *presol)
    Definition: presol.c:679
    const char * SCIPpresolGetName(SCIP_PRESOL *presol)
    Definition: presol.c:625
    type definitions for miscellaneous datastructures
    type definitions for presolvers
    struct SCIP_PresolData SCIP_PRESOLDATA
    Definition: type_presol.h:51
    timing definitions for SCIP
    unsigned int SCIP_PRESOLTIMING
    Definition: type_timing.h:61