|
Mosel language
The Mosel language is easy to learn
and use, reducing the cost of developing optimization models
from scratch, understanding and auditing models that other
people have written, and modifying and maintaining models
over time. The visual development environment Xpress-IVE
makes the process even easier.
Full support for arbitrary
ranges, index sets, and sparse objects means even the largest
and most sophisticated problem can be expressed clearly and
concisely, and completely independently of a particular data
instance.
Model development in the Mosel language is aided by the Mosel debugger that supports all typical debug functionality for tracing and analyzing the execution of a model.
Solver modules and data handling
Mosel is completely open and user extensible. The Mosel distribution includes
extension libraries (so-called modules), one of which provides direct control
of the Xpress-Optimizer, through optimization statements in
the Mosel program. Other solver modules give access to
Xpress-SLP for formulating and solving non-linear problems, the Stochastic Programming tool Xpress-SP, and the Constraint
Programming software Xpress-Kalis.
Another module provides an ODBC data driver which
enables you to interface directly to all common databases
and spreadsheets. Besides using the ODBC interface data can also be imported/exported directly
from/to text files, memory, or I/O streams.
Click here to download the paper Generalized file handling
Libraries for embedding
For its deployment a model usually needs to be embedded into the company information system. A model developed using the Mosel language may be executed and accessed from a programming language environment (e.g. C, Java, or C#) through the Mosel libraries. This flexible interface provides means, for instance, to exchange data and solution values between
a model and a larger application.
In addition to Mosel's own functionality, certain modules also provide direct access to their functions from a programming language environment.
Click here to download the paper Embedding optimization algorithms
User-written libraries for Mosel
By implementing their own libraries for Mosel users can add new functionality to the Mosel language and make it evolve according to their needs.
User-written libraries may take the form of packages or modules.
Packages are libraries written directly in the Mosel language with a similar structure as Mosel models. They are ideally suited to give access to model parts (e.g., reformulations) or algorithms written in Mosel
that you wish to distribute without disclosing their contents, for the development of your personal Mosel 'tool box', or even to implement add-ons to Mosel modules.
Via Mosel's Native Interface users may define their own modules that are
treated just like the software components of the Mosel
distribution. Typical uses for modules include the implementation of problem-specific data handling, or connections to external solvers or solution algorithms.
|