AMPL

AMPL
Desarrollador(es)
AMPL Optimization LLC
www.ampl.com
Información general
Extensiones comunes .mod .dat .run
Paradigma multi-paradigma: declarativo, imperativo
Apareció en 1985
Última versión estable 20131012 ( 12 de octubre de 2013 (4 años))
Influido por AWK, C
Ha influido a Coopr
Sistema operativo Multiplataforma: Linux, OS X, algunos basados en  Unix, Windows
Licencia Software propietario (traductor), Software libre y de código abierto (Librería de solvers de AMPL)
[ editar datos en Wikidata]

AMPL (A Mathematical Programming Language) es un lenguaje de programación algebraica (AML) para describir y solucionar problemas de gran complejidad para computación matemática  de gran escala (p. ej., problemas de programación de la producción a grande escala).[1]​ Fue desarrollado por Robert Fourer, David Gay, y Brian Kernighan en los  Laboratorios Bell. AMPL soporta docenas de solvers, tanto de  código abierto como  software comercial, incluyendo CBC, CPLEX, FortMP, Gurobi, MINOS, IPOPT, SNOPT, KNITRO, y LGO.

Una ventaja de AMPL es la semejanza de su sintaxis a la notación matemática de problemas de optimización. Esto permite una definición muy concisa y legible de problemas en el ámbito de optimización. Muchos modernos solvers disponibles en el servidor NEOS (anteriormente ubicado en el Laboratorio Nacional Argonne, actualmente establecido en la Universidad de Wisconsin, Madison).[2]​ NEOS acepta problemas escritos AMPL. De acuerdo con las estadísticas del servidor NEOS, AMPL es el formato más popular para representar problemas de programación matemática resueltos en el servidor.

Características

AMPL soporta una amplia gama de tipos de problema, entre ellos:

  • Programación lineal.
  • Programación cuadrática.
  • Programación no lineal.
  • Programación entera mixta.
  • Programación cuadrática entera mixta con o sin restricciones cuadráticas convexas.
  • Programación no lineal entera mixta.
  • Programación de cono de segundo orden.
  • Optimización global.
  • Problemas de programación semidefinida con desigualdades matriciales bilineales.
  • Problemas de teoría de la complementariedad (MPECs) en variables discretas o continuas.
  • Programación de restricciones.[3]

AMPL Invoca un solver en un proceso separado, lo cuál tiene estas ventajas:

  • El usuario puede interrumpir el proceso de solución en cualquier momento.
  • Los errores del solver no afectan el intérprete.
  • La versión de AMPL de 32-bits puede ser utilizada con solvers de 64-bits y viceversa.

La interacción con el solver es llevada a cabo a través de una interfaz nl bien definida.

Other Languages
Deutsch: AMPL
English: AMPL
italiano: AMPL
ਪੰਜਾਬੀ: ਏਐਮਪੀਐਲ
svenska: AMPL
українська: AMPL
中文: AMPL