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
type_lp.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 type_lp.h
17
* @brief type definitions for LP management
18
* @author Tobias Achterberg
19
*/
20
21
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22
23
#ifndef __SCIP_TYPE_LP_H__
24
#define __SCIP_TYPE_LP_H__
25
26
#ifdef __cplusplus
27
extern
"C"
{
28
#endif
29
30
/** solution status after solving LP */
31
enum
SCIP_LPSolStat
32
{
33
SCIP_LPSOLSTAT_NOTSOLVED
= 0,
/**< LP was not solved, no solution exists */
34
SCIP_LPSOLSTAT_OPTIMAL
= 1,
/**< LP was solved to optimality */
35
SCIP_LPSOLSTAT_INFEASIBLE
= 2,
/**< LP is primal infeasible */
36
SCIP_LPSOLSTAT_UNBOUNDEDRAY
= 3,
/**< LP has a primal unbounded ray */
37
SCIP_LPSOLSTAT_OBJLIMIT
= 4,
/**< objective limit was reached during optimization */
38
SCIP_LPSOLSTAT_ITERLIMIT
= 5,
/**< iteration limit was reached during optimization */
39
SCIP_LPSOLSTAT_TIMELIMIT
= 6,
/**< time limit was reached during optimization */
40
SCIP_LPSOLSTAT_ERROR
= 7
/**< an error occured during optimization */
41
};
42
typedef
enum
SCIP_LPSolStat
SCIP_LPSOLSTAT
;
43
44
/** type of variable bound: lower or upper bound */
45
enum
SCIP_BoundType
46
{
47
SCIP_BOUNDTYPE_LOWER
= 0,
/**< lower bound */
48
SCIP_BOUNDTYPE_UPPER
= 1
/**< upper bound */
49
};
50
typedef
enum
SCIP_BoundType
SCIP_BOUNDTYPE
;
51
52
/** type of row side: left hand or right hand side */
53
enum
SCIP_SideType
54
{
55
SCIP_SIDETYPE_LEFT
= 0,
/**< left hand side */
56
SCIP_SIDETYPE_RIGHT
= 1
/**< right hand side */
57
};
58
typedef
enum
SCIP_SideType
SCIP_SIDETYPE
;
59
60
/** type of origin of row */
61
enum
SCIP_RowOriginType
62
{
63
SCIP_ROWORIGINTYPE_UNSPEC
= 0,
/**< unspecified origin of row */
64
SCIP_ROWORIGINTYPE_CONS
= 1,
/**< row created by constraint handler */
65
SCIP_ROWORIGINTYPE_SEPA
= 2,
/**< row created by separator */
66
SCIP_ROWORIGINTYPE_REOPT
= 3
/**< row created by reoptimization */
67
};
68
typedef
enum
SCIP_RowOriginType
SCIP_ROWORIGINTYPE
;
69
70
/** type of LP algorithm */
71
enum
SCIP_LPAlgo
72
{
73
SCIP_LPALGO_PRIMALSIMPLEX
= 0,
/**< primal simplex */
74
SCIP_LPALGO_DUALSIMPLEX
= 1,
/**< dual simplex */
75
SCIP_LPALGO_BARRIER
= 2,
/**< barrier algorithm */
76
SCIP_LPALGO_BARRIERCROSSOVER
= 3
/**< barrier algorithm with crossover */
77
};
78
typedef
enum
SCIP_LPAlgo
SCIP_LPALGO
;
79
80
typedef
struct
SCIP_ColSolVals
SCIP_COLSOLVALS
;
/**< collected values of a column which depend on the LP solution */
81
typedef
struct
SCIP_RowSolVals
SCIP_ROWSOLVALS
;
/**< collected values of a row which depend on the LP solution */
82
typedef
struct
SCIP_LpSolVals
SCIP_LPSOLVALS
;
/**< collected values of the LP data which depend on the LP solution */
83
84
/** column of an LP
85
*
86
* - \ref PublicColumnMethods "List of all available methods"
87
*/
88
typedef
struct
SCIP_Col
SCIP_COL
;
89
90
/** row of an LP
91
*
92
* - \ref PublicRowMethods "List of all available methods"
93
*/
94
typedef
struct
SCIP_Row
SCIP_ROW
;
95
96
/** LP structure
97
*
98
* - \ref PublicLPMethods "List of all available methods"
99
*/
100
typedef
struct
SCIP_Lp
SCIP_LP
;
101
102
#ifdef __cplusplus
103
}
104
#endif
105
106
#endif
SCIP_ROWORIGINTYPE_CONS
Definition:
type_lp.h:64
SCIP_BOUNDTYPE
enum SCIP_BoundType SCIP_BOUNDTYPE
Definition:
type_lp.h:50
SCIP_LPSOLSTAT_TIMELIMIT
Definition:
type_lp.h:39
SCIP_LPALGO
enum SCIP_LPAlgo SCIP_LPALGO
Definition:
type_lp.h:78
SCIP_ROWORIGINTYPE
enum SCIP_RowOriginType SCIP_ROWORIGINTYPE
Definition:
type_lp.h:68
SCIP_LPALGO_PRIMALSIMPLEX
Definition:
type_lp.h:73
SCIP_RowOriginType
SCIP_RowOriginType
Definition:
type_lp.h:61
SCIP_LpSolVals
Definition:
struct_lp.h:107
SCIP_SIDETYPE_LEFT
Definition:
type_lp.h:55
SCIP_LPSOLSTAT
enum SCIP_LPSolStat SCIP_LPSOLSTAT
Definition:
type_lp.h:42
SCIP_LPSOLSTAT_OBJLIMIT
Definition:
type_lp.h:37
SCIP_ROWORIGINTYPE_SEPA
Definition:
type_lp.h:65
SCIP_Col
Definition:
struct_lp.h:126
SCIP_ROWORIGINTYPE_REOPT
Definition:
type_lp.h:66
SCIP_LPALGO_DUALSIMPLEX
Definition:
type_lp.h:74
SCIP_RowSolVals
Definition:
struct_lp.h:96
SCIP_LPSOLSTAT_ERROR
Definition:
type_lp.h:40
SCIP_LPALGO_BARRIERCROSSOVER
Definition:
type_lp.h:76
SCIP_BOUNDTYPE_LOWER
Definition:
type_lp.h:47
SCIP_LPAlgo
SCIP_LPAlgo
Definition:
type_lp.h:71
SCIP_LPSOLSTAT_OPTIMAL
Definition:
type_lp.h:34
SCIP_BoundType
SCIP_BoundType
Definition:
type_lp.h:45
SCIP_Row
Definition:
struct_lp.h:192
SCIP_ROWORIGINTYPE_UNSPEC
Definition:
type_lp.h:63
SCIP_LPSOLSTAT_UNBOUNDEDRAY
Definition:
type_lp.h:36
SCIP_Lp
Definition:
struct_lp.h:259
SCIP_BOUNDTYPE_UPPER
Definition:
type_lp.h:48
SCIP_SideType
SCIP_SideType
Definition:
type_lp.h:53
SCIP_SIDETYPE_RIGHT
Definition:
type_lp.h:56
SCIP_LPSOLSTAT_INFEASIBLE
Definition:
type_lp.h:35
SCIP_LPALGO_BARRIER
Definition:
type_lp.h:75
SCIP_LPSOLSTAT_NOTSOLVED
Definition:
type_lp.h:33
SCIP_LPSOLSTAT_ITERLIMIT
Definition:
type_lp.h:38
SCIP_LPSolStat
SCIP_LPSolStat
Definition:
type_lp.h:31
SCIP_ColSolVals
Definition:
struct_lp.h:84
SCIP_SIDETYPE
enum SCIP_SideType SCIP_SIDETYPE
Definition:
type_lp.h:58