IBM offers a number of interfaces for building and deploying optimization applications using all of the IBM ILOG CPLEX Optimizers:
The IBM ILOG Optimization Programming Language (OPL) provides the fastest way to build efficient optimization models and state-of-the-art applications for the full range of planning and scheduling problems. OPL provides a natural representation of optimization models, requiring far less effort than general-purpose programming languages. Developing OPL models in the CPLEX Studio Integrated Development Environment (IDE) makes it easy to evaluate different modeling approaches and to integrate external data.
Component Libraries include two interfaces, ILOG Concert Technology and CPLEX Callable Library. C, C++, C#, Java, Visual Basic, python and FORTRAN developers can embed powerful CPLEX algorithms and OPL models within their application programs.
CPLEX Interactive Optimizer is a command-line interactive program, provided in executable, ready-to-use form. It packs all the power and speed of IBM ILOG CPLEX Optimizer into an easy-to-use, easy-to-learn format, featuring a simple user interface and an extensive help system. New users become proficient and productive immediately. Just read in a problem, issue the "optimize" command and review results.
Connectors included in the IBM ILOG CPLEX Optimization Studio contain add-ins that allow MATLAB and AMPL users to call IBM ILOG CPLEX Optimizer directly from within those applications.
IBM ILOG CPLEX Optimization Studio includes ILOG Concert Technology, a set of modeling objects shared in common with OPL, IBM ILOG CPLEX Optimizer and IBM ILOG CPLEX CP Optimizer. There are three different Concert Technology language implementations -- C++, Java and .NET (C# and Microsoft Visual Basic). Concert Technology can be used to model, write customized optimization algorithms (based on the provided ones) and embed the created models and algorithms into an application.
ILOG Concert Technology provides the foundation for using all of the IBM ILOG CPLEX optimization algorithms together. Combining the techniques of constraint programming and mathematical programming, Concert Technology enables design of solution strategies for the world's hardest optimization problems.
IBM ILOG CPLEX Optimization Studio includes the CPLEX Callable Library, a matrix-oriented library with a C programming language interface for the ILOG CPLEX Optimizer. This fundamental interface can be accessed from many languages such as Fortran that do not have a Concert Technology language-specific interface. A Python interface is also provided for the CPLEX Callable Library. This interface provides all the features of the Callable Library without the need to manage lengths of arrays, allocation of memory, freeing of memory, and so forth, The Python interface also provides for interactive use of all the Callable Library features through a Python shell.
The Benefits of a Library Approach
The libraries of Concert Technology and CPLEX Callable Library allow developers to efficiently embed IBM ILOG optimization technology directly into applications. A comprehensive set of routines is included for defining, solving, analyzing, querying and creating reports for optimization problems and solutions. Built-in features and flexibility allow application developers to develop customized solution strategies for solving both simple and complex optimization problems.