alpar@1610: /* -*- C++ -*- alpar@1610: * alpar@1956: * This file is a part of LEMON, a generic C++ optimization library alpar@1956: * alpar@1956: * Copyright (C) 2003-2006 alpar@1956: * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport alpar@1610: * (Egervary Research Group on Combinatorial Optimization, EGRES). alpar@1610: * alpar@1610: * Permission to use, modify and distribute this software is granted alpar@1610: * provided that this copyright notice appears in all copies. For alpar@1610: * precise terms see the accompanying LICENSE file. alpar@1610: * alpar@1610: * This software is provided "AS IS" with no warranty of any kind, alpar@1610: * express or implied, and with no claim as to its suitability for any alpar@1610: * purpose. alpar@1610: * alpar@1610: */ alpar@1610: alpar@1610: #ifndef LEMON_LP_H alpar@1610: #define LEMON_LP_H alpar@1610: alpar@1610: #include alpar@1610: athos@2218: alpar@1610: #ifdef HAVE_GLPK alpar@1610: #include athos@2144: #include alpar@1610: #elif HAVE_CPLEX alpar@1610: #include athos@2218: #include deba@2312: #elif HAVE_SOPLEX deba@2312: #include alpar@1610: #endif alpar@1610: alpar@1610: ///\file alpar@1610: ///\brief Defines a default LP solver deba@2370: ///\ingroup lp_group alpar@1610: namespace lemon { athos@2218: alpar@1610: #ifdef DOXYGEN alpar@1610: ///The default LP solver identifier alpar@1610: alpar@1610: ///The default LP solver identifier. deba@2370: ///\ingroup lp_group alpar@1610: /// alpar@1610: ///Currently, the possible values are \c GLPK or \c CPLEX alpar@1610: #define DEFAULT_LP SOLVER alpar@1610: ///The default LP solver alpar@1610: alpar@1610: ///The default LP solver. deba@2370: ///\ingroup lp_group alpar@1610: /// alpar@1610: ///Currently, it is either \c LpGlpk or \c LpCplex alpar@1610: typedef LpGlpk Lp; alpar@1610: ///The default LP solver identifier string alpar@1610: alpar@1610: ///The default LP solver identifier string. deba@2370: ///\ingroup lp_group alpar@1610: /// alpar@1610: ///Currently, the possible values are "GLPK" or "CPLEX" alpar@1610: const char default_solver_name[]="SOLVER"; athos@2144: athos@2144: ///The default ILP solver. athos@2144: athos@2144: ///The default ILP solver. deba@2370: ///\ingroup lp_group athos@2144: /// athos@2144: ///Currently, it is either \c LpGlpk or \c LpCplex athos@2144: typedef MipGlpk Mip; alpar@1610: #else alpar@1610: #ifdef HAVE_GLPK alpar@1610: #define DEFAULT_LP GLPK alpar@1610: typedef LpGlpk Lp; athos@2144: typedef MipGlpk Mip; alpar@1610: const char default_solver_name[]="GLPK"; alpar@1610: #elif HAVE_CPLEX alpar@1610: #define DEFAULT_LP CPLEX alpar@1610: typedef LpCplex Lp; athos@2218: typedef MipCplex Mip; alpar@1610: const char default_solver_name[]="CPLEX"; deba@2312: #elif HAVE_SOPLEX deba@2312: #define DEFAULT_LP SOPLEX deba@2312: typedef LpSoplex Lp; deba@2312: const char default_solver_name[]="SOPLEX"; alpar@1610: #endif alpar@1610: #endif alpar@1610: alpar@1610: } //namespace lemon alpar@1610: athos@2221: #endif //LEMON_LP_H