Scippy

    SCIP

    Solving Constraint Integer Programs

    sepastoreexact.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 sepastoreexact.h
    26 * @ingroup INTERNALAPI
    27 * @brief internal methods for storing separated exact cuts
    28 * @author Leon Eifler
    29 */
    30
    31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    32
    33#ifndef __SCIP_SEPASTOREEXACT_H__
    34#define __SCIP_SEPASTOREEXACT_H__
    35
    36
    37#include "scip/def.h"
    39#include "scip/type_implics.h"
    40#include "scip/type_retcode.h"
    41#include "scip/type_set.h"
    42#include "scip/type_stat.h"
    43#include "scip/type_event.h"
    44#include "scip/type_lp.h"
    45#include "scip/type_lpexact.h"
    46#include "scip/type_prob.h"
    47#include "scip/type_tree.h"
    48#include "scip/type_reopt.h"
    49#include "scip/type_sepastore.h"
    50#include "scip/type_branch.h"
    51
    52#ifdef __cplusplus
    53extern "C" {
    54#endif
    55
    56/** creates separation storage */
    58 SCIP_SEPASTOREEXACT** sepastoreexact, /**< pointer to store separation storage */
    59 SCIP_SET* set /**< global SCIP settings */
    60 );
    61
    62/** frees separation storage */
    64 SCIP_SEPASTOREEXACT** sepastoreexact /**< pointer to store separation storage */
    65 );
    66
    67
    68/** adds cut to separation storage and captures it */
    70 SCIP_SEPASTOREEXACT* sepastoreexact, /**< separation storage */
    71 SCIP_SET* set, /**< global SCIP settings */
    72 SCIP_EVENTQUEUE* eventqueue, /**< event queue */
    73 SCIP_ROWEXACT* cut /**< separated cut */
    74 );
    75
    76/** clears the separation storage without adding the cuts to the LP */
    78 SCIP_SEPASTOREEXACT* sepastoreexact, /**< separation storage */
    79 BMS_BLKMEM* blkmem, /**< block memory */
    80 SCIP_SET* set, /**< global SCIP settings */
    81 SCIP_LPEXACT* lp /**< LP data */
    82 );
    83
    84/** get cuts in the separation storage */
    86 SCIP_SEPASTOREEXACT* sepastoreexact /**< separation storage */
    87 );
    88
    89/** get number of cuts in the separation storage */
    91 SCIP_SEPASTOREEXACT* sepastoreexact /**< separation storage */
    92 );
    93
    94/** get total number of cuts found so far */
    96 SCIP_SEPASTOREEXACT* sepastoreexact /**< separation storage */
    97 );
    98
    99/** get number of cuts found so far in current separation round */
    101 SCIP_SEPASTOREEXACT* sepastoreexact /**< separation storage */
    102 );
    103
    104/** get total number of cuts applied to the LPs */
    106 SCIP_SEPASTOREEXACT* sepastoreexact /**< separation storage */
    107 );
    108
    109#ifdef __cplusplus
    110}
    111#endif
    112
    113#endif
    common defines and data types used in all packages of SCIP
    memory allocation routines
    struct BMS_BlkMem BMS_BLKMEM
    Definition: memory.h:437
    int SCIPsepastoreExactGetNCutsFoundRound(SCIP_SEPASTOREEXACT *sepastoreexact)
    SCIP_RETCODE SCIPsepastoreExactFree(SCIP_SEPASTOREEXACT **sepastoreexact)
    int SCIPsepastoreExactGetNCuts(SCIP_SEPASTOREEXACT *sepastoreexact)
    SCIP_RETCODE SCIPsepastoreExactClearCuts(SCIP_SEPASTOREEXACT *sepastoreexact, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LPEXACT *lp)
    int SCIPsepastoreExactGetNCutsFound(SCIP_SEPASTOREEXACT *sepastoreexact)
    int SCIPsepastoreExactGetNCutsApplied(SCIP_SEPASTOREEXACT *sepastoreexact)
    SCIP_ROWEXACT ** SCIPsepastoreExactGetCuts(SCIP_SEPASTOREEXACT *sepastoreexact)
    SCIP_RETCODE SCIPsepastoreExactCreate(SCIP_SEPASTOREEXACT **sepastoreexact, SCIP_SET *set)
    SCIP_RETCODE SCIPsepastoreExactAddCut(SCIP_SEPASTOREEXACT *sepastoreexact, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_ROWEXACT *cut)
    Definition: heur_padm.c:135
    type definitions for branching rules
    type definitions for managing events
    type definitions for implications, variable bounds, and cliques
    type definitions for LP management
    type definitions for exact LP management
    type definitions for storing and manipulating the main problem
    type definitions for collecting reoptimization information
    type definitions for return codes for SCIP methods
    enum SCIP_Retcode SCIP_RETCODE
    Definition: type_retcode.h:63
    type definitions for storing separated cuts
    type definitions for global SCIP settings
    type definitions for problem statistics
    type definitions for branch and bound tree