doc/glpk10.tex
changeset 1 c445c931472f
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/doc/glpk10.tex	Mon Dec 06 13:09:21 2010 +0100
     1.3 @@ -0,0 +1,210 @@
     1.4 +%* glpk10.tex *%
     1.5 +
     1.6 +\chapter{Stand-alone LP/MIP Solver}
     1.7 +\label{chaglpsol}
     1.8 +
     1.9 +The GLPK package includes the program \verb|glpsol|, which is a
    1.10 +stand-alone LP/MIP solver. This program can be invoked from the command
    1.11 +line of from the shell to read LP/MIP problem data in any format
    1.12 +supported by GLPK, solve the problem, and write the problem solution
    1.13 +obtained to an output text file.
    1.14 +
    1.15 +\subsubsection*{Usage}
    1.16 +
    1.17 +\noindent
    1.18 +\verb|glpsol| [{\it options\dots}] [{\it filename}]
    1.19 +
    1.20 +\subsubsection*{General options}
    1.21 +
    1.22 +\noindent
    1.23 +\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
    1.24 +\verb|--mps|      &  read LP/MIP problem in fixed MPS format \\
    1.25 +\verb|--freemps|  &  read LP/MIP problem in free MPS format (default)\\
    1.26 +\verb|--lp|       &  read LP/MIP problem in CPLEX LP format \\
    1.27 +\verb|--glp|      &  read LP/MIP problem in GLPK format \\
    1.28 +\verb|--math|     &  read LP/MIP model written in GNU MathProg modeling
    1.29 +                     language \\
    1.30 +\multicolumn{2}{@{}l}{{\tt -m} {\it filename}, {\tt --model}
    1.31 +{\it filename}} \\
    1.32 +                  &  read model section and optional data section from
    1.33 +                     {\it filename} (the same as \verb|--math|) \\
    1.34 +\multicolumn{2}{@{}l}{{\tt -d} {\it filename}, {\tt --data}
    1.35 +{\it filename}} \\
    1.36 +                  &  read data section from {\it filename}
    1.37 +                     (for \verb|--math| only); if model file also has
    1.38 +                     data section, that section is ignored \\
    1.39 +\multicolumn{2}{@{}l}{{\tt -y} {\it filename}, {\tt --display}
    1.40 +{\it filename}} \\
    1.41 +                  &  send display output to {\it filename}
    1.42 +                     (for \verb|--math| only); by default the output is
    1.43 +                     sent to \verb|stdout| \\
    1.44 +\end{tabular}
    1.45 +
    1.46 +\noindent
    1.47 +\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
    1.48 +\verb|--seed| {\it value}
    1.49 +                  &  initialize pseudo-random number generator used in
    1.50 +                     MathProg model with specified seed (any integer);
    1.51 +                     if the seed value is specified as \verb|?|
    1.52 +                     (question mark), some random seed will be used\\
    1.53 +\verb|--mincost|  &  read min-cost flow problem in DIMACS format\\
    1.54 +\verb|--maxflow|  &  read maximum flow problem in DIMACS format\\
    1.55 +\verb|--simplex|  &  use simplex method (default) \\
    1.56 +\verb|--interior| &  use interior point method (for pure LP only) \\
    1.57 +\multicolumn{2}{@{}l}{{\tt -r} {\it filename}, {\tt --read}
    1.58 +{\it filename}} \\
    1.59 +                  &  read solution from {\it filename} rather to find
    1.60 +                     it with the solver \\
    1.61 +\verb|--min|      &  minimization \\
    1.62 +\verb|--max|      &  maximization \\
    1.63 +\verb|--scale|    &  scale problem (default) \\
    1.64 +\verb|--noscale|  &  do not scale problem \\
    1.65 +\multicolumn{2}{@{}l}{{\tt -o} {\it filename}, {\tt --output}
    1.66 +{\it filename}} \\
    1.67 +                  &  write solution to {\it filename} in printable
    1.68 +                     format \\
    1.69 +\multicolumn{2}{@{}l}{{\tt -w} {\it filename}, {\tt --write}
    1.70 +{\it filename}} \\
    1.71 +                  &  write solution to {\it filename} in plain text
    1.72 +                     format \\
    1.73 +\multicolumn{2}{@{}l}{{\tt --ranges} {\it filename}} \\
    1.74 +                  &  write sensitivity analysis report to {\it filename}
    1.75 +                     in printable format (simplex only) \\
    1.76 +\verb|--tmlim| {\it nnn}
    1.77 +                  &  limit solution time to {\it nnn} seconds
    1.78 +                     (\verb|--tmlim 0| allows obtaining solution at
    1.79 +                     initial point) \\
    1.80 +\verb|--memlim| {\it nnn}
    1.81 +                  &  limit available memory to {\it nnn} megabytes \\
    1.82 +\verb|--check|    &  do not solve problem, check input data only \\
    1.83 +\verb|--name| {\it probname}
    1.84 +                  &  change problem name to {\it probname} \\
    1.85 +\verb|--wmps| {\it filename}
    1.86 +                  &  write problem to {\it filename} in fixed MPS
    1.87 +                     format \\
    1.88 +\multicolumn{2}{@{}l}{{\tt --wfreemps} {\it filename}} \\
    1.89 +                  &  write problem to {\it filename} in free MPS
    1.90 +                     format \\
    1.91 +\verb|--wlp| {\it filename}
    1.92 +                  &  write problem to {\it filename} in CPLEX LP
    1.93 +                     format \\
    1.94 +\verb|--wglp| {\it filename}
    1.95 +                  &  write problem to {\it filename} in GLPK format \\
    1.96 +\verb|--log| {\it filename}
    1.97 +                  &  write copy of terminal output to {\it filename} \\
    1.98 +\verb|-h|, \verb|--help|
    1.99 +                  &  display this help information and exit \\
   1.100 +\verb|-v|, \verb|--version|
   1.101 +                  &  display program version and exit \\
   1.102 +\end{tabular}
   1.103 +
   1.104 +\subsection*{LP basis factorization options}
   1.105 +
   1.106 +\noindent
   1.107 +\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
   1.108 +\verb|--luf|      &  LU + Forrest--Tomlin update \\
   1.109 +                  &  (faster, less stable; default) \\
   1.110 +\verb|--cbg|      &  LU + Schur complement + Bartels--Golub update \\
   1.111 +                  &  (slower, more stable) \\
   1.112 +\verb|--cgr|      &  LU + Schur complement + Givens rotation update \\
   1.113 +                  &  (slower, more stable) \\
   1.114 +\end{tabular}
   1.115 +
   1.116 +\subsubsection*{Options specific to the simplex solver}
   1.117 +
   1.118 +\noindent
   1.119 +\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
   1.120 +\verb|--primal|   &  use primal simplex (default) \\
   1.121 +\verb|--dual|     &  use dual simplex \\
   1.122 +\verb|--std|      &  use standard initial basis of all slacks \\
   1.123 +\verb|--adv|      &  use advanced initial basis (default) \\
   1.124 +\verb|--bib|      &  use Bixby's initial basis\\
   1.125 +\verb|--ini| {\it filename}
   1.126 +                  &  use as initial basis previously saved with
   1.127 +                     \verb|-w| \\
   1.128 +                  & (disables LP presolver) \\
   1.129 +\verb|--steep|    &  use steepest edge technique (default) \\
   1.130 +\verb|--nosteep|  &  use standard ``textbook'' pricing \\
   1.131 +\verb|--relax|    &  use Harris' two-pass ratio test (default) \\
   1.132 +\verb|--norelax|  &  use standard ``textbook'' ratio test \\
   1.133 +\verb|--presol|   &  use LP presolver (default; assumes \verb|--scale|
   1.134 +                     and \verb|--adv|) \\
   1.135 +\verb|--nopresol| &  do not use LP presolver \\
   1.136 +\verb|--exact|    & use simplex method based on exact arithmetic \\
   1.137 +\verb|--xcheck|   & check final basis using exact arithmetic \\
   1.138 +\end{tabular}
   1.139 +
   1.140 +\subsubsection*{Options specific to the interior-point solver}
   1.141 +
   1.142 +\noindent
   1.143 +\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
   1.144 +\verb|--nord|     &  use natural (original) ordering \\
   1.145 +\verb|--qmd|      &  use quotient minimum degree ordering \\
   1.146 +\verb|--amd|      &  use approximate minimum degree ordering (default)\\
   1.147 +\verb|--symamd|   &  use approximate minimum degree ordering \\
   1.148 +\end{tabular}
   1.149 +
   1.150 +\subsubsection*{Options specific to the MIP solver}
   1.151 +
   1.152 +\noindent
   1.153 +\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
   1.154 +\verb|--nomip|    &  consider all integer variables as continuous
   1.155 +                     (allows solving MIP as pure LP) \\
   1.156 +\verb|--first|    &  branch on first integer variable \\
   1.157 +\verb|--last|     &  branch on last integer variable \\
   1.158 +\verb|--mostf|    &  branch on most fractional variable \\
   1.159 +\end{tabular}
   1.160 +
   1.161 +\noindent
   1.162 +\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
   1.163 +\verb|--drtom|    &  branch using heuristic by Driebeck and Tomlin
   1.164 +                     (default) \\
   1.165 +\verb|--pcost|    &  branch using hybrid pseudocost heuristic (may be
   1.166 +                     useful for hard instances) \\
   1.167 +\verb|--dfs|      &  backtrack using depth first search \\
   1.168 +\verb|--bfs|      &  backtrack using breadth first search \\
   1.169 +\verb|--bestp|    &  backtrack using the best projection heuristic
   1.170 +                     (default) \\
   1.171 +\verb|--bestb|    &  backtrack using node with best local bound \\
   1.172 +\verb|--intopt|   &  use MIP presolver (default)\\
   1.173 +\verb|--nointopt| &  do not use MIP presolver\\
   1.174 +\verb|--binarize| &  replace general integer variables by binary ones
   1.175 +                     (assumes \verb|--intopt|)\\
   1.176 +\verb|--fpump|    & apply feasibility pump heuristic\\
   1.177 +\verb|--gomory|   &  generate Gomory's mixed integer cuts\\
   1.178 +\verb|--mir|      &  generate MIR (mixed integer rounding) cuts\\
   1.179 +\verb|--cover|    &  generate mixed cover cuts\\
   1.180 +\verb|--clique|   &  generate clique cuts\\
   1.181 +\verb|--cuts|     &  generate cuts of all classes above (assumes
   1.182 +                     \verb|--intopt|)\\
   1.183 +\verb|--mipgap| {\it tol}
   1.184 +                  & set relative mip gap tolerance to {\it tol}\\
   1.185 +\end{tabular}
   1.186 +
   1.187 +\bigskip
   1.188 +
   1.189 +\noindent
   1.190 +For description of the MPS format see Appendix \ref{champs},
   1.191 +page \pageref{champs}.
   1.192 +
   1.193 +\bigskip
   1.194 +
   1.195 +\noindent
   1.196 +For description of the CPLEX LP format see Appendix \ref{chacplex},
   1.197 +page \pageref{chacplex}.
   1.198 +
   1.199 +\bigskip
   1.200 +
   1.201 +\noindent
   1.202 +For description of the modeling language see the document ``Modeling
   1.203 +Language GNU MathProg: Language Reference'' included in the GLPK
   1.204 +distribution.
   1.205 +
   1.206 +\bigskip
   1.207 +
   1.208 +\noindent
   1.209 +For description of the DIMACS min-cost flow problem format and DIMACS
   1.210 +maximum flow problem format see the document ``GLPK: Graph and Network
   1.211 +Routines'' included in the GLPK distribution.
   1.212 +
   1.213 +%* eof *%