Nl (format)
File format for presenting and archiving mathematical programming problems
title: "Nl (format)" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["mathematical-optimization-software", "computer-file-formats"] description: "File format for presenting and archiving mathematical programming problems" topic_path: "science/mathematics" source: "https://en.wikipedia.org/wiki/Nl_(format)" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::summary File format for presenting and archiving mathematical programming problems ::
::data[format=table title="Infobox file format"]
| Field | Value |
|---|---|
| extension | .nl |
| owner | Robert Fourer |
| David Gay | |
| Brian Kernighan | |
| Bell Labs | |
| genre | Mathematical programming |
| :: |
| icon = | logo = | screenshot = | extension = .nl | mime = | type code = | uniform type = | magic = | owner = Robert Fourer David Gay Brian Kernighan Bell Labs | genre = Mathematical programming | container for = | contained by = | extended from = | extended to = | standard = | free = nl is a file format for presenting and archiving mathematical programming problems. Initially, this format has been invented for connecting solvers to AMPL. | author=David Gay | title=Hooking Your Solver to AMPL | institution=Bell Laboratories | year=1993 | number=97-4-06 | location=Murray Hill, NJ | url = https://www.ampl.com/REFS/hooking2.pdf
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
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 and AMPL/MP library provide nl parsers that are used in many solvers.
AMPL/MP library contains an NL writer and SOL reader.
References
References
- "Netlib/Ampl".
- (10 April 2022). "Ampl/Mp".
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::