deba@481: /* -*- mode: C++; indent-tabs-mode: nil; -*- deba@481: * deba@481: * This file is a part of LEMON, a generic C++ optimization library. deba@481: * deba@481: * Copyright (C) 2003-2008 deba@481: * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport deba@481: * (Egervary Research Group on Combinatorial Optimization, EGRES). deba@481: * deba@481: * Permission to use, modify and distribute this software is granted deba@481: * provided that this copyright notice appears in all copies. For deba@481: * precise terms see the accompanying LICENSE file. deba@481: * deba@481: * This software is provided "AS IS" with no warranty of any kind, deba@481: * express or implied, and with no claim as to its suitability for any deba@481: * purpose. deba@481: * deba@481: */ deba@481: deba@481: #ifndef LEMON_LP_H deba@481: #define LEMON_LP_H deba@481: deba@481: #include deba@481: deba@481: ladanyi@674: #ifdef LEMON_HAVE_GLPK alpar@484: #include ladanyi@674: #elif LEMON_HAVE_CPLEX alpar@484: #include ladanyi@674: #elif LEMON_HAVE_SOPLEX alpar@484: #include ladanyi@674: #elif LEMON_HAVE_CLP alpar@484: #include deba@481: #endif deba@481: deba@481: ///\file deba@481: ///\brief Defines a default LP solver deba@481: ///\ingroup lp_group deba@481: namespace lemon { deba@481: deba@481: #ifdef DOXYGEN deba@481: ///The default LP solver identifier deba@481: deba@481: ///The default LP solver identifier. deba@481: ///\ingroup lp_group deba@481: /// alpar@484: ///Currently, the possible values are \c GLPK, \c CPLEX, alpar@484: ///\c SOPLEX or \c CLP deba@482: #define LEMON_DEFAULT_LP SOLVER deba@481: ///The default LP solver deba@481: deba@481: ///The default LP solver. deba@481: ///\ingroup lp_group deba@481: /// alpar@485: ///Currently, it is either \c GlpkLp, \c CplexLp, \c SoplexLp or \c ClpLp alpar@485: typedef GlpkLp Lp; deba@481: deba@482: ///The default MIP solver identifier deba@482: deba@482: ///The default MIP solver identifier. deba@481: ///\ingroup lp_group deba@481: /// alpar@484: ///Currently, the possible values are \c GLPK or \c CPLEX deba@482: #define LEMON_DEFAULT_MIP SOLVER deba@482: ///The default MIP solver. deba@481: deba@482: ///The default MIP solver. deba@481: ///\ingroup lp_group deba@481: /// alpar@485: ///Currently, it is either \c GlpkMip or \c CplexMip alpar@485: typedef GlpkMip Mip; deba@481: #else ladanyi@674: #ifdef LEMON_HAVE_GLPK alpar@484: # define LEMON_DEFAULT_LP GLPK alpar@485: typedef GlpkLp Lp; alpar@484: # define LEMON_DEFAULT_MIP GLPK alpar@485: typedef GlpkMip Mip; ladanyi@674: #elif LEMON_HAVE_CPLEX alpar@484: # define LEMON_DEFAULT_LP CPLEX alpar@485: typedef CplexLp Lp; alpar@484: # define LEMON_DEFAULT_MIP CPLEX alpar@485: typedef CplexMip Mip; ladanyi@674: #elif LEMON_HAVE_SOPLEX alpar@484: # define DEFAULT_LP SOPLEX alpar@485: typedef SoplexLp Lp; ladanyi@674: #elif LEMON_HAVE_CLP alpar@484: # define DEFAULT_LP CLP alpar@485: typedef ClpLp Lp; deba@481: #endif deba@481: #endif deba@481: deba@481: } //namespace lemon deba@481: deba@481: #endif //LEMON_LP_H