Version 9 (modified by 15 years ago) (diff) | ,
---|
GSoC 2010
Introduction
LEMON stands for Library for Efficient Modeling and Optimization in Networks. It is a C++ template library providing efficient implementations of common data structures and algorithms with focus on combinatorial optimization tasks connected mainly with graphs and networks.
LEMON is a member of the COIN-OR initiative, a collection of OR related open source projects. You are free to use it in your commercial or non-commercial applications under very permissive license terms.
The project was launched by the Egerváry Research Group on Combinatorial Optimization (EGRES) at the Operations Research Department of the Eötvös Loránd University, Budapest in 2003. Up to this point, the developers of the library work at the Eötvös Loránd University, Budapest and at the Budapest University of Technology and Economics.
For more information about lemon, you may want to see the tutorial : http://lemon.cs.elte.hu/pub/tutorial/
Application Template
Project Ideas
PyLemon? Module
Background
LEMON was written in C++ language, because this is tho only widely used programming language nowadays, which gives us opportunity for optimizing run time and memory usage of complex data-structures and algorithms. However C++ is a rather complex language which require deep knowledge of programming, and it's usage is many times complicated. The implementation of a task can be much simpler in some modern (usually interpreted and dynamically linked) languages. Python is a prominent member of these languages, which besides that it can be very easily learned, exceedingly appropriate for quickly writing easily maintainable (?) codes.
The Task
Our goal is to create module which enables Python users to access LEMON services. The main idea is to use the effective data-structures and methods of LEMON (implemented in C++) to store graphs and maps, and to run algorithms, while creating a user friendly interface fitting to Python.
You can find the pre-alpha version of this project in our repository: http://lime.cs.elte.hu/~alpar/hg/pylemon/
Application conditions
- knowledge of C++ language
- knowledge of Python language or have a tendency to learn it
- basic knowledge of graph theory
- English language knowledge