
diff -r d59bea55db9b -r c445c931472f doc/glpk10.tex
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/glpk10.tex	Mon Dec 06 13:09:21 2010 +0100
@@ -0,0 +1,210 @@
+%* 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 of from the shell to read LP/MIP problem data in any format
+supported by GLPK, solve the problem, and write the problem solution
+obtained to an output text file.
+
+\subsubsection*{Usage}
+
+\noindent
+\verb|glpsol| [{\it options\dots}] [{\it filename}]
+
+\subsubsection*{General options}
+
+\noindent
+\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
+\verb|--mps|      &  read LP/MIP problem in fixed MPS format \\
+\verb|--freemps|  &  read LP/MIP problem in free MPS format (default)\\
+\verb|--lp|       &  read LP/MIP problem in CPLEX LP format \\
+\verb|--glp|      &  read LP/MIP problem in GLPK format \\
+\verb|--math|     &  read LP/MIP model written in GNU MathProg modeling
+                     language \\
+\multicolumn{2}{@{}l}{{\tt -m} {\it filename}, {\tt --model}
+{\it filename}} \\
+                  &  read model section and optional data section from
+                     {\it filename} (the same as \verb|--math|) \\
+\multicolumn{2}{@{}l}{{\tt -d} {\it filename}, {\tt --data}
+{\it filename}} \\
+                  &  read data section from {\it filename}
+                     (for \verb|--math| only); if model file also has
+                     data section, that section is ignored \\
+\multicolumn{2}{@{}l}{{\tt -y} {\it filename}, {\tt --display}
+{\it filename}} \\
+                  &  send display output to {\it filename}
+                     (for \verb|--math| only); by default the output is
+                     sent to \verb|stdout| \\
+\end{tabular}
+
+\noindent
+\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
+\verb|--seed| {\it value}
+                  &  initialize pseudo-random number generator used in
+                     MathProg model with specified seed (any integer);
+                     if the seed value is specified as \verb|?|
+                     (question mark), some random seed will be used\\
+\verb|--mincost|  &  read min-cost flow problem in DIMACS format\\
+\verb|--maxflow|  &  read maximum flow problem in DIMACS format\\
+\verb|--simplex|  &  use simplex method (default) \\
+\verb|--interior| &  use interior point method (for pure LP only) \\
+\multicolumn{2}{@{}l}{{\tt -r} {\it filename}, {\tt --read}
+{\it filename}} \\
+                  &  read solution from {\it filename} rather to find
+                     it with the solver \\
+\verb|--min|      &  minimization \\
+\verb|--max|      &  maximization \\
+\verb|--scale|    &  scale problem (default) \\
+\verb|--noscale|  &  do not scale problem \\
+\multicolumn{2}{@{}l}{{\tt -o} {\it filename}, {\tt --output}
+{\it filename}} \\
+                  &  write solution to {\it filename} in printable
+                     format \\
+\multicolumn{2}{@{}l}{{\tt -w} {\it filename}, {\tt --write}
+{\it filename}} \\
+                  &  write solution to {\it filename} in plain text
+                     format \\
+\multicolumn{2}{@{}l}{{\tt --ranges} {\it filename}} \\
+                  &  write sensitivity analysis report to {\it filename}
+                     in printable format (simplex only) \\
+\verb|--tmlim| {\it nnn}
+                  &  limit solution time to {\it nnn} seconds
+                     (\verb|--tmlim 0| allows obtaining solution at
+                     initial point) \\
+\verb|--memlim| {\it nnn}
+                  &  limit available memory to {\it nnn} megabytes \\
+\verb|--check|    &  do not solve problem, check input data only \\
+\verb|--name| {\it probname}
+                  &  change problem name to {\it probname} \\
+\verb|--wmps| {\it filename}
+                  &  write problem to {\it filename} in fixed MPS
+                     format \\
+\multicolumn{2}{@{}l}{{\tt --wfreemps} {\it filename}} \\
+                  &  write problem to {\it filename} in free MPS
+                     format \\
+\verb|--wlp| {\it filename}
+                  &  write problem to {\it filename} in CPLEX LP
+                     format \\
+\verb|--wglp| {\it filename}
+                  &  write problem to {\it filename} in GLPK format \\
+\verb|--log| {\it filename}
+                  &  write copy of terminal output to {\it filename} \\
+\verb|-h|, \verb|--help|
+                  &  display this help information and exit \\
+\verb|-v|, \verb|--version|
+                  &  display program version and exit \\
+\end{tabular}
+
+\subsection*{LP basis factorization options}
+
+\noindent
+\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
+\verb|--luf|      &  LU + Forrest--Tomlin update \\
+                  &  (faster, less stable; default) \\
+\verb|--cbg|      &  LU + Schur complement + Bartels--Golub update \\
+                  &  (slower, more stable) \\
+\verb|--cgr|      &  LU + Schur complement + Givens rotation update \\
+                  &  (slower, more stable) \\
+\end{tabular}
+
+\subsubsection*{Options specific to the simplex solver}
+
+\noindent
+\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
+\verb|--primal|   &  use primal simplex (default) \\
+\verb|--dual|     &  use dual simplex \\
+\verb|--std|      &  use standard initial basis of all slacks \\
+\verb|--adv|      &  use advanced initial basis (default) \\
+\verb|--bib|      &  use Bixby's initial basis\\
+\verb|--ini| {\it filename}
+                  &  use as initial basis previously saved with
+                     \verb|-w| \\
+                  & (disables LP presolver) \\
+\verb|--steep|    &  use steepest edge technique (default) \\
+\verb|--nosteep|  &  use standard ``textbook'' pricing \\
+\verb|--relax|    &  use Harris' two-pass ratio test (default) \\
+\verb|--norelax|  &  use standard ``textbook'' ratio test \\
+\verb|--presol|   &  use LP presolver (default; assumes \verb|--scale|
+                     and \verb|--adv|) \\
+\verb|--nopresol| &  do not use LP presolver \\
+\verb|--exact|    & use simplex method based on exact arithmetic \\
+\verb|--xcheck|   & check final basis using exact arithmetic \\
+\end{tabular}
+
+\subsubsection*{Options specific to the interior-point solver}
+
+\noindent
+\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
+\verb|--nord|     &  use natural (original) ordering \\
+\verb|--qmd|      &  use quotient minimum degree ordering \\
+\verb|--amd|      &  use approximate minimum degree ordering (default)\\
+\verb|--symamd|   &  use approximate minimum degree ordering \\
+\end{tabular}
+
+\subsubsection*{Options specific to the MIP solver}
+
+\noindent
+\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
+\verb|--nomip|    &  consider all integer variables as continuous
+                     (allows solving MIP as pure LP) \\
+\verb|--first|    &  branch on first integer variable \\
+\verb|--last|     &  branch on last integer variable \\
+\verb|--mostf|    &  branch on most fractional variable \\
+\end{tabular}
+
+\noindent
+\begin{tabular}{@{}p{30mm}p{92.3mm}@{}}
+\verb|--drtom|    &  branch using heuristic by Driebeck and Tomlin
+                     (default) \\
+\verb|--pcost|    &  branch using hybrid pseudocost heuristic (may be
+                     useful for hard instances) \\
+\verb|--dfs|      &  backtrack using depth first search \\
+\verb|--bfs|      &  backtrack using breadth first search \\
+\verb|--bestp|    &  backtrack using the best projection heuristic
+                     (default) \\
+\verb|--bestb|    &  backtrack using node with best local bound \\
+\verb|--intopt|   &  use MIP presolver (default)\\
+\verb|--nointopt| &  do not use MIP presolver\\
+\verb|--binarize| &  replace general integer variables by binary ones
+                     (assumes \verb|--intopt|)\\
+\verb|--fpump|    & apply feasibility pump heuristic\\
+\verb|--gomory|   &  generate Gomory's mixed integer cuts\\
+\verb|--mir|      &  generate MIR (mixed integer rounding) cuts\\
+\verb|--cover|    &  generate mixed cover cuts\\
+\verb|--clique|   &  generate clique cuts\\
+\verb|--cuts|     &  generate cuts of all classes above (assumes
+                     \verb|--intopt|)\\
+\verb|--mipgap| {\it tol}
+                  & set relative mip gap tolerance to {\it tol}\\
+\end{tabular}
+
+\bigskip
+
+\noindent
+For description of the MPS format see Appendix \ref{champs},
+page \pageref{champs}.
+
+\bigskip
+
+\noindent
+For description of the CPLEX LP format see Appendix \ref{chacplex},
+page \pageref{chacplex}.
+
+\bigskip
+
+\noindent
+For description of the modeling language see the document ``Modeling
+Language GNU MathProg: Language Reference'' included in the GLPK
+distribution.
+
+\bigskip
+
+\noindent
+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 *%




