Scippy

SCIP

Solving Constraint Integer Programs

lpexact_bounding.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 lpexact_bounding.h
26 * @brief safe exact rational bounding methods
27 * @author Leon Eifler
28 *
29 */
30
31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
32
33#ifndef __SCIP_LPEXACT_BOUNDING_H__
34#define __SCIP_LPEXACT_BOUNDING_H__
35
36
37#include <stdio.h>
38
39#include "scip/def.h"
41#include "scip/lpexact.h"
42#include "scip/type_rational.h"
43#include "scip/type_set.h"
44#include "scip/type_stat.h"
45#include "scip/type_misc.h"
46#include "scip/type_lp.h"
47#include "scip/type_lpexact.h"
48#include "scip/type_var.h"
49#include "scip/type_prob.h"
50#include "scip/type_sol.h"
51#include "scip/pub_lp.h"
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
57/** computes a safe bound for the current floating point LP */
59 SCIP_LP* lp, /**< LP data */
60 SCIP_LPEXACT* lpexact, /**< exact LP data */
61 SCIP_SET* set, /**< global SCIP settings */
62 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
63 BMS_BLKMEM* blkmem, /**< block memory buffers */
64 SCIP_STAT* stat, /**< problem statistics */
65 SCIP_EVENTQUEUE* eventqueue, /**< event queue */
66 SCIP_PROB* prob, /**< problem data */
67 SCIP_Bool* lperror, /**< pointer to store whether an unresolved LP error occurred */
68 SCIP_Bool usefarkas, /**< should infeasiblity be proven? */
69 SCIP_Real* safebound, /**< pointer to store the calculated safe bound */
70 SCIP_Bool* primalfeasible, /**< pointer to store whether the solution is primal feasible, or NULL */
71 SCIP_Bool* dualfeasible /**< pointer to store whether the solution is dual feasible, or NULL */
72 );
73
74#ifdef __cplusplus
75}
76#endif
77
78#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
internal methods for exact LP management
SCIP_RETCODE SCIPlpExactComputeSafeBound(SCIP_LP *lp, SCIP_LPEXACT *lpexact, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_PROB *prob, SCIP_Bool *lperror, SCIP_Bool usefarkas, SCIP_Real *safebound, SCIP_Bool *primalfeasible, SCIP_Bool *dualfeasible)
memory allocation routines
struct BMS_BlkMem BMS_BLKMEM
Definition: memory.h:437
public methods for LP management
Definition: heur_padm.c:135
type definitions for LP management
type definitions for exact LP management
type definitions for miscellaneous datastructures
type definitions for storing and manipulating the main problem
type definitions for rational numbers
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:63
type definitions for global SCIP settings
type definitions for storing primal CIP solutions
type definitions for problem statistics
type definitions for problem variables