Scippy

    SCIP

    Solving Constraint Integer Programs

    pub_pricer.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_pricer.h
    26 * @ingroup PUBLICCOREAPI
    27 * @brief public methods for variable pricers
    28 * @author Tobias Achterberg
    29 */
    30
    31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    32
    33#ifndef __SCIP_PUB_PRICER_H__
    34#define __SCIP_PUB_PRICER_H__
    35
    36
    37#include "scip/def.h"
    38#include "scip/type_misc.h"
    39#include "scip/type_pricer.h"
    40
    41#ifdef __cplusplus
    42extern "C" {
    43#endif
    44
    45/**@addtogroup PublicPricerMethods
    46 *
    47 * @{
    48 */
    49
    50/** compares two pricers w. r. to their priority */
    51SCIP_EXPORT
    52SCIP_DECL_SORTPTRCOMP(SCIPpricerComp);
    53
    54/** comparison method for sorting pricers w.r.t. to their name */
    55SCIP_EXPORT
    56SCIP_DECL_SORTPTRCOMP(SCIPpricerCompName);
    57
    58/** gets user data of variable pricer */
    59SCIP_EXPORT
    61 SCIP_PRICER* pricer /**< variable pricer */
    62 );
    63
    64/** sets user data of variable pricer; user has to free old data in advance! */
    65SCIP_EXPORT
    67 SCIP_PRICER* pricer, /**< variable pricer */
    68 SCIP_PRICERDATA* pricerdata /**< new variable pricer user data */
    69 );
    70
    71/** marks the variable pricer as safe to use in exact solving mode */
    72SCIP_EXPORT
    74 SCIP_PRICER* pricer /**< pricer */
    75 );
    76
    77/** gets name of variable pricer */
    78SCIP_EXPORT
    79const char* SCIPpricerGetName(
    80 SCIP_PRICER* pricer /**< variable pricer */
    81 );
    82
    83/** gets description of variable pricer */
    84SCIP_EXPORT
    85const char* SCIPpricerGetDesc(
    86 SCIP_PRICER* pricer /**< variable pricer */
    87 );
    88
    89/** gets priority of variable pricer */
    90SCIP_EXPORT
    92 SCIP_PRICER* pricer /**< variable pricer */
    93 );
    94
    95/** gets the number of times, the pricer was called and tried to find a variable with negative reduced costs */
    96SCIP_EXPORT
    98 SCIP_PRICER* pricer /**< variable pricer */
    99 );
    100
    101/** gets the number of variables with negative reduced costs found by this pricer */
    102SCIP_EXPORT
    104 SCIP_PRICER* pricer /**< variable pricer */
    105 );
    106
    107/** gets time in seconds used in this pricer for setting up for next stages */
    108SCIP_EXPORT
    110 SCIP_PRICER* pricer /**< variable pricer */
    111 );
    112
    113/** gets time in seconds used in this pricer */
    114SCIP_EXPORT
    116 SCIP_PRICER* pricer /**< variable pricer */
    117 );
    118
    119/** returns whether the given pricer is in use in the current problem */
    120SCIP_EXPORT
    122 SCIP_PRICER* pricer /**< variable pricer */
    123 );
    124
    125/** returns whether the pricer should be delayed until no other pricer finds a new variable */
    126SCIP_EXPORT
    128 SCIP_PRICER* pricer /**< variable pricer */
    129 );
    130
    131/** is variable pricer initialized? */
    132SCIP_EXPORT
    134 SCIP_PRICER* pricer /**< variable pricer */
    135 );
    136
    137/** @} */
    138
    139#ifdef __cplusplus
    140}
    141#endif
    142
    143#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
    const char * SCIPpricerGetDesc(SCIP_PRICER *pricer)
    Definition: pricer.c:629
    int SCIPpricerGetNVarsFound(SCIP_PRICER *pricer)
    Definition: pricer.c:673
    SCIP_Bool SCIPpricerIsDelayed(SCIP_PRICER *pricer)
    Definition: pricer.c:725
    void SCIPpricerSetData(SCIP_PRICER *pricer, SCIP_PRICERDATA *pricerdata)
    Definition: pricer.c:532
    SCIP_PRICERDATA * SCIPpricerGetData(SCIP_PRICER *pricer)
    Definition: pricer.c:522
    SCIP_Bool SCIPpricerIsActive(SCIP_PRICER *pricer)
    Definition: pricer.c:715
    int SCIPpricerGetPriority(SCIP_PRICER *pricer)
    Definition: pricer.c:639
    const char * SCIPpricerGetName(SCIP_PRICER *pricer)
    Definition: pricer.c:619
    SCIP_Bool SCIPpricerIsInitialized(SCIP_PRICER *pricer)
    Definition: pricer.c:735
    SCIP_Real SCIPpricerGetSetupTime(SCIP_PRICER *pricer)
    Definition: pricer.c:683
    SCIP_Real SCIPpricerGetTime(SCIP_PRICER *pricer)
    Definition: pricer.c:693
    void SCIPpricerMarkExact(SCIP_PRICER *pricer)
    Definition: pricer.c:609
    int SCIPpricerGetNCalls(SCIP_PRICER *pricer)
    Definition: pricer.c:663
    SCIP_DECL_SORTPTRCOMP(SCIPpricerComp)
    Definition: pricer.c:54
    type definitions for miscellaneous datastructures
    type definitions for variable pricers
    struct SCIP_PricerData SCIP_PRICERDATA
    Definition: type_pricer.h:45