LEMON (biblioteka C++)
Pierwsze wydanie | 30 września 2004 |
---|---|
Wersja stabilna | 1.3.1 / 7 lipca 2014
|
Magazyn | |
Napisane w | C++ |
System operacyjny | Międzyplatformowe |
Platforma | gcc , icc , Visual Studio , xlC |
Typ | Biblioteka optymalizacji wykresów i sieci |
Licencja | Darmowe oprogramowanie ( licencja Boost ) |
Strona internetowa | http://lemon.cs.elte.hu |
LEMON to otwarta biblioteka grafów napisana w języku C++ , dostarczająca implementacje wspólnych struktur danych i algorytmów z naciskiem na kombinatoryczne zadania optymalizacyjne związane głównie z grafami i sieciami. Biblioteka jest częścią COIN-OR .
LEMON to od Library for Efficient Modeling and Optimization in Networks skrót .
Projekt
LEMON stosuje generyczność w C++ za pomocą szablonów . Narzędzia biblioteki zostały zaprojektowane tak, aby były wszechstronne, wygodne i wysoce wydajne. Można je łatwo łączyć w celu rozwiązywania złożonych, rzeczywistych problemów optymalizacyjnych. Na przykład wykresy LEMON mogą się różnić na wiele sposobów (w zależności od reprezentacji i innych specjalizacji), ale wszystkie muszą spełniać jedną lub więcej koncepcji wykresów, które są standardowymi interfejsami do pracy z resztą biblioteki.
Cechy
LEMON zapewnia
- Struktury grafów i powiązane narzędzia
- Algorytmy przeszukiwania grafów
- Algorytmy najkrótszej ścieżki
- Algorytmy maksymalnego przepływu
- Algorytmy przepływu minimalnych kosztów
- Algorytmy minimalnego cięcia
- Łączność i inne właściwości grafu
- Algorytmy idealnego dopasowywania o maksymalnej liczności i minimalnym koszcie
- Algorytmy drzewa rozpinającego o minimalnym koszcie
- Algorytmy aproksymacyjne
- Algorytmy pomocnicze
LEMON zawiera również kilka metaheurystycznych narzędzi optymalizacyjnych i zapewnia ogólny interfejs wysokiego poziomu dla kilku solwerów LP i MIP , takich jak GLPK , ILOG CPLEX , CLP , CBC , SoPlex.
LEMON ma swój własny format przechowywania wykresów, tak zwany Lemon Graph Format i zawiera ogólne metody rysowania EPS oraz specjalne narzędzia do eksportowania wykresów.
LEMON zawiera również kilka różnych narzędzi. Na przykład zapewnia proste narzędzia do pomiaru wydajności algorytmów, które można wykorzystać do porównania różnych implementacji tego samego problemu.
Linki zewnętrzne
Strona LEMONA: