12.07.2015 Views

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Architecture of a <strong>CPLEX</strong> Java ApplicationA user-written application first creates an IloCplex object. It then uses the ConcertTechnology modeling interface implemented by IloCplex to create the variables, theconstraints, and the objective function of the model to be solved. For example, every variablein a model is represented by an object that implements the Concert Technology variableinterface IloNumVar. The user code accesses the variable only through its ConcertTechnology interface. Similarly, all other modeling objects are accessed only through theirrespective Concert Technology interfaces from the user-written application, while the actualobjects are maintained in the <strong>ILOG</strong> <strong>CPLEX</strong> database.Figure 2.1 illustrates how an application uses Concert Technology, IloCplex, and the<strong>ILOG</strong> <strong>CPLEX</strong> internals. The Java interfaces, represented by the dashed outline, do notactually consume memory. The <strong>ILOG</strong> <strong>CPLEX</strong> internals include the computing environment,its communication channels, and your problem objects.For users familiar with object-oriented design patterns, this design is that of a factory, whereIloCplex is a factory for modeling objects. The advantage of such a design is that codewhich creates a model using the Concert Technology modeling interface can be used notonly with IloCplex, but also with any other factory class, for instance IloSolver. Thisallows you to try different <strong>ILOG</strong> optimization technologies for solving your model.Figure 2.1User-Written ApplicationConcert Technologymodeling interfacesIloCplex<strong>ILOG</strong> <strong>CPLEX</strong> internalsFigure 2.1 A View of Concert Technology for Java Users72 <strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!