Index: doc/Doxyfile.in
===================================================================
--- doc/Doxyfile.in	(revision 791)
+++ doc/Doxyfile.in	(revision 803)
@@ -1,3 +1,3 @@
-# Doxyfile 1.5.7.1
+# Doxyfile 1.5.9
 
 #---------------------------------------------------------------------------
@@ -22,5 +22,4 @@
 QT_AUTOBRIEF           = NO
 MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = YES
 INHERIT_DOCS           = NO
 SEPARATE_MEMBER_PAGES  = NO
@@ -225,5 +224,5 @@
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Options related to the search engine   
 #---------------------------------------------------------------------------
 TAGFILES               = "@abs_top_srcdir@/doc/libstdc++.tag = http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/  "
Index: doc/groups.dox
===================================================================
--- doc/groups.dox	(revision 789)
+++ doc/groups.dox	(revision 818)
@@ -317,5 +317,6 @@
 
 This group contains the common graph search algorithms, namely
-\e breadth-first \e search (BFS) and \e depth-first \e search (DFS).
+\e breadth-first \e search (BFS) and \e depth-first \e search (DFS)
+\ref clrs01algorithms.
 */
 
@@ -325,5 +326,6 @@
 \brief Algorithms for finding shortest paths.
 
-This group contains the algorithms for finding shortest paths in digraphs.
+This group contains the algorithms for finding shortest paths in digraphs
+\ref clrs01algorithms.
 
  - \ref Dijkstra algorithm for finding shortest paths from a source node
@@ -347,5 +349,5 @@
 
 This group contains the algorithms for finding minimum cost spanning
-trees and arborescences.
+trees and arborescences \ref clrs01algorithms.
 */
 
@@ -356,5 +358,5 @@
 
 This group contains the algorithms for finding maximum flows and
-feasible circulations.
+feasible circulations \ref clrs01algorithms, \ref amo93networkflows.
 
 The \e maximum \e flow \e problem is to find a flow of maximum value between
@@ -371,10 +373,14 @@
 
 LEMON contains several algorithms for solving maximum flow problems:
-- \ref EdmondsKarp Edmonds-Karp algorithm.
-- \ref Preflow Goldberg-Tarjan's preflow push-relabel algorithm.
-- \ref DinitzSleatorTarjan Dinitz's blocking flow algorithm with dynamic trees.
-- \ref GoldbergTarjan Preflow push-relabel algorithm with dynamic trees.
-
-In most cases the \ref Preflow "Preflow" algorithm provides the
+- \ref EdmondsKarp Edmonds-Karp algorithm
+  \ref edmondskarp72theoretical.
+- \ref Preflow Goldberg-Tarjan's preflow push-relabel algorithm
+  \ref goldberg88newapproach.
+- \ref DinitzSleatorTarjan Dinitz's blocking flow algorithm with dynamic trees
+  \ref dinic70algorithm, \ref sleator83dynamic.
+- \ref GoldbergTarjan !Preflow push-relabel algorithm with dynamic trees
+  \ref goldberg88newapproach, \ref sleator83dynamic.
+
+In most cases the \ref Preflow algorithm provides the
 fastest method for computing a maximum flow. All implementations
 also provide functions to query the minimum cut, which is the dual
@@ -394,16 +400,20 @@
 
 This group contains the algorithms for finding minimum cost flows and
-circulations. For more information about this problem and its dual
-solution see \ref min_cost_flow "Minimum Cost Flow Problem".
+circulations \ref amo93networkflows. For more information about this
+problem and its dual solution, see \ref min_cost_flow
+"Minimum Cost Flow Problem".
 
 LEMON contains several algorithms for this problem.
  - \ref NetworkSimplex Primal Network Simplex algorithm with various
-   pivot strategies.
+   pivot strategies \ref dantzig63linearprog, \ref kellyoneill91netsimplex.
  - \ref CostScaling Push-Relabel and Augment-Relabel algorithms based on
-   cost scaling.
+   cost scaling \ref goldberg90approximation, \ref goldberg97efficient,
+   \ref bunnagel98efficient.
  - \ref CapacityScaling Successive Shortest %Path algorithm with optional
