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
struct_conflictstore.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-2018 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 struct_sepastore.h
17
* @ingroup INTERNALAPI
18
* @brief datastructures for storing conflicts
19
* @author Jakob Witzig
20
*/
21
22
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23
24
#ifndef __SCIP_STRUCT_CONFLICTSTORE_H__
25
#define __SCIP_STRUCT_CONFLICTSTORE_H__
26
27
28
#include "
scip/def.h
"
29
#include "
scip/type_conflictstore.h
"
30
31
#ifdef __cplusplus
32
extern
"C"
{
33
#endif
34
35
/** storage for conflicts */
36
struct
SCIP_ConflictStore
37
{
38
SCIP_EVENTHDLR
*
eventhdlr
;
/**< event handler to catch improving solutions */
39
SCIP_CONS
**
conflicts
;
/**< array with conflicts */
40
SCIP_CONS
**
dualrayconfs
;
/**< array with proofs based on dual rays */
41
SCIP_CONS
**
dualsolconfs
;
/**< array with proofs based on dual solutions */
42
SCIP_CONS
**
origconfs
;
/**< array of original conflicts added in stage SCIP_STAGE_PROBLEM */
43
SCIP_Real
*
confprimalbnds
;
/**< array of primal bounds valid at the time the corresponding bound exceeding
44
* conflict was found (-infinity if the conflict based on an infeasible LP) */
45
SCIP_Real
*
dualprimalbnds
;
/**< array of primal bounds valid at the time the corresponding dual proof
46
* based on a dual solution was found */
47
SCIP_Real
*
scalefactors
;
/**< scaling factor that needs to be considered when updating the side */
48
SCIP_Bool
*
updateside
;
/**< array to store whether the side should be updated whenever a new incumbent is found */
49
SCIP_Real
avgswitchlength
;
/**< average length of switched paths */
50
SCIP_Real
lastcutoffbound
;
/**< last cutoff bound for which the conflict store was cleaned */
51
SCIP_Longint
lastnodenum
;
/**< number of the last seen node */
52
SCIP_Longint
ncleanups
;
/**< number of storage cleanups */
53
SCIP_Longint
nnzdualrays
;
/**< number of non-zeros in all stored proofs based on dual rays */
54
SCIP_Longint
nnzdualsols
;
/**< number of non-zeros in all stored proofs based on dual solutions */
55
int
conflictsize
;
/**< size of conflict array (bounded by conflict->maxpoolsize) */
56
int
origconflictsize
;
/**< size of origconfs array */
57
int
nconflicts
;
/**< number of stored conflicts */
58
int
ndualrayconfs
;
/**< number of stored proofs based on dual rays */
59
int
ndualsolconfs
;
/**< number of stored proofs based on dual solutions */
60
int
norigconfs
;
/**< number of original conflicts */
61
int
ncbconflicts
;
/**< number of conflicts depending on cutoff bound */
62
int
nconflictsfound
;
/**< total number of conflicts found so far */
63
int
cleanupfreq
;
/**< frequency to cleanup the storage if the storage is not full */
64
int
nswitches
;
/**< number of path switches */
65
int
initstoresize
;
/**< initial size of the storage (different to maxstoresize iff dynamic) */
66
int
storesize
;
/**< current size of the storage (different to maxstoresize iff dynamic) */
67
int
maxstoresize
;
/**< maximal size of the storage */
68
};
69
70
#ifdef __cplusplus
71
}
72
#endif
73
74
#endif
SCIP_ConflictStore::nconflictsfound
int nconflictsfound
Definition:
struct_conflictstore.h:62
SCIP_ConflictStore::updateside
SCIP_Bool * updateside
Definition:
struct_conflictstore.h:48
SCIP_ConflictStore::norigconfs
int norigconfs
Definition:
struct_conflictstore.h:60
type_conflictstore.h
type definitions for conflict store
SCIP_ConflictStore::confprimalbnds
SCIP_Real * confprimalbnds
Definition:
struct_conflictstore.h:43
SCIP_ConflictStore::origconflictsize
int origconflictsize
Definition:
struct_conflictstore.h:56
SCIP_ConflictStore::cleanupfreq
int cleanupfreq
Definition:
struct_conflictstore.h:63
SCIP_ConflictStore::scalefactors
SCIP_Real * scalefactors
Definition:
struct_conflictstore.h:47
SCIP_ConflictStore::nswitches
int nswitches
Definition:
struct_conflictstore.h:64
SCIP_ConflictStore::dualsolconfs
SCIP_CONS ** dualsolconfs
Definition:
struct_conflictstore.h:41
SCIP_ConflictStore::nnzdualrays
SCIP_Longint nnzdualrays
Definition:
struct_conflictstore.h:53
SCIP_ConflictStore::dualrayconfs
SCIP_CONS ** dualrayconfs
Definition:
struct_conflictstore.h:40
SCIP_ConflictStore::lastcutoffbound
SCIP_Real lastcutoffbound
Definition:
struct_conflictstore.h:50
SCIP_ConflictStore::eventhdlr
SCIP_EVENTHDLR * eventhdlr
Definition:
struct_conflictstore.h:38
SCIP_Cons
Definition:
struct_cons.h:37
SCIP_ConflictStore::origconfs
SCIP_CONS ** origconfs
Definition:
struct_conflictstore.h:42
SCIP_ConflictStore::avgswitchlength
SCIP_Real avgswitchlength
Definition:
struct_conflictstore.h:49
SCIP_ConflictStore::ndualrayconfs
int ndualrayconfs
Definition:
struct_conflictstore.h:58
SCIP_ConflictStore::initstoresize
int initstoresize
Definition:
struct_conflictstore.h:65
SCIP_ConflictStore::nconflicts
int nconflicts
Definition:
struct_conflictstore.h:57
SCIP_ConflictStore
Definition:
struct_conflictstore.h:36
SCIP_Bool
#define SCIP_Bool
Definition:
def.h:61
SCIP_ConflictStore::ncleanups
SCIP_Longint ncleanups
Definition:
struct_conflictstore.h:52
SCIP_ConflictStore::conflicts
SCIP_CONS ** conflicts
Definition:
struct_conflictstore.h:39
SCIP_ConflictStore::dualprimalbnds
SCIP_Real * dualprimalbnds
Definition:
struct_conflictstore.h:45
SCIP_ConflictStore::nnzdualsols
SCIP_Longint nnzdualsols
Definition:
struct_conflictstore.h:54
SCIP_ConflictStore::conflictsize
int conflictsize
Definition:
struct_conflictstore.h:55
SCIP_ConflictStore::lastnodenum
SCIP_Longint lastnodenum
Definition:
struct_conflictstore.h:51
SCIP_ConflictStore::storesize
int storesize
Definition:
struct_conflictstore.h:66
SCIP_Real
#define SCIP_Real
Definition:
def.h:149
SCIP_Longint
#define SCIP_Longint
Definition:
def.h:134
SCIP_ConflictStore::maxstoresize
int maxstoresize
Definition:
struct_conflictstore.h:67
def.h
common defines and data types used in all packages of SCIP
SCIP_Eventhdlr
Definition:
struct_event.h:186
SCIP_ConflictStore::ncbconflicts
int ncbconflicts
Definition:
struct_conflictstore.h:61
SCIP_ConflictStore::ndualsolconfs
int ndualsolconfs
Definition:
struct_conflictstore.h:59