Optlang: An algebraic modeling language for mathematical optimization

Kristian Jensen, Joao Cardoso, Nikolaus Sonnenschein

Research output: Contribution to journalJournal articleResearchpeer-review

566 Downloads (Pure)


Optlang is a Python package implementing a modeling language for solving mathematical optimization problems, i.e., maximizing or minimizing an objective function over a set of variables subject to a number of constraints. It provides a common native Python interface to a series of optimization tools, so different solver backends can be used and changed in a transparent way.
Optlang’s object-oriented API takes advantage of the symbolic math library SymPy (Team 2016) to allow objective functions and constraints to be easily formulated algebraically from symbolic expressions of variables. Optlang targets scientists who can thus focus on formulating optimization problems based on mathematical equations derived from domain knowledge. Solver interfaces can be added by subclassing the four main classes of the optlang API (Variable, Constraint, Objective, and Model) and implementing the relevant API functions.
Original languageEnglish
JournalThe Journal of Open Source Software
Publication statusPublished - 2016


Dive into the research topics of 'Optlang: An algebraic modeling language for mathematical optimization'. Together they form a unique fingerprint.

Cite this