lemon/lp.h
changeset 458 7afc121e0689
child 459 ed54c0d13df0
equal deleted inserted replaced
-1:000000000000 0:d5bd4f30305a
       
     1 /* -*- mode: C++; indent-tabs-mode: nil; -*-
       
     2  *
       
     3  * This file is a part of LEMON, a generic C++ optimization library.
       
     4  *
       
     5  * Copyright (C) 2003-2008
       
     6  * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
       
     7  * (Egervary Research Group on Combinatorial Optimization, EGRES).
       
     8  *
       
     9  * Permission to use, modify and distribute this software is granted
       
    10  * provided that this copyright notice appears in all copies. For
       
    11  * precise terms see the accompanying LICENSE file.
       
    12  *
       
    13  * This software is provided "AS IS" with no warranty of any kind,
       
    14  * express or implied, and with no claim as to its suitability for any
       
    15  * purpose.
       
    16  *
       
    17  */
       
    18 
       
    19 #ifndef LEMON_LP_H
       
    20 #define LEMON_LP_H
       
    21 
       
    22 #include<lemon/config.h>
       
    23 
       
    24 
       
    25 #ifdef HAVE_GLPK
       
    26 #include <lemon/lp_glpk.h>
       
    27 #include <lemon/mip_glpk.h>
       
    28 #elif HAVE_CPLEX
       
    29 #include <lemon/lp_cplex.h>
       
    30 #include <lemon/mip_cplex.h>
       
    31 #elif HAVE_SOPLEX
       
    32 #include <lemon/lp_soplex.h>
       
    33 #endif
       
    34 
       
    35 ///\file
       
    36 ///\brief Defines a default LP solver
       
    37 ///\ingroup lp_group
       
    38 namespace lemon {
       
    39 
       
    40 #ifdef DOXYGEN
       
    41   ///The default LP solver identifier
       
    42 
       
    43   ///The default LP solver identifier.
       
    44   ///\ingroup lp_group
       
    45   ///
       
    46   ///Currently, the possible values are \c GLPK or \c CPLEX
       
    47 #define DEFAULT_LP SOLVER
       
    48   ///The default LP solver
       
    49 
       
    50   ///The default LP solver.
       
    51   ///\ingroup lp_group
       
    52   ///
       
    53   ///Currently, it is either \c LpGlpk or \c LpCplex
       
    54   typedef LpGlpk Lp;
       
    55   ///The default LP solver identifier string
       
    56 
       
    57   ///The default LP solver identifier string.
       
    58   ///\ingroup lp_group
       
    59   ///
       
    60   ///Currently, the possible values are "GLPK" or "CPLEX"
       
    61   const char default_solver_name[]="SOLVER";
       
    62 
       
    63   ///The default ILP solver.
       
    64 
       
    65   ///The default ILP solver.
       
    66   ///\ingroup lp_group
       
    67   ///
       
    68   ///Currently, it is either \c LpGlpk or \c LpCplex
       
    69   typedef MipGlpk Mip;
       
    70 #else
       
    71 #ifdef HAVE_GLPK
       
    72 #define DEFAULT_LP GLPK
       
    73   typedef LpGlpk Lp;
       
    74   typedef MipGlpk Mip;
       
    75   const char default_solver_name[]="GLPK";
       
    76 #elif HAVE_CPLEX
       
    77 #define DEFAULT_LP CPLEX
       
    78   typedef LpCplex Lp;
       
    79   typedef MipCplex Mip;
       
    80   const char default_solver_name[]="CPLEX";
       
    81 #elif HAVE_SOPLEX
       
    82 #define DEFAULT_LP SOPLEX
       
    83   typedef LpSoplex Lp;
       
    84   const char default_solver_name[]="SOPLEX";
       
    85 #endif
       
    86 #endif
       
    87 
       
    88 } //namespace lemon
       
    89 
       
    90 #endif //LEMON_LP_H