Initializing help system before first use

Java class reference

The complete set of classes of the BCL Java interface is summarized in the following list. For a detailed documentation of the Java interface the reader is referred to the BCL Javadoc that is part of the Xpress distribution (located in subdirectory docs/bcl/dhtml/javadoc of the Xpress installation directory).

XPRB
Initialization and general settings, definition of all parameters.
XPRBprob
Problem definition, including methods for creating and deleting the modeling objects, problem solving, changing settings, and retrieving solution information.
XPRBvar
Methods for modifying and accessing variables.
XPRBctr
Methods for constructing, modifying and accessing constraints.
XPRBcut
Methods for constructing, modifying and accessing cuts.
XPRBsol
Methods for constructing, modifying and accessing solutions.
XPRBsos
Methods for constructing, modifying and accessing Special Ordered Sets.
XPRBindexSet
Methods for constructing and accessing index sets and accessing set elements.
XPRBbasis
Methods for accessing bases.
XPRBexpr
Methods for constructing linear and quadratic expressions.
XPRBrelation
Methods for constructing linear or quadratic relations from expressions (extends XPRBexpr).
XPRBerror
Exception raised by BCL errors (extends Error).
XPRBlicenseError
Exception raised by BCL licensing errors (extends XPRBerror).
XPRBlicense
For OEM licensing.

All Java classes that have a direct correspondence with modeling objects in BCL (namely XPRBprob, XPRBvar, XPRBctr, XPRBcut, XPRBsol, XPRBsos, XPRBindexSet, XPRBbasis) take the same names, with the exception of XPRBindexSet. It is possible to obtain the Xpress Optimizer problem corresponding to a BCL Java problem by using method getXPRSprob of class XPRBprob, please see Section Using the Optimizer with BCL Java for further detail on using BCL with the Optimizer library.

Most of the methods of the classes with direct correspondence with C modeling objects call standard BCL C functions and return their result. Where the C functions return 0 or 1 to indicate success or failure of the execution of a function the Java methods have return type void, raising an exception if an error occurs.

An important class that does not correspond to any standard BCL modeling object is class XPRB that contains methods relating to the initialization and the general status of the software and also the definition of all parameters. This means, any parameter with the prefix XPRB_ in standard BCL is referred to as a constant of the Java class XPRB. For example, XPRB_BV in standard BCL becomes XPRB.BV in Java.

In Java, it is not possible to overload operators as this is the case in the C++ interface; instead, a set of simple methods is provided, for example, add or eql that have been overloaded to accept various types and numbers of parameters. Some additional classes have been introduced to aid the termwise definition of constraints. Linear and quadratic expressions (class XPRBexpr) are required in the definition of constraints and Special Ordered Sets. Linear or quadratic relations (class XPRBrelation), may be used as an intermediary in the definition of constraints.

A few other additional classes are related to error handling and licensing, namely XPRBerror, XPRBlicense, and XPRBlicenseError (overloads XPRBerror). License errors are raised by the initialization of BCL, all other BCL errors are handled by exceptions of the type XPRBerror. Output functions involving file access (in particular matrix output with exportProb) may also generate exceptions of type IOException. The class XPRBlicense only serves for OEM licensing; for further detail please see the Xpress OEM licensing documentation.