LEMON (C++ library)

LEMON
Initial releaseSeptember 30, 2004 (2004-09-30)
Stable release
1.3.1 / July 7, 2014 (2014-07-07)
Repository
Written inC++
Operating systemCross-platform
Platformgcc, icc, Visual Studio, xlC
TypeGraph and Network Optimization Library
LicenseFree software (Boost license)
Websitehttp://lemon.cs.elte.hu

LEMON is an open source graph library written in the C++ language providing implementations of common data structures and algorithms with focus on combinatorial optimization tasks connected mainly with graphs and networks. The library is part of the COIN-OR project.

LEMON is an abbreviation of Library for Efficient Modeling and Optimization in Networks.

Design

[edit]

LEMON employs genericity in C++ by using templates. The tools of the library are designed to be versatile, convenient and highly efficient. They can be combined easily to solve complex real-life optimization problems. For example, LEMON’s graphs can differ in many ways (depending on the representation and other specialities), but all have to satisfy one or more graph concepts, which are standardized interfaces to work with the rest of the library.

Features

[edit]

LEMON provides

LEMON also contains some metaheuristic optimization tools and provides a general high-level interface for several LP and MIP solvers, such as GLPK, ILOG CPLEX, CLP, CBC, SoPlex.

LEMON has its own graph storing format, the so called Lemon Graph Format and includes general EPS drawing methods and special graph exporting tools.

LEMON also includes several miscellaneous tools. For example, it provides simple tools for measuring the performance of algorithms, which can be used to compare different implementations of the same problem.

[edit]