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
prop_pseudoobj.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 prop_pseudoobj.h
17
* @ingroup PROPAGATORS
18
* @brief Pseudo objective propagator
19
* @author Tobias Achterberg
20
* @author Stefan Heinz
21
*
22
* This propagator propagates the objective function using the cutoff bound and the pseudo objective value. The pseudo
23
* objective value can be seen as minimum activity of the linear objective function. Using this, this propagator checks
24
* if variables with non-zero objective coefficients can exceed the cutoff bound. If this is the case the corresponding
25
* bound can be tightened.
26
*/
27
28
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
29
30
#ifndef __SCIP_PROP_PSEUDOOBJ_H__
31
#define __SCIP_PROP_PSEUDOOBJ_H__
32
33
34
#include "
scip/scip.h
"
35
36
#ifdef __cplusplus
37
extern
"C"
{
38
#endif
39
40
/** creates the pseudo objective function propagator and includes it in SCIP
41
*
42
* @ingroup PropagatorIncludes
43
*/
44
extern
45
SCIP_RETCODE
SCIPincludePropPseudoobj
(
46
SCIP
*
scip
/**< SCIP data structure */
47
);
48
49
/**@addtogroup PROPAGATORS
50
*
51
* @{
52
*/
53
54
/** propagates the cutoff bound for the given variables */
55
extern
56
SCIP_RETCODE
SCIPpropagateCutoffboundVar
(
57
SCIP
*
scip
,
/**< SCIP data structure */
58
SCIP_PROP
* prop,
/**< propagator, or NULL */
59
SCIP_VAR
* var,
/**< variables to propagate */
60
SCIP_Real
cutoffbound,
/**< cutoff bound to use */
61
SCIP_Real
pseudoobjval,
/**< pseudo objective value to use */
62
SCIP_Bool
* tightened
/**< pointer to if the domain was tightened */
63
);
64
65
/* @} */
66
67
#ifdef __cplusplus
68
}
69
#endif
70
71
#endif
Scip
Definition:
struct_scip.h:58
SCIP_Var
Definition:
struct_var.h:197
SCIP_RETCODE
enum SCIP_Retcode SCIP_RETCODE
Definition:
type_retcode.h:53
SCIPpropagateCutoffboundVar
SCIP_RETCODE SCIPpropagateCutoffboundVar(SCIP *scip, SCIP_PROP *prop, SCIP_VAR *var, SCIP_Real cutoffbound, SCIP_Real pseudoobjval, SCIP_Bool *tightened)
Definition:
prop_pseudoobj.c:3772
SCIP_Prop
Definition:
struct_prop.h:37
SCIP_Bool
#define SCIP_Bool
Definition:
def.h:61
SCIPincludePropPseudoobj
SCIP_RETCODE SCIPincludePropPseudoobj(SCIP *scip)
Definition:
prop_pseudoobj.c:3683
SCIP_Real
#define SCIP_Real
Definition:
def.h:145
scip
Definition:
objbranchrule.h:33
scip.h
SCIP callable library.