Filename extension |
.nl |
---|---|
Developed by | Robert Fourer David Gay Brian Kernighan Bell Labs |
Type of format | Mathematical programming |
nl is a file format for presenting and archiving mathematical programming problems.[1] Initially, this format has been invented for connecting solvers to AMPL.[2] It has also been adopted by other systems such as COIN-OR (as one of the input formats), FortSP (for interacting with external solvers), and Coopr (as one of its output formats).
The nl format supports a wide range of problem types, among them:
- Linear programming
- Quadratic programming
- Nonlinear programming
- Mixed-integer programming
- Mixed-integer quadratic programming with or without convex quadratic constraints
- Mixed-integer nonlinear programming
- Second-order cone programming
- Global optimization
- Semidefinite programming problems with bilinear matrix inequalities
- Complementarity problems (MPECs) in discrete or continuous variables
- Constraint programming[3]
The nl format is low-level and is designed for compactness, not for readability. It has both binary and textual representation. Most commercial and academic solvers accept this format either directly or through special driver programs.
The open-source AMPL Solver Library distributed via Netlib[4] and AMPL/MP library[5] provide nl parsers that are used in many solvers.
AMPL/MP library[5] contains an NL writer and SOL reader.
See also
[edit]- sol (format) - a file format for presenting solutions of mathematical programming problems
References
[edit]- ^ David Gay (2005). Writing .nl Files (PDF) (Technical report). Albuquerque, NM: Sandia National Laboratories. CiteSeerX 10.1.1.60.9659. Archived from the original (PDF) on Dec 28, 2016.
- ^ David Gay (1993). Hooking Your Solver to AMPL (PDF) (Technical report). Murray Hill, NJ: Bell Laboratories. 97-4-06.
- ^ Robert Fourer; David M. Gay (2002). "Extending an Algebraic Modeling Language to Support Constraint Programming". INFORMS Journal on Computing. 14 (4): 322–344. CiteSeerX 10.1.1.8.9699. doi:10.1287/ijoc.14.4.322.2825. Archived from the original on Jul 30, 2020.
- ^ "Netlib/Ampl".
- ^ a b "Ampl/Mp". GitHub. 10 April 2022.