IBM ILOG CPLEX Optimization Studio (a menudo denominado informalmente simplemente CPLEX ) es un paquete de software de optimización . En 2004, el trabajo en CPLEX obtuvo el primer INFORMS Premio Impacto.
Desarrollador (es) | IBM |
---|---|
Lanzamiento estable | 20.1.0 [1] |
Tipo | Computación técnica |
Licencia | Propiedad |
Sitio web | www |
Historia
El CPLEX Optimizer recibió su nombre del método simplex implementado en el lenguaje de programación C , aunque hoy en día también admite otros tipos de optimización matemática y ofrece interfaces distintas de C. Fue desarrollado originalmente por Robert E. Bixby y vendido comercialmente desde 1988 por CPLEX Optimization Inc. Este fue adquirido por ILOG en 1997 y posteriormente ILOG fue adquirido por IBM en enero de 2009. [2] IBM continúa desarrollando activamente CPLEX.
Características
IBM ILOG CPLEX Optimizer resuelve problemas de programación de enteros , problemas de programación lineal muy grandes [3] utilizando variantes primarias o duales del método simplex o el método de punto interior de barrera , problemas de programación cuadrática convexa y no convexa y problemas convexos con restricciones cuadráticas ( resuelto mediante programación de cono de segundo orden , o SOCP).
CPLEX Optimizer tiene una capa de modelado llamada Concert que proporciona interfaces para los lenguajes C ++ , C # y Java . Existe una interfaz en lenguaje Python basada en la interfaz C. Además, se proporcionan conectores para Microsoft Excel y MATLAB . Por último, se proporciona un ejecutable autónomo del Optimizador interactivo para depuración y otros fines.
Se puede acceder al CPLEX Optimizer a través de sistemas de modelado independientes como AIMMS , AMPL , GAMS , OptimJ y TOMLAB . Además de eso, AMPL proporciona una interfaz para CPLEX CP Optimizer.
El IBM ILOG CPLEX Optimization Studio completo consta de CPLEX Optimizer para programación matemática, CP Optimizer para programación de restricciones, [4] el Lenguaje de programación de optimización (OPL) y un IDE estrechamente integrado.
Historial de versiones
Antes de que IBM adquiriera ILOG, el equipo de CPLEX publicó un historial de versiones de CPLEX. [5] Esto ha sido actualizado y reproducido aquí para la posteridad.
Versión | Fecha de lanzamiento | Características clave |
---|---|---|
20,1 | Diciembre de 2020 | Mejoras en el rendimiento de MIP, nuevo modo de 'énfasis MIP 5', etc. [6] |
12.10 | Diciembre de 2019 | Mejoras de rendimiento de MIP y la adición de una devolución de llamada de bifurcación genérica a las otras devoluciones de llamada genéricas introducidas en la versión 12.8. |
12,9 | Marzo de 2019 | Soporte directo para optimización multiobjetivo, mejora de la funcionalidad de devolución de llamada. |
12,8 | Diciembre de 2017 | Devolución de llamada genérica, grabador de API para facilitar la depuración, parámetros de control subMIP, oferta Download and Go. |
12,7 | Noviembre de 2016 | Descomposición automatizada de Benders, herramienta de asistencia de modelado, comando de runseeds para evaluar mejor la variabilidad del rendimiento. |
12.6.2 | Junio de 2015 | Mejoras de rendimiento (principalmente para SOCP, MISOCP, QP no convexo), soporte para optimización basada en la nube. |
12,6 | Diciembre 2013 | Soporte para QP y MIQP no convexos, MIP paralelo distribuido y más paralelismo en el nodo raíz para MIP. |
12,5 | Octubre 2012 | Mejoras en el rendimiento de MIP, parámetro de semilla aleatoria para abordar la variabilidad del rendimiento, objeto remoto, duales para QCP, herramienta de ajuste determinista. |
12,4 | Noviembre de 2011 | Soporte de límite de tiempo determinista, duales para SOCP, API de expresión cuadrática en Concert, mejoras de rendimiento en todos los algoritmos, pero especialmente en MIP. |
12,3 | Junio de 2011 | Soporte para recuentos grandes distintos de cero que requieren indexación de 64 bits, óptimos locales para QP no convexo y globalización. |
12,2 | Junio de 2010 | Más paralelismo en el nodo raíz, optimización de LP simultánea paralela determinista, junto con algunas mejoras de rendimiento de barrera adicionales y herramientas adicionales para diagnosticar matrices de base mal acondicionadas en MIP. |
12,0 | Abril de 2009 | La primera versión después de que IBM adquirió ILOG. Incluye conectores para Python, MATLAB y Excel. También se incluye la barrera paralela determinista. |
11,0 | Octubre de 2007 | Ganancias de rendimiento revolucionarias para modelos de programación de enteros mixtos (MIP) y optimización de MIP paralela mejorada. Se presentan la función de grupo de soluciones MIP y la utilidad de ajuste del rendimiento. |
10.0 | Enero de 2006 | Mejoras de rendimiento en los métodos de barrera y simplex primarios, así como en el optimizador MIP. Se introducen restricciones de indicadores y heurísticas de pulido de soluciones y se realizan mejoras en el análisis de inviabilidad. |
9.0 | Diciembre de 2003 | Mejoras de rendimiento en métodos simplex primarios y duales y el optimizador MIP. Incluye ILOG Concert Technology para usuarios de .NET y soporte para programas restringidos cuadráticamente. |
8.0 | Julio de 2002 | Mejoras en el rendimiento de MIP y compatibilidad con programas cuadráticos de enteros mixtos. |
7.5 | Diciembre de 2001 | Tecnología ILOG Concert para usuarios de Java. |
7.0 | Octubre de 2000 | Tecnología ILOG Concert para usuarios de C ++. |
6.5 | Marzo de 1999 | Mejoras significativas de rendimiento en los métodos simplex primarios y duales, y el optimizador de enteros mixtos de ILOG CPLEX. |
6.0 | Abril de 1998 | Mejoras significativas de rendimiento en métodos simplex primarios y duales y CPLEX Barrier Optimizer. |
5,0 | Septiembre de 1997 | Nuevo modelo de memoria para una fácil integración de C ++. |
4.0.5 | Marzo de 1996 | Se presenta el solucionador de enteros mixtos CPLEX paralelo. |
4.0 | Diciembre de 1995 | Interfaz de programación avanzada (API) rediseñada para permitir aplicaciones seguras para subprocesos. |
3.0.8 | Marzo de 1995 | Se introduce el solucionador de barrera CPLEX paralelo. |
3,0 | Abril de 1994 | Se presenta CPLEX Barrier Solver. |
2.1 | Marzo de 1993 | Introducción de los algoritmos CPLEX Presolve. |
2.0 | Abril de 1992 | Mejoras de rendimiento. |
1.2 | 1991 | Soporte para el método doble simplex y CPLEX Mixed Integer Optimizer. |
1.0 | 1988 | Método Primal Simplex |
Ver también
Referencias
- ^ "CPLEX Optimization Studio 20.1 está disponible" .
- ^ IBM completa la adquisición de ILOG , 6 de enero de 2009 , consultado el 24 de junio de 2020
- ^ Mittelmann, HD (10 de julio de 2007), "Recent Benchmarks of Optimization Software", 22ª Conferencia Europea de Investigación Operativa , EURO XXII Praga, República Checa: Departamento de Matemáticas y Estadísticas de la Universidad Estatal de Arizona
- ^ Laborie P, Rogerie J, Shaw P, Vilim P (2018). "Optimizador de IBM ILOG CP para la programación". Restricciones . 23 (2): 210–250. doi : 10.1007 / s10601-018-9281-x .
- ^ "Historia de CPLEX" . Historia de CPLEX según lo publicado por ILOG . Archivado desde el original el 13 de abril de 2009 . Consultado el 24 de junio de 2020 .
- ^ "Notas de la versión de CPLEX 20.1" . Consultado el 4 de marzo de 2021 .
enlaces externos
- Página de inicio de IBM ILOG CPLEX Optimizer
- Página de inicio de IBM ILOG CPLEX CP Optimizer
- Lenguaje de programación de optimización (OPL)
- Edición de vista previa gratuita de IBM ILOG CPLEX Optimization Studio
- Foros de optimización de IBM ILOG