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
lpi
type_lpi.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 type_lpi.h
17
* @brief type definitions for specific LP solvers interface
18
* @author Tobias Achterberg
19
*/
20
21
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22
23
#ifndef __SCIP_TYPE_LPI_H__
24
#define __SCIP_TYPE_LPI_H__
25
26
#ifdef __cplusplus
27
extern
"C"
{
28
#endif
29
30
/** objective sense */
31
enum
SCIP_ObjSen
32
{
33
SCIP_OBJSEN_MAXIMIZE
= -1,
/**< maximize objective function */
34
SCIP_OBJSEN_MINIMIZE
= +1
/**< minimize objective function */
35
};
36
typedef
enum
SCIP_ObjSen
SCIP_OBJSEN
;
37
38
/** LP solver parameters */
39
enum
SCIP_LPParam
40
{
41
SCIP_LPPAR_FROMSCRATCH
= 0,
/**< solver should start from scratch at next call? */
42
SCIP_LPPAR_FASTMIP
= 1,
/**< fast mip setting of LP solver */
43
SCIP_LPPAR_SCALING
= 2,
/**< should LP solver use scaling? */
44
SCIP_LPPAR_PRESOLVING
= 3,
/**< should LP solver use presolving? */
45
SCIP_LPPAR_PRICING
= 4,
/**< pricing strategy */
46
SCIP_LPPAR_LPINFO
= 5,
/**< should LP solver output information to the screen? */
47
SCIP_LPPAR_FEASTOL
= 6,
/**< feasibility tolerance for primal variables and slacks */
48
SCIP_LPPAR_DUALFEASTOL
= 7,
/**< feasibility tolerance for dual variables and reduced costs */
49
SCIP_LPPAR_BARRIERCONVTOL
= 8,
/**< convergence tolerance used in barrier algorithm */
50
SCIP_LPPAR_LOBJLIM
= 9,
/**< lower objective limit */
51
SCIP_LPPAR_UOBJLIM
= 10,
/**< upper objective limit */
52
SCIP_LPPAR_LPITLIM
= 11,
/**< LP iteration limit */
53
SCIP_LPPAR_LPTILIM
= 12,
/**< LP time limit */
54
SCIP_LPPAR_MARKOWITZ
= 13,
/**< Markowitz tolerance */
55
SCIP_LPPAR_ROWREPSWITCH
= 14,
/**< simplex algorithm shall use row representation of the basis
56
* if number of rows divided by number of columns exceeds this value */
57
SCIP_LPPAR_THREADS
= 15,
/**< number of threads used to solve the LP */
58
SCIP_LPPAR_CONDITIONLIMIT
= 16,
/**< maximum condition number of LP basis counted as stable */
59
SCIP_LPPAR_TIMING
= 17,
/**< type of timer (1 - cpu, 2 - wallclock, 0 - off) */
60
SCIP_LPPAR_RANDOMSEED
= 18,
/**< inital random seed, e.g. for perturbations in the simplex (0: LP default) */
61
SCIP_LPPAR_POLISHING
= 19
/**< set solution polishing (0 - disable, 1 - enable) */
62
};
63
typedef
enum
SCIP_LPParam
SCIP_LPPARAM
;
64
65
/** LP pricing strategy */
66
enum
SCIP_Pricing
67
{
68
SCIP_PRICING_LPIDEFAULT
= 0,
/**< the SCIP/LP interface should use its preferred strategy */
69
SCIP_PRICING_AUTO
= 1,
/**< the LP solver should use its preferred strategy */
70
SCIP_PRICING_FULL
= 2,
/**< full pricing */
71
SCIP_PRICING_PARTIAL
= 3,
/**< partial pricing */
72
SCIP_PRICING_STEEP
= 4,
/**< steepest edge pricing */
73
SCIP_PRICING_STEEPQSTART
= 5,
/**< steepest edge pricing without initial dual norms */
74
SCIP_PRICING_DEVEX
= 6
/**< devex pricing */
75
};
76
typedef
enum
SCIP_Pricing
SCIP_PRICING
;
77
78
/** basis status for columns and rows */
79
enum
SCIP_BaseStat
80
{
81
SCIP_BASESTAT_LOWER
= 0,
/**< (slack) variable is at its lower bound */
82
SCIP_BASESTAT_BASIC
= 1,
/**< (slack) variable is basic */
83
SCIP_BASESTAT_UPPER
= 2,
/**< (slack) variable is at its upper bound */
84
SCIP_BASESTAT_ZERO
= 3
/**< free variable is non-basic and set to zero */
85
};
86
typedef
enum
SCIP_BaseStat
SCIP_BASESTAT
;
87
88
/** LP solution quality quantities */
89
enum
SCIP_LPSolQuality
90
{
91
SCIP_LPSOLQUALITY_ESTIMCONDITION
= 0,
/**< estimated condition number of (scaled) basis matrix (SCIP_Real) */
92
SCIP_LPSOLQUALITY_EXACTCONDITION
= 1
/**< exact condition number of (scaled) basis matrix (SCIP_Real) */
93
};
94
typedef
enum
SCIP_LPSolQuality
SCIP_LPSOLQUALITY
;
95
96
typedef
struct
SCIP_LPi
SCIP_LPI
;
/**< solver dependent LP interface */
97
typedef
struct
SCIP_LPiState
SCIP_LPISTATE
;
/**< complete LP state (i.e. basis information) */
98
typedef
struct
SCIP_LPiNorms
SCIP_LPINORMS
;
/**< LP pricing norms information */
99
100
#ifdef __cplusplus
101
}
102
#endif
103
104
#endif
SCIP_LPSOLQUALITY
enum SCIP_LPSolQuality SCIP_LPSOLQUALITY
Definition:
type_lpi.h:94
SCIP_LPPAR_CONDITIONLIMIT
Definition:
type_lpi.h:58
SCIP_LPPAR_RANDOMSEED
Definition:
type_lpi.h:60
SCIP_LPPAR_LOBJLIM
Definition:
type_lpi.h:50
SCIP_BASESTAT
enum SCIP_BaseStat SCIP_BASESTAT
Definition:
type_lpi.h:86
SCIP_OBJSEN
enum SCIP_ObjSen SCIP_OBJSEN
Definition:
type_lpi.h:36
SCIP_LPPAR_FROMSCRATCH
Definition:
type_lpi.h:41
SCIP_LPPAR_LPITLIM
Definition:
type_lpi.h:52
SCIP_PRICING_DEVEX
Definition:
type_lpi.h:74
SCIP_ObjSen
SCIP_ObjSen
Definition:
type_lpi.h:31
SCIP_LPSOLQUALITY_ESTIMCONDITION
Definition:
type_lpi.h:91
SCIP_LPPARAM
enum SCIP_LPParam SCIP_LPPARAM
Definition:
type_lpi.h:63
SCIP_PRICING
enum SCIP_Pricing SCIP_PRICING
Definition:
type_lpi.h:76
SCIP_LPSolQuality
SCIP_LPSolQuality
Definition:
type_lpi.h:89
SCIP_LPiNorms
Definition:
lpi_cpx.c:188
SCIP_LPPAR_LPTILIM
Definition:
type_lpi.h:53
SCIP_PRICING_STEEP
Definition:
type_lpi.h:72
SCIP_BaseStat
SCIP_BaseStat
Definition:
type_lpi.h:79
SCIP_LPSOLQUALITY_EXACTCONDITION
Definition:
type_lpi.h:92
SCIP_OBJSEN_MINIMIZE
Definition:
type_lpi.h:34
SCIP_LPPAR_PRESOLVING
Definition:
type_lpi.h:44
SCIP_LPPAR_UOBJLIM
Definition:
type_lpi.h:51
SCIP_OBJSEN_MAXIMIZE
Definition:
type_lpi.h:33
SCIP_LPPAR_PRICING
Definition:
type_lpi.h:45
SCIP_LPPAR_MARKOWITZ
Definition:
type_lpi.h:54
SCIP_PRICING_FULL
Definition:
type_lpi.h:70
SCIP_PRICING_STEEPQSTART
Definition:
type_lpi.h:73
SCIP_PRICING_AUTO
Definition:
type_lpi.h:69
SCIP_LPPAR_THREADS
Definition:
type_lpi.h:57
SCIP_LPPAR_POLISHING
Definition:
type_lpi.h:61
SCIP_LPPAR_SCALING
Definition:
type_lpi.h:43
SCIP_LPPAR_FASTMIP
Definition:
type_lpi.h:42
SCIP_Pricing
SCIP_Pricing
Definition:
type_lpi.h:66
SCIP_LPPAR_FEASTOL
Definition:
type_lpi.h:47
SCIP_LPiState
Definition:
lpi_clp.cpp:120
SCIP_BASESTAT_LOWER
Definition:
type_lpi.h:81
SCIP_PRICING_PARTIAL
Definition:
type_lpi.h:71
SCIP_LPi
Definition:
lpi_clp.cpp:93
SCIP_LPPAR_BARRIERCONVTOL
Definition:
type_lpi.h:49
SCIP_PRICING_LPIDEFAULT
Definition:
type_lpi.h:68
SCIP_LPPAR_LPINFO
Definition:
type_lpi.h:46
SCIP_BASESTAT_BASIC
Definition:
type_lpi.h:82
SCIP_LPParam
SCIP_LPParam
Definition:
type_lpi.h:39
SCIP_LPPAR_ROWREPSWITCH
Definition:
type_lpi.h:55
SCIP_BASESTAT_ZERO
Definition:
type_lpi.h:84
SCIP_LPPAR_DUALFEASTOL
Definition:
type_lpi.h:48
SCIP_BASESTAT_UPPER
Definition:
type_lpi.h:83
SCIP_LPPAR_TIMING
Definition:
type_lpi.h:59