Javascript Menu by Deluxe-Menu.com
[Home]
[Client Area]
English Japanese

White papers

Files are in Adobe Acrobat [.pdf] format.


Introductory/Overview papers
Modeling with Xpress-MP
[pdf][217k]
Presents and discusses the various options open to the application developer for building and solving models using the Xpress-MP tools. It allows you to compare the features and relative merits of the three Xpress-MP libraries that can be used as modeling interfaces: Xpress-Mosel, Xpress-BCL and the Xpress-Optimizer.
Mosel: An Overview
[pdf][167k]

Examples (Win)
Examples (Unix)

An extended introduction to Xpress-Mosel presented with the aid of examples. Language aspects covered include types, data structures, file I/O, statements, built in functions, and modules. Embedding a Mosel model in another application using the Mosel callable libraries is also covered. Further examples show how Mosel interacts with the Optimizer to implement solution methods, including a binary fixing heuristic and a quadratic programming (QP) example.

This new version includes a section on writing modules.

Overview of Stochastic Programming Applications
[pdf][199k]
This white paper provides an overview of stochastic programming applications. We start with a simple capacity-expansion planning model that illustrates some of the key ideas of a two-stage stochastic program with recourse and the type of analyses one can perform, including risk-cost trade-offs. Next, we consider a small multi-stage financial planning model and associated analyses. These two models give a frame of reference for then discussing a variety of applications.
Advanced Mosel topics
Using ODBC with Mosel
[pdf][151k]

Examples (Win)
Examples (Unix)

ODBC is a protocol for working with databases as external data source. It can also be used to access data in spreadsheets such as MS Excel.

The Mosel module mmodbc provides access to ODBC functionality from within Mosel models and allows Mosel to read and write both sparse and dense data formats to/from any ODBC compatible soource. The aim of this document is to explain the different features of the mmdocb module by means of a collection of examples.

Embedding optimization algorithms
[pdf][147k]

Examples (Win)
Examples (Unix)

Three Mosel examples showing how optimization algorithms can be implemented using a combination of the Mosel language and the Mosel callable libraries.

The first example shows how one model can be solved with five different data scenarios controlled from a host application written in C. The second example implements a branch and cut method, in which the cuts are generated in a callback function defined in the Mosel language, with reference to the algebraic objects defined in the model.The final example implements a column generation algorithm to solve a cutting stock problem. The model and method are implemented in the Model language, but call functions defined in C and made accessible to the Mosel model by means of a user defined module. The whole application is controlled from a host C application.
Generalized file handling in Mosel
[pdf][105k]

Examples (Win)
Examples (Unix)

This paper describes the I/O drivers of the Mosel distribution with examples of their use. With only minimal changes to his models the user may switch between data sources of different formats. The interaction and exchange of data between a model and the application executing it can be made more immediate and as a consequence, more efficient. It is also possible to avoid the creation of physical intermediate files by performing all operations in memory. The latter may be useful, for instance, in distributed applications.

With the help of the Mosel Native Interface (NI) the user may also implement his own drivers. We introduce some applications of this feature: a driver for working with compressed files and an example generating C code with a Mosel model.

Multiple models and parallel solving with Mosel
[pdf][170k]

Examples (Win)
Examples (Unix)
This paper describes several examples of sequential and parallel solving of multiple models with Mosel. Without being able to give an exhaustive list of possible configurations, the examples showcase different uses of the Mosel module mmjobs, such as concurrent execution of several instances of a model, the (sequential) embedding of a submodel into a master, and the implementation of a decomposition algorithm. From a more technical point of view, topics discussed in this paper include model management, synchronization of concurrent models, and the use of the shared memory IO driver.
Hybrid MIP/CP solving
[pdf][200k]

Examples (Win)
Examples (Unix)
Implementing solution algorithms that combine Constraint Programming (CP) with Linear or Mixed Integer Programming using Xpress-Kalis and Xpress-Optimizer in the Xpress-Mosel environment. This paper discusses two schemes of combining CP with LP/MIP for problem solving.
Specific modeling issues
Special Ordered Sets
[pdf][70k]
Special Ordered Sets are a feature available in MIP optimization to help model certain situations in a way that can be solved efficiently by the MIP optimizer. They can help you model mutually exclusive decisions and non-linear functions. This note explains what they are, what you can use them for, and how you can specify them in Xpress-Mosel and Xpress-BCL.
Aggregate Production Planning Modeling
[pdf][74k]
Introduces a mathematical programming framework for modeling capacitated systems that accurately captures the non-linear relationship between workload and lead times. A simplified version of the formulation that only handles single product systems is presented here, and a Mosel model is given to illustrate the ideas.
 

 

Related Topics
What is optimization?
Applications of optimization with Xpress-MP book
Training
[Home] [Contact] [Client Area] [Search] [Sitemap] [Links] [Printer Friendly]
  © 2008 Fair Isaac Corporation. All rights reserved.