source: README

Last change on this file was 1, checked in by coin, 8 years ago

Initial import

File size: 2.3 KB
Line 
1Djinni 2.2 is a project-in-progress by the Henry B. Tippie College of
2Business at the University of Iowa, with additional help from computer
3science geeks in the Department of Computer Science.
4
5The goal of Djinni is to provide a library for constrained
6combinatorial optimization which is:
7
8    * Understandable.  The entire workings of Djinni should be
9      comprehensible to a Management Sciences undergraduate
10      who has a little talent for programming.
11
12    * Comprehensive.  Tabu search, annealing, genetic algorithms,
13      hybrid systems, bounded approximation algorithms and more
14      should all be provided.
15
16    * Scriptable.  C and C++ are difficult languages to use
17      properly, and it's unreasonable to expect undergraduates to
18      learn the intricacies of pointers, memory management and/or
19      object-oriented design and the Gang of Four patterns just to
20      use an algorithm to solve a problem.
21
22    * Efficient.  Djinni's core should strive for efficiency and
23      speed.  However, there will be no trade-off with the
24      understandability of the code.  Any compromise between code
25      efficiency and code clarity is based on a false dichotomy:
26      we will have clarity with efficiency or we will have neither
27      at all.
28
29At present we are meeting all of our goals save for the second.  As of
30Djinni 2.2 we are only implementing annealing algorithms, including
31simulated and compressed variants.  There are plans to implement tabu
32search and genetic algorithms for Djinni; however, we are not yet
33certain of the best way to implement them.  If you have any
34strongly-held opinions, we would love to hear them!
35
36Full API documentation can be generated by going into the src/
37subdirectory and running Doxygen.  Please note that the documentation
38will not be automatically built; this removes a dependency on Doxygen
39we would otherwise have.
40
41In the src/examples subdirectory can be found two samples of how to
42use Djinni with Python.  salesman is a command-line Python app that
43will display output to stdout, whereas pygtk-salesman will give a
44graphical representation of the route.  pygtk-salesman requires the
45PyGTK toolkit be installed.
46
47Thank you for downloading Djinni 2.2, and we hope that it's helpful to
48you in your searches!
49
50    -- Rob Hansen, writing for the authors
Note: See TracBrowser for help on using the repository browser.