Index: doc/groups.dox
===================================================================
--- doc/groups.dox	(revision 2368)
+++ doc/groups.dox	(revision 2370)
@@ -166,5 +166,4 @@
 \image html edge_biconnected_components.png
 \image latex edge_biconnected_components.eps "bi-edge-connected components" width=\textwidth
-
 */
 
@@ -214,13 +213,32 @@
 */
 
+/**
+@defgroup lp_group
+@ingroup gen_opt_group
+\brief Lp and Mip solver interfaces for LEMON.
+
+This group describes Lp and Mip solver interfaces for LEMON. The
+various LP solvers could be used in the same manner with this
+interface.
+
+*/
+
 /** 
-\ingroup gen_opt_group 
-@defgroup gen_opt_tools Various Tools for Optimization 
-\brief This group adds some helper tools to general optimization
-framework implemented in LEMON.
+@defgroup lp_utils Tools for Lp and Mip solvers 
+@ingroup lp_group
+\brief This group adds some helper tools to the Lp and Mip solvers
+implemented in LEMON.
 
 This group adds some helper tools to general optimization framework
 implemented in LEMON.
 
+*/
+
+/**
+@defgroup metah Metaheuristics
+@ingroup gen_opt_group
+\brief Metaheuristics for LEMON library.
+
+This group contains some metaheuristic optimization tools.
 */
 
@@ -255,5 +273,4 @@
 format you can find on the \ref graph-io-page "Graph Input-Output"
 tutorial pages.
-
 */
 
Index: lemon/lp.h
===================================================================
--- lemon/lp.h	(revision 2312)
+++ lemon/lp.h	(revision 2370)
@@ -35,5 +35,5 @@
 ///\file
 ///\brief Defines a default LP solver
