| CPLEX component libraries |
|
There are three different Concert Technology language implementations -- C++, Java and .NET (C# and Microsoft Visual Basic). The ILOG CPLEX Callable Library is a matrix-oriented library with a C programming language interface. This fundamental interface can be accessed from many languages that do not have a Concert Technology language-specific interface.
Both library implementations allow developers to efficiently embed ILOG CPLEX technology directly into applications. A comprehensive set of routines is included for defining, solving, analyzing, querying and creating reports for mathematical programming problems and solutions.
Built-in features and flexibility allow mathematical-programming application developers to develop customized solution strategies for solving both simple and complex optimization problems. ILOG CPLEX supports
a number of different methods for representing mathematical
programs.
Methods for embedding ILOG CPLEX
For more information about the various ways that CPLEX can be embedded in applications, review our online Web seminars.
ILOG Concert Technology
ILOG CPLEX also includes ILOG
Concert Technology, a set of modeling objects shared in common with ILOG
Solver. Using Concert Technology, C++, Java and .NET developers can reduce development time for applications that require CPLEX algorithms. CPLEX provides C++, Java and .NET implementations of Concert Technology, allowing a high-level representation that mirrors the problem's algebraic representation.
ILOG Concert Technology provides the foundation for using
ILOG CPLEX and ILOG Solver together. Combining the techniques of constraint programming and mathematical programming, Concert Technology can design solution
strategies for the world's hardest optimization
problems. Concert Technology also allows representation and solution of piecewise linear
programs, extending the capabilities of the CPLEX algorithms.
CPLEX Callable Library
CPLEX Callable Library provides a C programming language interface, allowing all features to be accessed from multiple programming languages. Mathematical programming specialists and operations research professionals can use Callable Library routines to solve demanding mathematical programs. Users can also design complex algorithms that require repetitive application of linear programming algorithms.
Features of ILOG CPLEX Component Library
Problem creation routines and methods
CPLEX Callable Library users can describe a problem by providing the entire constraint matrix using a sparse matrix representation, or can build a problem up in parts by adding the constraints and variables that describe a problem. With ILOG Concert Technology, problems are described using a natural algebraic notation, using either a constraint-based or variable-based description.
Optimization and result routines and methods
Optimization and result routines are used to optimize a problem and obtain the results. Each of the ILOG CPLEX simplex algorithms, barrier algorithm and mixed integer optimization algorithms has a corresponding routine. Users can load advanced bases for the simplex method, and advanced solutions for the CPLEX Crossover algorithm.
Complete solution information is available, including primal variables, slacks, dual variables and reduced costs. Still more routines perform sensitivity analysis and infeasibility diagnostics. Routines for customizing the optimization process or implementing your own solution strategies are also included.
Utility routines and methods
All CPLEX messages (such as errors, results, warnings, or status data) can be controlled through messaging routines and utilities. These routines assign classifications to messages, then determine destinations for each classification.
You may send messages to the screen, to one or more files or to other functions. Even messages you create in your own application can be handled using CPLEX messaging utilities. CPLEX callback utility routines allow you to interrupt optimization and retrieve status information at any time.
Problem-modification routines and methods
Problem-modification routines are used to change a problem directly once it has been loaded into CPLEX memory. Modification capabilities include adding or deleting rows and columns in the constraint matrix; changing the sense of the objective function or constraints; changing the value of coefficients in the constraint matrix; and changing bounds on any variables.
Problem-query routines
CPLEX problem-query routines allow you to access information about a problem once it has been loaded into CPLEX memory. Information available includes problem name and size; objective and constraint senses; individual coefficients or ranges of coefficients in the constraint matrix (including objective and righthand-side coefficients); bounds; and names of rows and columns.
File reading-and-writing routines
CPLEX Component Libraries provide routines and methods for reading and writing problem files in a variety of formats. In addition to standard MPS files (including MPS basis files and revise files), CPLEX provides reading-and-writing routines for CPLEX LP format files, binary problem files and even files containing the dual formulation of a problem. Routines for writing solution files in ASCII, binary and user-defined formats are also available.
Parameter-setting and query routines
Parameter routines allow users to change a variety of default settings, controlling all algorithms, input/output options, optimization
duration and tolerances. With CPLEX Mixed Integer
Optimizer, users can adjust branch-and-bound strategy parameters (such as branching
direction, node selection and variable arbitration) as well as setting tolerances,
duration limits, cutoffs and priorities.
|