with a better browsing experience; allow us to assess, monitor, and improve the website’s
performance; and enable our partners to advertise to you. You may disable the cookies by changing
the settings in your browser, and you may tell us not to share your cookie data with third parties.
This paper shows how to use the modeling and solving environment Mosel to implementing complex algorithms directly in the modeling language. To demonstrate the flexibility of the Mosel language and its open
interface to external software we discuss several practical examples of interaction between models and external programs.
“Traditional embedding” is used to solve a transport problem with a set of demand scenarios, followed by an analysis of the results. The “Office cleaning” problem is solved by a branch-and-cut algorithm, implemented entirely in the modeling language (including the definition of the callback function for the solver). And finally, a cutting stock problem is solved by generating columns (= cutting patterns), also implemented in the modeling language. In this example, we input data in memory, which means that the model accesses information from the calling program during its execution, or, looking at it from a different angle, the calling program modifies the data held in the model.