1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
%* glpk10.tex *%
\chapter{Stand-alone LP/MIP Solver}
\label{chaglpsol}
The GLPK package includes the program \verb|glpsol|, which is a
stand-alone LP/MIP solver. This program can be invoked from the command
line to read LP/MIP problem data in any format supported by GLPK, solve
the problem, and write its solution to an output text file.
\para{Usage}
\verb|glpsol| [{\it options\dots}] [{\it filename}]
\para{General options}
\begin{verbatim}
--mps read LP/MIP problem in fixed MPS format
--freemps read LP/MIP problem in free MPS format (default)
--lp read LP/MIP problem in CPLEX LP format
--glp read LP/MIP problem in GLPK format
--math read LP/MIP model written in GNU MathProg modeling
language
-m filename, --model filename
read model section and optional data section from
filename (same as --math)
-d filename, --data filename
read data section from filename (for --math only);
if model file also has data section, it is ignored
-y filename, --display filename
send display output to filename (for --math only);
by default the output is sent to terminal
--seed value initialize pseudo-random number generator used in
MathProg model with specified seed (any integer);
if seed value is ?, some random seed will be used
--mincost read min-cost flow problem in DIMACS format
--maxflow read maximum flow problem in DIMACS format
--cnf read CNF-SAT problem in DIMACS format
--simplex use simplex method (default)
--interior use interior point method (LP only)
-r filename, --read filename
read solution from filename rather to find it with
the solver
--min minimization
--max maximization
--scale scale problem (default)
--noscale do not scale problem
-o filename, --output filename
write solution to filename in printable format
-w filename, --write filename
write solution to filename in plain text format
--ranges filename
write sensitivity analysis report to filename in
printable format (simplex only)
--tmlim nnn limit solution time to nnn seconds
--memlim nnn limit available memory to nnn megabytes
--check do not solve problem, check input data only
--name probname change problem name to probname
--wmps filename write problem to filename in fixed MPS format
--wfreemps filename
write problem to filename in free MPS format
--wlp filename write problem to filename in CPLEX LP format
--wglp filename write problem to filename in GLPK format
--wcnf filename write problem to filename in DIMACS CNF-SAT format
--log filename write copy of terminal output to filename
-h, --help display this help information and exit
-v, --version display program version and exit
\end{verbatim}
\para{LP basis factorization options}
\begin{verbatim}
--luf plain LU factorization (default)
--btf block triangular LU factorization
--ft Forrest-Tomlin update (requires --luf; default)
--cbg Schur complement + Bartels-Golub update
--cgr Schur complement + Givens rotation update
\end{verbatim}
\para{Options specific to the simplex solver}
\begin{verbatim}
--primal use primal simplex (default)
--dual use dual simplex
--std use standard initial basis of all slacks
--adv use advanced initial basis (default)
--bib use Bixby's initial basis
--ini filename use as initial basis previously saved with -w
(disables LP presolver)
--steep use steepest edge technique (default)
--nosteep use standard "textbook" pricing
--relax use Harris' two-pass ratio test (default)
--norelax use standard "textbook" ratio test
--presol use presolver (default; assumes --scale and --adv)
--nopresol do not use presolver
--exact use simplex method based on exact arithmetic
--xcheck check final basis using exact arithmetic
\end{verbatim}
\para{Options specific to the interior-point solver}
\begin{verbatim}
--nord use natural (original) ordering
--qmd use quotient minimum degree ordering
--amd use approximate minimum degree ordering (default)
--symamd use approximate minimum degree ordering
\end{verbatim}
\para{Options specific to the MIP solver}
\begin{verbatim}
--nomip consider all integer variables as continuous
(allows solving MIP as pure LP)
--first branch on first integer variable
--last branch on last integer variable
--mostf branch on most fractional variable
--drtom branch using heuristic by Driebeck and Tomlin
(default)
--pcost branch using hybrid pseudocost heuristic (may be
useful for hard instances)
--dfs backtrack using depth first search
--bfs backtrack using breadth first search
--bestp backtrack using the best projection heuristic
--bestb backtrack using node with best local bound
(default)
--intopt use MIP presolver (default)
--nointopt do not use MIP presolver
--binarize replace general integer variables by binary ones
(assumes --intopt)
--fpump apply feasibility pump heuristic
--proxy [nnn] apply proximity search heuristic (nnn is time limit
in seconds; default is 60)
--gomory generate Gomory's mixed integer cuts
--mir generate MIR (mixed integer rounding) cuts
--cover generate mixed cover cuts
--clique generate clique cuts
--cuts generate all cuts above
--mipgap tol set relative mip gap tolerance to tol
--minisat translate integer feasibility problem to CNF-SAT
and solve it with MiniSat solver
--objbnd bound add inequality obj <= bound (minimization) or
obj >= bound (maximization) to integer feasibility
problem (assumes --minisat)
\end{verbatim}
For description of the MPS format see Appendix \ref{champs}, page
\pageref{champs}.
For description of the CPLEX LP format see Appendix \ref{chacplex},
page \pageref{chacplex}.
For description of the modeling language see the document ``Modeling
Language GNU MathProg: Language Reference'' included in the GLPK
distribution.
For description of the DIMACS min-cost flow problem format and DIMACS
maximum flow problem format see the document ``GLPK: Graph and Network
Routines'' included in the GLPK distribution.
%* eof *%
|