-   capacity scaling.
- - \ref CancelAndTighten The Cancel and Tighten algorithm.
- - \ref CycleCanceling Cycle-Canceling algorithms.
+   capacity scaling \ref edmondskarp72theoretical.
+ - \ref CancelAndTighten The Cancel and Tighten algorithm
+   \ref goldberg89cyclecanceling.
+ - \ref CycleCanceling Cycle-Canceling algorithms
+   \ref klein67primal, \ref goldberg89cyclecanceling.
 
 In general NetworkSimplex is the most efficient implementation,
@@ -441,4 +451,41 @@
 If you want to find minimum cut just between two distinict nodes,
 see the \ref max_flow "maximum flow problem".
+*/
+
+/**
+@defgroup min_mean_cycle Minimum Mean Cycle Algorithms
+@ingroup algs
+\brief Algorithms for finding minimum mean cycles.
+
+This group contains the algorithms for finding minimum mean cycles
+\ref clrs01algorithms, \ref amo93networkflows.
+
+The \e minimum \e mean \e cycle \e problem is to find a directed cycle
+of minimum mean length (cost) in a digraph.
+The mean length of a cycle is the average length of its arcs, i.e. the
+ratio between the total length of the cycle and the number of arcs on it.
+
+This problem has an important connection to \e conservative \e length
+\e functions, too. A length function on the arcs of a digraph is called
+conservative if and only if there is no directed cycle of negative total
+length. For an arbitrary length function, the negative of the minimum
+cycle mean is the smallest \f$\epsilon\f$ value so that increasing the
+arc lengths uniformly by \f$\epsilon\f$ results in a conservative length
+function.
+
+LEMON contains three algorithms for solving the minimum mean cycle problem:
+- \ref Karp "Karp"'s original algorithm \ref amo93networkflows,
+  \ref dasdan98minmeancycle.
+- \ref HartmannOrlin "Hartmann-Orlin"'s algorithm, which is an improved
+  version of Karp's algorithm \ref dasdan98minmeancycle.
+- \ref Howard "Howard"'s policy iteration algorithm
+  \ref dasdan98minmeancycle.
+
+In practice, the Howard algorithm proved to be by far the most efficient
+one, though the best known theoretical bound on its running time is
+exponential.
+Both Karp and HartmannOrlin algorithms run in time O(ne) and use space
+O(n<sup>2</sup>+e), but the latter one is typically faster due to the
+applied early termination scheme.
 */
 
@@ -535,11 +582,14 @@
 
 /**
-@defgroup lp_group Lp and Mip Solvers
+@defgroup lp_group LP and MIP Solvers
 @ingroup gen_opt_group
-\brief Lp and Mip solver interfaces for LEMON.
-
-This group contains Lp and Mip solver interfaces for LEMON. The
-various LP solvers could be used in the same manner with this
-interface.
+\brief LP and MIP solver interfaces for LEMON.
+
+This group contains LP and MIP solver interfaces for LEMON.
+Various LP solvers could be used in the same manner with this
+high-level interface.
+
+The currently supported solvers are \ref glpk, \ref clp, \ref cbc,
+\ref cplex, \ref soplex.
 */
 
Index: doc/mainpage.dox
===================================================================
--- doc/mainpage.dox	(revision 705)
+++ doc/mainpage.dox	(revision 802)
@@ -22,12 +22,9 @@
 \section intro Introduction
 
-\subsection whatis What is LEMON
-
-LEMON stands for <b>L</b>ibrary for <b>E</b>fficient <b>M</b>odeling
-and <b>O</b>ptimization in <b>N</b>etworks.
-It is a C++ template
-library aimed at combinatorial optimization tasks which
-often involve in working
-with graphs.
+<b>LEMON</b> stands for <i><b>L</b>ibrary for <b>E</b>fficient <b>M</b>odeling
+and <b>O</b>ptimization in <b>N</b>etworks</i>.
+It is a C++ template library providing efficient implementation of common
+data structures and algorithms with focus on combinatorial optimization
+problems in graphs and networks.
 
 <b>
@@ -39,5 +36,14 @@
 </b>
 
