You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							166 lines
						
					
					
						
							7.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							166 lines
						
					
					
						
							7.1 KiB
						
					
					
				| %* 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             LU + Forrest-Tomlin update | |
|                      (faster, less stable; default) | |
|    --cbg             LU + Schur complement + Bartels-Golub update | |
|                      (slower, more stable) | |
|    --cgr             LU + Schur complement + Givens rotation update | |
|                      (slower, more stable) | |
| \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 | |
| \end{verbatim} | |
| 
 | |
| \newpage | |
| 
 | |
| \begin{verbatim} | |
|    --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 *%
 |