Software and Consulting
in Mathematical Optimization
LPL: Product Description
LPL is a full-fetched mathematical modeling system with a point-and-click user inter-
face and a powerful modeling language. The language is a structured mathematical
and logical modeling and programming language with an extended index mechanism,
which allows one to build, maintain, modify, and document large linear, non-linear, and
other mathematical (optimization) models. A language interpreter translates the model
automatically into a solver acceptable form; reads data directly from database, calls a
solver and can write the results directly back to the database or generate complex solu-
tion report files. LPL can communicate with many commercial and free solvers.
The full system contains:
A declarative mathematical language: LPL can be used to formulate concisely com-
plete mathematical linear, non-linear and logical models of large size. The data can be
stored in the model itself or outside in databases or text files. The interface to various
commercial solvers is integrated and easy configurable. Real-live linear models with
1’000’000 constraints and more have been processed and solved using LPL in a com-
mercial context.
An algorithmic programming language: LPL is a complete programming language
which allows one to write algorithms to pre- or post-process the data or to loop through
many optimizations (while adding constraints dynamically, for example). It has all neces-
sary control structures of another programming language. The language further permits
to break down a complex model into logical modules (itself models or model-parts). The
modules can be themselves entire optimization models which can be processed individu-
ally or communicate their results.
An optimization tool: LPL is designed to communicate with various commercial and
free mathematical linear, mixed-integer, and non-linear mathematical packages to solve
large optimization problems (Gurobi, CPLEX, Xpress, MOPS, GLPK, lp_solve, XA,
Mosek, Knitro, Conopt, Loqo, and many others). LPL comes with an own LP-solver for
solving small models, as well as with a heuristic Tabu-search solver to solve certain sim-
ple scheduling problems.
Automatic model type recognition: From the model formulation, LPL deduces auto-
matically if the model is linear, convex quadratic, non-linear, or some other types and can
choose the solver on this basis. This can be overridden by the user, of course.
A data modeling tool: LPL can be used to generate a database from scratch. From an
LPL modeling specification one can generate automatically a SQL-script, which gener-
ates a complete database optionally loaded with data. LPL can read/write from/to various
database systems (mySQL, InterBase, SyBase, Oracle, DB2, MS Access, and Excel).
MatMod GmbH https://matmod.ch
1