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 decomposition algorithms (Dantzig-Wolfe and
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.
We further discuss the difference between multiple models and the more recent functionality of multiple problems
within a single model. Where appropriate (sequential solving) alternative implementations using multiple
problems are described.
When working with several Mosel models the user may choose to distribute them over several instances of
Mosel. We explain the functionality for remote execution of Mosel models as provided by the module mmjobs
and document the corresponding modifications to the examples.