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
Software and Consulting
in Mathematical Optimization
A data manipulation tool: Like a data manipulation language (DML) in database, LPL
can manipulate (join, select, project, etc.) large multi-dimensional data (datacubes) in a
sparse way. The data are read from or written to databases or text files in various ways.
Tools exist for generate various pivot tables from a multi-dimensional data cube in order
to change the view on the fly in the modeling environment.
A modeling environment: LPL comes with a powerful model browser. It allows the user
to view and traverse the model in different ways and to find and modify all elements on a
single mouse click. A model editor, a table browser with pivot-table functionality, a graph-
ical modeling- and instance viewer, a drawing tool to generates various output and result
graphs, this all is integrates in an easy to understand user interface.
A documentation tool: From a LPL model specification enriched with inline model docu-
mentation text, one can generate automatically a LaTeX-file or a PDF-file to produce a
printable or publishable model documentation report (this requires a free LaTeX-docu-
mentation system to be installed).
A reporting tool: The LPL model system communicates with the commercial reporting
system, called FastReport (, an advanced and well known reporting
system. Reporting templates are generated automatically from easy-to-design output in-
structions within LPL. These templates can be modified by an integrated template point-
and-click designer. The reports can be generated automatically as PDF-, RTF-, HTML-,
TXT, or JPG-file.
A library in other applications: The complete functionality of LPL comes as a dynamic
link library and all its functions can be integrated (and hidden from the end user) in an-
other “end-user” application, written, for example, in a Python, Visual Basic, C++, Java,
Delphi and others.
An Internet solving tool: LPL is a client- and a server-application. Installing an LPL-
client on a machine and a LPL-server on another, the two can communicate through the
Internet: The client can send the model to the server machine where the model can be
manipulated, calculated or solved by a LPL-server in the same way as on the local ma-
chine. It is completely transparent to the user (true ASP: application service providing).
On the server machine, one only needs to install Tomcat engine (a free Java-based dis-
tributed software) and an LPL-server. On the client-side the user only needs to set a sin-
gle parameter!
MatMod GmbH
Software and Consulting
in Mathematical Optimization
LPL: One Single Product – Different Packages
The complete software comes in one single version that can be downloaded free of
charge from matmod.chHU UH. This package is called the Free Package with a limited func-
tionality (see below). It is free and everybody can use it without restriction. The license
text written in the file Ulicense-free.txtU applies.
The user can obtain an Academic Package limited to one month by downloading a
license key at, which can be renewed at any time. At any time the user can
upgrade to the other packages that contain additional and increasing functionality: the
Professional Package, and the Enterprise Package. The Academic, Professional and
the Enterprise Package are subjected to the license text written in file Ulicense.txtU.
All packages are basically limited in time, which means that the user can use the soft-
ware for a limited amount of time, after that time (the due time) the package falls back to
be Free with the limited functionality as describe below. At any time, the time limit can be
extended be buying the software for an additional amount of time. The different packages
and the various time-limitation only differ in the license key, the software always is the
same. The license key typically is stored in a small file (lpl.lic). Buying an upgrade or ex-
tend the due time then only means to buy, download and install a new license key by
replacing the previous one. To upgrade see our MatMod Shop or send an email to: info
By default, the software comes as a Free Package, that disallows the use of some ad-
vanced functions in the modeling software. Besides of these advanced functions, the
Free Package is fully functional and can be used to solve and run models.
The advanced features that are not available in the Free Package are as follows :
Output-files: Generating various advanced output-files, such as INT-file, EQU-file (equation
listing), TEX-file (automatic model documentation), BUG-file (debugging output files), SPS-
file (snapshots), SQL-file (generated database script files), report files.
Search Functionality: Extended search functionality in lplw.exe.
MatMod GmbH
Software and Consulting
in Mathematical Optimization
List / Files View: Listing all entities in alphabetical order and all files in drop-down lists in or-
der to be selected and browsed.
DB-Connectivity: Reading from and writing to databases, generating database scripts in or-
der to create databases on the fly.
Internet Solver: There exists “out there” in the Internet a solver to which each LPL client
program can communicate. By setting a parameter only within the software, the model can
be processed (solved or manipulated) by that “general” solver.
Link to commercial solvers: The ability to communicate with commercial solvers such as
Gurobi, CPLEX, Xpress, MOPS, XA, MOSEK, and others.
Console lplc: lplc.exe is a program that allows running a model from the console and it can,
therefore, be integrated into complex batch processes for multiple model processing.
Encrypt Model: The model source code can be encrypted in order to hide the logic from
other users or developers.
Instance View: Showing the model structure as a graphical view in order to browse it more
conveniently. There is a generic view and a full instance view.
Reporting: Capability to use the FastReport@ Reporting system and the ability to generate
report templates on the fly and reports in the form of PDF-, HTML-, RTF- or text-files.
Dll Library: The whole LPL software functionality can be accessed through a full-fetched dy-
namic linked library that can be integrated into any other application.
Lpl-Server: Capability to use the LPL-Server program, installation of server as well as addi-
tional workshop to maintain the server are provided as well when buying this package.
Besides of these advanced functions, each package contains all functions. Table 1 gives an
overview of the functionality of each package.
The Free Package is free of charge. It contains the whole functionality besides the men-
tioned advanced features listed above. The Free Package is great for a first test, for learning
modeling and for developing and running all kind of models. The Academic Package also
free of charge for one month allows one to create and solve model using commercial solv-
ers, and to link to databases and do real modeling in a teaching environment. The Profes-
sional Package is for the professional model builder and contains all kind of model debug-
ging tools. The Enterprise Package is for modeling tool and application developers. They
can use the complete package as an additional module in their own modeling environment.
Finally, the Server Package can be used to provide modeling services over the Internet on
you own site.
MatMod GmbH
Software and Consulting
in Mathematical Optimization
Model \ Package
Model \ Package
Output-files -- yes yes yes yes
Search Functionality -- yes yes yes yes
List / Files View -- yes yes yes yes
DB-Connectivity -- yes yes yes yes
Link to Commercial
-- yes yes yes yes
Internet Solver -- <50 vars> yes yes yes
Console lplc -- -- yes yes yes
Encrypt Model -- -- yes yes yes
Instance View -- -- yes yes yes
Reporting -- -- yes yes yes
Dll Library -- -- -- yes yes
LPL-Server -- -- -- -- yes
Everything else …
Unlimited model-size
yes yes yes yes yes
Table 1: The various Packages
The LPL software is constantly updated and its functionality is extended on a regular
base. Updating the software is free of charge: it only consists in downloading the newest
version from the MatMod Site. Hence, the user can fully benefit from the developments of
LPL free of charge at any time.
Upgrading (passing from one package to another) is also very easy: It only consists of
buying the license of another Package.
All packages as mentioned above already are available as time-limited versions.
“Time-limited” means that during a certain time (typically for 1 year) the software runs
and then expires.
The software is protected by Swiss law and the user must read and understand the li-
cense before using the software (see file: Ulicense-free.txtU (for the Free Package) and Uli-
cense.txtU (for the other packages).
MatMod GmbH
Software and Consulting
in Mathematical Optimization
Please note also that
We offer model building and consulting and implement complete
projects ready to be used. We organize client specific workshops on
mathematical modeling or LPL tutorials. Contact us at Email MatMod.
MatMod GmbH