-\subsection howtoread How to read the documentation
+The project is maintained by the 
+<a href="http://www.cs.elte.hu/egres/">Egerv&aacute;ry Research Group on
+Combinatorial Optimization</a> \ref egres
+at the Operations Research Department of the
+<a href="http://www.elte.hu/">E&ouml;tv&ouml;s Lor&aacute;nd University,
+Budapest</a>, Hungary.
+LEMON is also a member of the <a href="http://www.coin-or.org/">COIN-OR</a>
+initiative \ref coinor.
+
+\section howtoread How to Read the Documentation
 
 If you would like to get to know the library, see
Index: doc/min_cost_flow.dox
===================================================================
--- doc/min_cost_flow.dox	(revision 833)
+++ doc/min_cost_flow.dox	(revision 835)
@@ -27,5 +27,5 @@
 minimum total cost from a set of supply nodes to a set of demand nodes
 in a network with capacity constraints (lower and upper bounds)
-and arc costs.
+and arc costs \ref amo93networkflows.
 
 Formally, let \f$G=(V,A)\f$ be a digraph, \f$lower: A\rightarrow\mathbf{R}\f$,
Index: doc/references.bib
===================================================================
--- doc/references.bib	(revision 790)
+++ doc/references.bib	(revision 802)
@@ -13,6 +13,5 @@
   title =        {{EGRES} -- {E}gerv{\'a}ry {R}esearch {G}roup on
                   {C}ombinatorial {O}ptimization},
-  howpublished = {\url{http://www.cs.elte.hu/egres/}},
-  year =         2009
+  url =          {http://www.cs.elte.hu/egres/}
 }
 
@@ -21,6 +20,5 @@
   title =        {{COIN-OR} -- {C}omputational {I}nfrastructure for
                   {O}perations {R}esearch},
-  howpublished = {\url{http://www.coin-or.org/}},
-  year =         2009
+  url =          {http://www.coin-or.org/}
 }
 
@@ -31,6 +29,5 @@
   key =          {Boost},
   title =        {{B}oost {C++} {L}ibraries},
-  howpublished = {\url{http://www.boost.org/}},
-  year =         2009
+  url =          {http://www.boost.org/}
 }
 
@@ -48,6 +45,5 @@
   title =        {{LEDA} -- {L}ibrary of {E}fficient {D}ata {T}ypes and
                   {A}lgorithms},
-  howpublished = {\url{http://www.algorithmic-solutions.com/}},
-  year =         2009
+  url =          {http://www.algorithmic-solutions.com/}
 }
 
@@ -68,6 +64,5 @@
   key =          {CMake},
   title =        {{CMake} -- {C}ross {P}latform {M}ake},
-  howpublished = {\url{http://www.cmake.org/}},
-  year =         2009
+  url =          {http://www.cmake.org/}
 }
 
@@ -76,6 +71,5 @@
   title =        {{Doxygen} -- {S}ource code documentation generator
                   tool},
-  howpublished = {\url{http://www.doxygen.org/}},
-  year =         2009
+  url =          {http://www.doxygen.org/}
 }
 
@@ -86,6 +80,5 @@
   key =          {GLPK},
   title =        {{GLPK} -- {GNU} {L}inear {P}rogramming {K}it},
-  howpublished = {\url{http://www.gnu.org/software/glpk/}},
-  year =         2009
+  url =          {http://www.gnu.org/software/glpk/}
 }
 
@@ -93,6 +86,5 @@
   key =          {Clp},
   title =        {{Clp} -- {Coin-Or} {L}inear {P}rogramming},
-  howpublished = {\url{http://projects.coin-or.org/Clp/}},
-  year =         2009
+  url =          {http://projects.coin-or.org/Clp/}
 }
 
@@ -100,6 +92,5 @@
   key =          {Cbc},
   title =        {{Cbc} -- {Coin-Or} {B}ranch and {C}ut},
-  howpublished = {\url{http://projects.coin-or.org/Cbc/}},
-  year =         2009
+  url =          {http://projects.coin-or.org/Cbc/}
 }
 
@@ -107,6 +98,5 @@
   key =          {CPLEX},
   title =        {{ILOG} {CPLEX}},
-  howpublished = {\url{http://www.ilog.com/}},
-  year =         2009
+  url =          {http://www.ilog.com/}
 }
 
@@ -115,6 +105,5 @@
   title =        {{SoPlex} -- {T}he {S}equential {O}bject-{O}riented
                   {S}implex},
-  howpublished = {\url{http://soplex.zib.de/}},
-  year =         2009
+  url =          {http://soplex.zib.de/}
 }
 
@@ -162,13 +151,23 @@
 %%%%% Maximum flow algorithms %%%%%
 
-@inproceedings{goldberg86newapproach,
+@article{edmondskarp72theoretical,
+  author =       {Jack Edmonds and Richard M. Karp},
+  title =        {Theoretical improvements in algorithmic efficiency
+                  for network flow problems},
+  journal =      {Journal of the ACM},
+  year =         1972,
+  volume =       19,
+  number =       2,
+  pages =        {248-264}
+}
+
+@article{goldberg88newapproach,
   author =       {Andrew V. Goldberg and Robert E. Tarjan},
   title =        {A new approach to the maximum flow problem},
-  booktitle =    {STOC '86: Proceedings of the Eighteenth Annual ACM
-                  Symposium on Theory of Computing},
-  year =         1986,
-  publisher =    {ACM Press},
-  address =      {New York, NY},
-  pages =        {136-146}
+  journal =      {Journal of the ACM},
+  year =         1988,
+  volume =       35,
+  number =       4,
+  pages =        {921-940}
 }
 
@@ -241,40 +240,16 @@
 }
 
-@inproceedings{goldberg88cyclecanceling,
+@article{goldberg89cyclecanceling,
   author =       {Andrew V. Goldberg and Robert E. Tarjan},
   title =        {Finding minimum-cost circulations by canceling
                   negative cycles},
-  booktitle =    {STOC '88: Proceedings of the Twentieth Annual ACM
-                  Symposium on Theory of Computing},
-  year =         1988,
-  publisher =    {ACM Press},
-  address =      {New York, NY},
-  pages =        {388-397}
-}
-
-@article{edmondskarp72theoretical,
-  author =       {Jack Edmonds and Richard M. Karp},
-  title =        {Theoretical improvements in algorithmic efficiency
-                  for network flow problems},
   journal =      {Journal of the ACM},
-  year =         1972,
-  volume =       19,
-  number =       2,
-  pages =        {248-264}
-}
-
-@inproceedings{goldberg87approximation,
-  author =       {Andrew V. Goldberg and Robert E. Tarjan},
-  title =        {Solving minimum-cost flow problems by successive
-                  approximation},
-  booktitle =    {STOC '87: Proceedings of the Nineteenth Annual ACM
-                  Symposium on Theory of Computing},
-  year =         1987,
-  publisher =    {ACM Press},
-  address =      {New York, NY},
-  pages =        {7-18}
-}
-
-@article{goldberg90finding,
+  year =         1989,
+  volume =       36,
+  number =       4,
+  pages =        {873-886}
+}
+
+@article{goldberg90approximation,
   author =       {Andrew V. Goldberg and Robert E. Tarjan},
   title =        {Finding Minimum-Cost Circulations by Successive
@@ -309,4 +284,11 @@
 }
 
+@book{dantzig63linearprog,
+  author =       {George B. Dantzig},
+  title =        {Linear Programming and Extensions},
+  publisher =    {Princeton University Press},
+  year =         1963
+}
+
 @mastersthesis{kellyoneill91netsimplex,
   author =       {Damian J. Kelly and Garrett M. O'Neill},
@@ -318,24 +300,2 @@
   month =        sep,
 }
-
-@techreport{lobel96networksimplex,
-  author =       {Andreas L{\"o}bel},
-  title =        {Solving large-scale real-world minimum-cost flow
-                  problems by a network simplex method},
-  institution =  {Konrad-Zuse-Zentrum fur Informationstechnik Berlin
-                  ({ZIB})},
-  address =      {Berlin, Germany},
-  year =         1996,
-  number =       {SC 96-7}
-}
-
-@article{frangioni06computational,
-  author =       {Antonio Frangioni and Antonio Manca},
-  title =        {A Computational Study of Cost Reoptimization for
-                  Min-Cost Flow Problems},
-  journal =      {INFORMS Journal On Computing},
-  year =         2006,
-  volume =       18,
-  number =       1,
-  pages =        {61-70}
-}