-///\ingroup gen_opt_group
+///\ingroup lp_group
 namespace lemon {
 
@@ -42,5 +42,5 @@
 
   ///The default LP solver identifier.
-  ///\ingroup gen_opt_group
+  ///\ingroup lp_group
   ///
   ///Currently, the possible values are \c GLPK or \c CPLEX
@@ -49,5 +49,5 @@
 
   ///The default LP solver.
-  ///\ingroup gen_opt_group
+  ///\ingroup lp_group
   ///
   ///Currently, it is either \c LpGlpk or \c LpCplex
@@ -56,5 +56,5 @@
 
   ///The default LP solver identifier string.
-  ///\ingroup gen_opt_group
+  ///\ingroup lp_group
   ///
   ///Currently, the possible values are "GLPK" or "CPLEX"
@@ -64,5 +64,5 @@
 
   ///The default ILP solver.
-  ///\ingroup gen_opt_group
+  ///\ingroup lp_group
   ///
   ///Currently, it is either \c LpGlpk or \c LpCplex
Index: lemon/lp_base.h
===================================================================
--- lemon/lp_base.h	(revision 2369)
+++ lemon/lp_base.h	(revision 2370)
@@ -35,5 +35,5 @@
 ///\file
 ///\brief The interface of the LP solver interface.
-///\ingroup gen_opt_group
+///\ingroup lp_group
 namespace lemon {
 
@@ -41,5 +41,5 @@
   
   ///\todo Much more docs
-  ///\ingroup gen_opt_group
+  ///\ingroup lp_group
   class LpSolverBase {
 
@@ -1377,7 +1377,8 @@
 
 
-  ///Common base class for MIP solvers
-  ///\todo Much more docs
-  ///\ingroup gen_opt_group
+  /// \ingroup lp_group
+  ///
+  /// \brief Common base class for MIP solvers
+  /// \todo Much more docs
   class MipSolverBase : virtual public LpSolverBase{
   public:
Index: lemon/lp_glpk.h
===================================================================
--- lemon/lp_glpk.h	(revision 2366)
+++ lemon/lp_glpk.h	(revision 2370)
@@ -22,5 +22,5 @@
 ///\file
 ///\brief Header of the LEMON-GLPK lp solver interface.
-///\ingroup gen_opt_group
+///\ingroup lp_group
 
 #include <lemon/lp_base.h>
@@ -35,5 +35,5 @@
   /// 
   /// This class implements an interface for the GLPK LP solver.
-  ///\ingroup gen_opt_group
+  ///\ingroup lp_group
   class LpGlpk : virtual public LpSolverBase {
   protected:
Index: lemon/lp_soplex.h
===================================================================
--- lemon/lp_soplex.h	(revision 2366)
+++ lemon/lp_soplex.h	(revision 2370)
@@ -35,5 +35,5 @@
 namespace lemon {
 
-  /// \ingroup gen_opt_group
+  /// \ingroup lp_group
   ///
   /// \brief Interface for the SOPLEX solver
Index: lemon/lp_utils.h
===================================================================
--- lemon/lp_utils.h	(revision 2369)
+++ lemon/lp_utils.h	(revision 2370)
@@ -31,5 +31,5 @@
 namespace lemon {
 
-  /// \ingroup gen_opt_tools
+  /// \ingroup lp_utils
   ///
   /// \brief The map for the result of the lp variables.
@@ -52,5 +52,15 @@
   };
 
-  /// \ingroup gen_opt_tools
+  /// \ingroup lp_utils
+  ///
+  /// \brief Returns an \ref LpResultMap class
+  ///
+  /// This function just returns an \ref LpResultMap class.
+  /// \relates LpResultMap
+  LpResultMap lpResultMap(const LpSolverBase& lp) {
+    return LpResultMap(lp);
+  }
+
+  /// \ingroup lp_utils
   ///
   /// \brief The map for the name of the lp variables.
@@ -73,5 +83,5 @@
   };
 
-  /// \ingroup gen_opt_tools
+  /// \ingroup lp_utils
   ///
   /// \brief Writeable map for the name of the lp variables.
@@ -97,5 +107,5 @@
   };
 
-  /// \ingroup gen_opt_tools
+  /// \ingroup lp_utils
   ///
   /// \brief Returns an \ref LpColNameMap class
@@ -111,5 +121,5 @@
   }
 
-  /// \ingroup gen_opt_tools
+  /// \ingroup lp_utils
   ///
   /// \brief Lp variable item reader for Lemon IO
@@ -198,5 +208,5 @@
   };
 
-  /// \ingroup gen_opt_tools
+  /// \ingroup lp_utils
   ///
   /// \brief Lp variable item writer for Lemon IO
@@ -264,5 +274,5 @@
   };
 
-  /// \ingroup gen_opt_tools
+  /// \ingroup lp_utils
   ///
   /// \brief Lp section reader for lemon IO
@@ -744,5 +754,5 @@
 
 
-  /// \ingroup gen_opt_tools
+  /// \ingroup lp_utils
   ///
   /// \brief Lp section writer for lemon IO
Index: lemon/mip_cplex.h
===================================================================
--- lemon/mip_cplex.h	(revision 2366)
+++ lemon/mip_cplex.h	(revision 2370)
@@ -22,5 +22,5 @@
 ///\file
 ///\brief Header of the LEMON-CPLEX mip solver interface.
-///\ingroup gen_opt_group
+///\ingroup lp_group
 
 
@@ -32,5 +32,5 @@
   /// 
   /// This class implements an interface for the CPLEX MIP solver.
-  ///\ingroup gen_opt_group
+  ///\ingroup lp_group
   class MipCplex : public MipSolverBase, public LpCplex{
     
Index: lemon/mip_glpk.h
===================================================================
--- lemon/mip_glpk.h	(revision 2366)
+++ lemon/mip_glpk.h	(revision 2370)
@@ -22,5 +22,5 @@
 ///\file
 ///\brief Header of the LEMON-GLPK mip solver interface.
-///\ingroup gen_opt_group
+///\ingroup lp_group
 
 
@@ -31,5 +31,5 @@
   /// 
   /// This class implements an interface for the GLPK MIP solver.
-  ///\ingroup gen_opt_group
+  ///\ingroup lp_group
   class MipGlpk : public MipSolverBase, public LpGlpk{
   
Index: lemon/simann.h
===================================================================
--- lemon/simann.h	(revision 2304)
+++ lemon/simann.h	(revision 2370)
@@ -35,7 +35,4 @@
 
 namespace lemon {
-
-/// \addtogroup experimental
-/// @{
 
   class SimAnnBase;
@@ -173,4 +170,6 @@
   };
 
+  /// \ingroup metah
+  ///
   /// \brief Simulated annealing class.
   class SimAnn : public SimAnnBase {
@@ -376,6 +375,4 @@
   };
 
-/// @}
-
 }
 
Index: lemon/tabu_search.h
===================================================================
--- lemon/tabu_search.h	(revision 2151)
+++ lemon/tabu_search.h	(revision 2370)
@@ -21,5 +21,5 @@
 #define LEMON_TABU_SEARCH_H
 
-/// \ingroup experimental
+/// \ingroup metah
 /// \file
 /// \brief TabuSearch algorithm.
@@ -308,4 +308,6 @@
 
 
+  /// \ingroup metah
+  ///
   /// \brief TabuSearch main class
   ///
