Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.2.0
SCIP 8.1.0
SCIP 7.0.3
SCIP 6.0.2
SCIP 5.0.1
SCIP 4.0.1
SCIP 3.2.1
SCIP
Solving Constraint Integer Programs
presol_implics.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-2017 Konrad-Zuse-Zentrum */
7
/* fuer Informationstechnik Berlin */
8
/* */
9
/* SCIP is distributed under the terms of the ZIB Academic License. */
10
/* */
11
/* You should have received a copy of the ZIB Academic License */
12
/* along with SCIP; see the file COPYING. If not email to scip@zib.de. */
13
/* */
14
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15
16
/**@file presol_implics.h
17
* @ingroup PRESOLVERS
18
* @brief implication graph presolver which checks for aggregations
19
* @author Tobias Achterberg
20
*
21
* This presolver looks for variable implications in \f$x == 0\f$ and \f$x == 1\f$ with the same implied variable.
22
* There are four possible cases:
23
* \f[
24
* x = 0 \Rightarrow y = lb,\; \mathrm{and}\; x = 1 \Rightarrow y = lb:\; \mathrm{fix}\; y\; \mathrm{to}\; lb
25
* \f]
26
* \f[
27
* x = 0 \Rightarrow y = lb,\; \mathrm{and}\; x = 1 \Rightarrow y = ub:\; \mathrm{aggregate}\; y == lb + (ub-lb)x
28
* \f]
29
* \f[
30
* x = 0 \Rightarrow y = ub,\; \mathrm{and}\; x = 1 \Rightarrow y = lb:\; \mathrm{aggregate}\; y == ub - (ub-lb)x
31
* \f]
32
* \f[
33
* x = 0 \Rightarrow y = ub,\; \mathrm{and}\; x = 1 \Rightarrow y = ub:\; \mathrm{fix}\; y\; \mathrm{to}\; ub
34
* \f]
35
*/
36
37
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
38
39
#ifndef __SCIP_PRESOL_IMPLICS_H__
40
#define __SCIP_PRESOL_IMPLICS_H__
41
42
43
#include "
scip/scip.h
"
44
45
#ifdef __cplusplus
46
extern
"C"
{
47
#endif
48
49
/** creates the implics presolver and includes it in SCIP
50
*
51
* @ingroup PresolverIncludes
52
*/
53
extern
54
SCIP_RETCODE
SCIPincludePresolImplics
(
55
SCIP
*
scip
/**< SCIP data structure */
56
);
57
58
#ifdef __cplusplus
59
}
60
#endif
61
62
#endif
Scip
Definition:
struct_scip.h:58
SCIP_RETCODE
enum SCIP_Retcode SCIP_RETCODE
Definition:
type_retcode.h:53
scip
Definition:
objbranchrule.h:33
scip.h
SCIP callable library.
SCIPincludePresolImplics
SCIP_RETCODE SCIPincludePresolImplics(SCIP *scip)
Definition:
presol_implics.c:336