COIN-OR::LEMON - Graph Library

Changes between Version 11 and Version 12 of GSoC2010


Ignore:
Timestamp:
03/05/10 15:58:38 (10 years ago)
Author:
Alpar Juttner
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GSoC2010

    v11 v12  
    1616== Project Ideas ==
    1717
    18 === PyLemon Module ===
     18=== `PyLemon` Module ===
    1919mentor: Alpár Jüttner
    2020
    2121==== Background ====
    2222
    23 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. Python is also a highly extensible language, which allows programmers to create their own modules in C or C++.
     23LEMON was written in C++, because this is the only widely used programming language that makes is possible to optimize the running time and memory usage of complex data-structures and algorithms to the extreme. However C++ is a rather complex language, which require deep knowledge of programming, and it's usage is many times complicated. Experimenting with and idea and prototyping solution can be much simpler in modern interpreted and dynamically linked languages. Python is a prominent member of these languages, being easy-to-learn, versatile and extremely productive. Python is also a highly extensible language, which allows programmers to create their own modules in C or C++.
    2424
    2525==== The Task ====
    2626
    27 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.
     27The goal is to create a Python interface module to LEMON's data structures and algorithms (written in C++), thus combine the high efficiency of LEMON with the flexibility of Python.
    2828
    2929You can find the pre-alpha version of this project in our repository: [http://lime.cs.elte.hu/~alpar/hg/pylemon/]
     
    3838==== Benefits of participating ====
    3939
    40 By taking part in this project, you can highly improve both your C++ and Python skills. You will also have a good exercise of working with complex C++ objects and creating Python extensions.
     40By taking part in this project, you can highly improve both your C++ and Python skills. In addition, understanding LEMON is a good opportunity to learn more about network modeling, graph algorithms and combinatorial optimization.