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 *%