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