In this paper, we present PSMG – Parallel Structured Model Generator – a parallel implementation of a model generator for the structure conveying modelling language SML. PSMG analyses the structure of an optimization problem given as an SML model file and uses this information to parallelise the model generation process itself. As far as we are aware PSMG is the only algebraic modelling language that can perform parallel problem generation.
PSMG offers an interface that can be linked in parallel with many different categories of structure exploiting optimization solvers such as interior point or decomposition based solvers. One of the features of this interface is that the decision on how to distribute problem parts to processors can be delegated to the solver thus enabling better data locality and load balancing.
We also present performance benchmark result for PSMG. The benchmarking results show that PSMG achieves good parallel efficiency on up to 256 processes. They also show that exploitation of parallelism enables the generation of problems that cannot be processed on a single node due to memory restrictions.
Modelling language, parallel, mathematical programming, problem generation, structure exploitation
Submitted for publication