CPLEX
| Company type | Software |
|---|---|
| Industry | Mathematical optimization software |
| Predecessor | CPLEX Optimization Inc. |
| Founded | 1988 |
| Founder | Robert E. Bixby |
| Fate | Acquired by ILOG in 1997, then by IBM in 2009 |
| Products | CPLEX Optimizer, CP Optimizer, Optimization Programming Language (OPL), integrated development environment (IDE) |
| Parent | IBM |
| Website | www |
IBM ILOG CPLEX Optimization Studio—widely known simply as CPLEX—is a comprehensive software solution for optimization problems.
History
Originally named after the simplex method implemented in the C programming language, CPLEX has expanded to accommodate a variety of mathematical optimization techniques and supports multiple user interfaces. Created by Robert E. Bixby, it made its commercial debut in 1988 through CPLEX Optimization Inc. The company was acquired by ILOG in 1997, which itself became part of IBM in 2009. IBM has maintained ongoing development of the product since then.
Features
The IBM ILOG CPLEX Optimizer addresses problems such as integer programming, large-scale linear programming solved via primal or dual simplex algorithms, barrier interior point method, convex and non-convex quadratic programming, and convex quadratically constrained problems using second-order cone programming (SOCP).
Its modeling framework, Concert, provides APIs for C++, C#, and Java. Additionally, a Python interface is available, built on the underlying C API. For interactive debugging, a standalone Interactive Optimizer is offered.
CPLEX seamlessly integrates with modeling environments including AIMMS, AMPL, GAMS, OptimJ, and TOMLAB. Notably, AMPL also supports connectivity with the CPLEX CP Optimizer.
The complete IBM ILOG CPLEX Optimization Studio package comprises the CPLEX Optimizer for mathematical programming, the CP Optimizer for constraint programming, the Optimization Programming Language (OPL), and a unified integrated development environment (IDE).
Release history
Before IBM’s acquisition of ILOG, the development team provided a comprehensive log of version releases:
| Version | Release Date | Notable Enhancements |
|---|---|---|
| 22.1.1 | December, 2022 | Discontinued support for Python 3.7; introduced new solver parameter. |
| 22.1.0 | March, 2022 | Added compatibility with Python 3.9 and 3.10; incorporated additional solver parameters. |
| 20.1 | December, 2020 | Improved mixed integer programming (MIP) performance; launched 'emphasis MIP 5' mode. |
| 12.10 | December, 2019 | Enhanced MIP efficiency; introduced generic branching callback functionality. |
| 12.9 | March, 2019 | Enabled direct multiobjective optimization support; refined callback mechanisms. |
| 12.8 | December, 2017 | Added generic callback and API recorder tools for debugging; implemented subMIP controls; introduced Download and Go feature. |
| 12.7 | November, 2016 | Automated Benders decomposition; provided modeling assistance tool; added runseeds command to evaluate performance variability. |
| 12.6.2 | June, 2015 | Enhanced performance for SOCP, MISOCP, and non-convex QP; supported cloud-based optimization. |
| 12.6 | December, 2013 | Introduced support for nonconvex QPs and MIQPs; enabled distributed parallel MIP and expanded root node parallelism. |
| 12.5 | October, 2012 | Improved MIP capabilities; introduced random seed parameter to reduce performance variability; added deterministic tuning tool. |
| 12.4 | November, 2011 | Implemented deterministic time limits; provided duals for SOCPs; added quadratic expression API; broad algorithmic enhancements. |
| 12.3 | June, 2011 | Supported large-scale nonzero counts using 64-bit indexing; addressed local optima in non-convex QP. |
| 12.2 | June, 2010 | Improved root node parallelism; enabled deterministic parallel concurrent LP optimization; enhanced barrier method performance. |
| 12.0 | April, 2009 | First IBM release following acquisition; introduced connectors for Python, MATLAB, Excel; included deterministic parallel barrier method. |
| 11.0 | October, 2007 | Significant MIP performance enhancements; improved parallel MIP optimization; launched MIP solution pool and tuning utilities. |
| 10.0 | January, 2006 | Advanced primal simplex and barrier algorithms; introduced indicator constraints and solution polishing heuristics. |
| 9.0 | December, 2003 | Boosted simplex methods and MIP optimizer performance; released ILOG Concert Technology for .NET developers. |
| 8.0 | July, 2002 | Enhanced MIP efficiency and support for mixed integer quadratic programs. |
| 7.5 | December, 2001 | Debuted ILOG Concert Technology tailored for Java users. |
| 7.0 | October, 2000 | Released ILOG Concert Technology designed for C++ programmers. |
| 6.5 | March, 1999 | Major improvements in primal and dual simplex methods along with enhanced Mixed Integer Optimizer. |
| 6.0 | April,1998 | Significant upgrades to primal/dual simplex methods and introduction of CPLEX Barrier Optimizer. |
| 5.0 | September,1997 | Introduced new memory architecture facilitating integration with C++. |
| 4.0.5 | March,1996 | Launched Parallel CPLEX Mixed Integer Solver capabilities. |
| 4.0 | December,1995 | Redesigned advanced API enabling thread-safe operations. |
| 3.0.8 | March,1995 | Released Parallel CPLEX Barrier Solver module. |
| 3.0 | April,1994 | Introduced CPLEX Barrier Solver technology. |
| 2.1 | March,1993 | Added advanced presolve algorithms to improve efficiency. |
| 2.0 | April,1992 | Performance enhancements across core algorithms. |
| 1.2 | 1991 | Supported dual simplex method alongside Mixed Integer Optimizer features. |
| 1.0 | 1988 | Initial release featuring Primal Simplex Method implementation. |