Scippy

SCIP

Solving Constraint Integer Programs

struct_matrix.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-2015 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_matrix.h
17  * @brief data structure for MILP matrix
18  * @author Dieter Weninger
19  */
20 
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22 
23 #ifndef __SCIP_STRUCT_MATRIX_H__
24 #define __SCIP_STRUCT_MATRIX_H__
25 
26 #include "scip/def.h"
27 #include "scip/type_var.h"
28 #include "scip/type_cons.h"
29 #include "scip/type_matrix.h"
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 /** enumeration type of supported constraint types */
37 {
44 };
46 
47 /** constraint matrix data structure in column and row major format */
49 {
50  SCIP_Real* colmatval; /**< coefficients in column major format */
51  int* colmatind; /**< row indexes in column major format */
52  int* colmatbeg; /**< column storage offset */
53  int* colmatcnt; /**< number of row entries per column */
54  int ncols; /**< complete number of columns */
55  SCIP_Real* lb; /**< lower bound per variable */
56  SCIP_Real* ub; /**< upper bound per variable */
57  int* nuplocks; /**< number of up locks per variable */
58  int* ndownlocks; /**< number of down locks per variable */
59 
60  SCIP_VAR** vars; /**< variables pointer */
61 
62  SCIP_Real* rowmatval; /**< coefficients in row major format */
63  int* rowmatind; /**< column indexed in row major format */
64  int* rowmatbeg; /**< row storage offset */
65  int* rowmatcnt; /**< number of column entries per row */
66 
67  int nrows; /**< complete number of rows */
68  SCIP_Real* lhs; /**< left hand side per row */
69  SCIP_Real* rhs; /**< right hand side per row */
70 
71  SCIP_CONS** cons; /**< constraints pointer */
72  MILPMATRIXCONSTYPE* constype; /**< constraint enumeration type */
73 
74  SCIP_Bool* isrhsinfinite; /**< is right hand side infinity */
75  int nnonzs; /**< sparsity counter */
76  SCIP_Real* minactivity; /**< min activity per row */
77  SCIP_Real* maxactivity; /**< max activity per row */
78  int* minactivityneginf; /**< min activity negative infinity counter */
79  int* minactivityposinf; /**< min activity positive infinity counter */
80  int* maxactivityneginf; /**< max activity negative infinity counter */
81  int* maxactivityposinf; /**< max activity positive infinity counter */
82 };
83 
84 #ifdef __cplusplus
85 }
86 #endif
87 
88 #endif
enum MilpMatrixConsType MILPMATRIXCONSTYPE
Definition: struct_matrix.h:45
MILPMATRIXCONSTYPE * constype
Definition: struct_matrix.h:72
int * minactivityposinf
Definition: struct_matrix.h:79
int * minactivityneginf
Definition: struct_matrix.h:78
int * maxactivityneginf
Definition: struct_matrix.h:80
SCIP_Real * minactivity
Definition: struct_matrix.h:76
type definitions for MILP matrix
SCIP_VAR ** vars
Definition: struct_matrix.h:60
SCIP_Real * ub
Definition: struct_matrix.h:56
int * maxactivityposinf
Definition: struct_matrix.h:81
SCIP_Real * rhs
Definition: struct_matrix.h:69
SCIP_Real * lb
Definition: struct_matrix.h:55
type definitions for problem variables
SCIP_Real * colmatval
Definition: struct_matrix.h:50
SCIP_Real * lhs
Definition: struct_matrix.h:68
#define SCIP_Bool
Definition: def.h:50
SCIP_CONS ** cons
Definition: struct_matrix.h:71
SCIP_Bool * isrhsinfinite
Definition: struct_matrix.h:74
SCIP_Real * maxactivity
Definition: struct_matrix.h:77
#define SCIP_Real
Definition: def.h:124
MilpMatrixConsType
Definition: struct_matrix.h:36
common defines and data types used in all packages of SCIP
type definitions for constraints and constraint handlers
SCIP_Real * rowmatval
Definition: struct_matrix.h:62