lemon/lp.h
changeset 1177 3c00344f49c9
parent 1135 5de6a70446f6
     1.1 --- a/lemon/lp.h	Mon Jul 16 16:21:40 2018 +0200
     1.2 +++ b/lemon/lp.h	Wed Oct 17 19:14:07 2018 +0200
     1.3 @@ -2,7 +2,7 @@
     1.4   *
     1.5   * This file is a part of LEMON, a generic C++ optimization library.
     1.6   *
     1.7 - * Copyright (C) 2003-2010
     1.8 + * Copyright (C) 2003-2013
     1.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    1.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
    1.11   *
    1.12 @@ -22,15 +22,21 @@
    1.13  #include<lemon/config.h>
    1.14  
    1.15  
    1.16 -#ifdef LEMON_HAVE_GLPK
    1.17 +#if LEMON_DEFAULT_LP == LEMON_GLPK_ || LEMON_DEFAULT_MIP == LEMON_GLPK_
    1.18  #include <lemon/glpk.h>
    1.19 -#elif LEMON_HAVE_CPLEX
    1.20 +#endif
    1.21 +#if LEMON_DEFAULT_LP == LEMON_CPLEX_ || LEMON_DEFAULT_MIP == LEMON_CPLEX_
    1.22  #include <lemon/cplex.h>
    1.23 -#elif LEMON_HAVE_SOPLEX
    1.24 +#endif
    1.25 +#if LEMON_DEFAULT_LP == LEMON_SOPLEX_
    1.26  #include <lemon/soplex.h>
    1.27 -#elif LEMON_HAVE_CLP
    1.28 +#endif
    1.29 +#if LEMON_DEFAULT_LP == LEMON_CLP_
    1.30  #include <lemon/clp.h>
    1.31  #endif
    1.32 +#if LEMON_DEFAULT_MIP == LEMON_CBC_
    1.33 +#include <lemon/cbc.h>
    1.34 +#endif
    1.35  
    1.36  ///\file
    1.37  ///\brief Defines a default LP solver
    1.38 @@ -43,8 +49,8 @@
    1.39    ///The default LP solver identifier.
    1.40    ///\ingroup lp_group
    1.41    ///
    1.42 -  ///Currently, the possible values are \c GLPK, \c CPLEX,
    1.43 -  ///\c SOPLEX or \c CLP
    1.44 +  ///Currently, the possible values are \c LEMON_GLPK_, \c LEMON_CPLEX_,
    1.45 +  ///\c LEMON_SOPLEX_ or \c LEMON_CLP_
    1.46  #define LEMON_DEFAULT_LP SOLVER
    1.47    ///The default LP solver
    1.48  
    1.49 @@ -59,32 +65,32 @@
    1.50    ///The default MIP solver identifier.
    1.51    ///\ingroup lp_group
    1.52    ///
    1.53 -  ///Currently, the possible values are \c GLPK or \c CPLEX
    1.54 +  ///Currently, the possible values are \c LEMON_GLPK_, \c LEMON_CPLEX_
    1.55 +  ///or \c LEMON_CBC_
    1.56  #define LEMON_DEFAULT_MIP SOLVER
    1.57    ///The default MIP solver.
    1.58  
    1.59    ///The default MIP solver.
    1.60    ///\ingroup lp_group
    1.61    ///
    1.62 -  ///Currently, it is either \c GlpkMip or \c CplexMip
    1.63 +  ///Currently, it is either \c GlpkMip, \c CplexMip , \c CbcMip
    1.64    typedef GlpkMip Mip;
    1.65  #else
    1.66 -#ifdef LEMON_HAVE_GLPK
    1.67 -# define LEMON_DEFAULT_LP GLPK
    1.68 +#if LEMON_DEFAULT_LP == LEMON_GLPK_
    1.69    typedef GlpkLp Lp;
    1.70 -# define LEMON_DEFAULT_MIP GLPK
    1.71 +#elif LEMON_DEFAULT_LP == LEMON_CPLEX_
    1.72 +  typedef CplexLp Lp;
    1.73 +#elif LEMON_DEFAULT_LP == LEMON_SOPLEX_
    1.74 +  typedef SoplexLp Lp;
    1.75 +#elif LEMON_DEFAULT_LP == LEMON_CLP_
    1.76 +  typedef ClpLp Lp;
    1.77 +#endif
    1.78 +#if LEMON_DEFAULT_MIP == LEMON_GLPK_
    1.79    typedef GlpkMip Mip;
    1.80 -#elif LEMON_HAVE_CPLEX
    1.81 -# define LEMON_DEFAULT_LP CPLEX
    1.82 -  typedef CplexLp Lp;
    1.83 -# define LEMON_DEFAULT_MIP CPLEX
    1.84 +#elif LEMON_DEFAULT_MIP == LEMON_CPLEX_
    1.85    typedef CplexMip Mip;
    1.86 -#elif LEMON_HAVE_SOPLEX
    1.87 -# define DEFAULT_LP SOPLEX
    1.88 -  typedef SoplexLp Lp;
    1.89 -#elif LEMON_HAVE_CLP
    1.90 -# define DEFAULT_LP CLP
    1.91 -  typedef ClpLp Lp;
    1.92 +#elif LEMON_DEFAULT_MIP == LEMON_CBC_
    1.93 +  typedef CbcMip Mip;
    1.94  #endif
    1.95  #endif
    1.96