Prof. Dr. Mike Steglich



CMPL(<Coliop|Coin> Mathematical Programming Language) is a mathematical programming language and a system for mathematical programming and optimisation of linear optimisation problems.

The CMPL syntax is similar in formulation to the original mathematical model but also includes syntactic elements from modern programming languages. CMPL is intended to combine the clarity of mathematical models with the flexibility of programming languages.

The CMPL distribution contains Coliop which is an IDE (Integrated Development Environment) for CMPL. Coliop is an open source project licensed under GPLv3. It is written in C++ and is an integral part of the CMPL distribution.

The CMPL package also contains pyCMPL, jCMPL and CMPLServer.

CMPL, Coliop, pyCMPL, jCMPL and CMPLServer are COIN-OR projects initiated by the Technical University of Applied Sciences Wildau.


LogisticsLab is an academical decision support software for logistical decisions. The software supports transportation problems, network flow problems, traveling salesman problems, vehicle routing problems and faculity location problems in different variants.

LogisticsLab is licensed under the LogisticsLab Academic License. This license applies to you only if you use the Programme only for academic reasons, e.g. for teaching, research or to reproduce results from academic textbooks.


SomAla is a new hybrid heuristic for the capacitated p-median problem (CPMP) which combines a self-organising map (SOM), integer-programming, an alternating location-allocation algorithm (ALA) and a partial neighbourhood optimisation heuristic.

The CPMP is intended to find optimal locations of sources which have to serve a set of demand nodes in order to minimise the total distances between the sources and the destinations. SomAla consists of three working steps.

  1. SOM-GAP-based heuristic to solve a continuous,capacitated p-median problem:
    A SOM is used to solve a continuous, uncapacitated p-median problem. The locations of the sources and the allocations of the demand nodes are the basis to find a solution for a continuous, capaci- tated p-median problem by solving a generalised assignment problem (GAP).

  2. Capacitated alternating location-allocation heuristic:
    The solution found in the first step is used in a ca- pacitated ALA heuristic to find and improve a solution for the CPMP. The allocation of the destinations to the sources is based on a GAP which is solved by using a size reducing technique and variable relaxing-fixing heuristic. The locations are modified by determining new medians for each allocation cluster. Both steps are repeated as long as improvements for the CPMP occur or a maximum number of steps is not reached.

  3. Partial neighbourhood optimisation heuristic:
    In the last step, the best solution found so far is improved by us- ing a partial neighbourhood optimisation heuristic. In each step, a subregion, surrounding a selected median, is solved. If the solution found for this subregion improves the objective function value of the entire problem, then the partial solution updates the entire solution. The optimisation of the subregions can be done either by the first two SomAla steps (SomAla-MS) or by solving a size-reduced CPMP (SomAla-MM). This procedure is repeated until all medians are optimised or a maximum number of steps with no improvements is reached.