COIN-OR::LEMON - Graph Library

source: lemon/lemon/lp.h @ 1337:4add05447ca0

Last change on this file since 1337:4add05447ca0 was 1323:5de6a70446f6, checked in by Alpar Juttner <alpar@…>, 10 years ago

Fix buggy include logic in lemon/lp.h (#503)

File size: 2.5 KB
Line 
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-2013
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#if LEMON_DEFAULT_LP == _LEMON_GLPK || LEMON_DEFAULT_MIP == _LEMON_GLPK
26#include <lemon/glpk.h>
27#endif
28#if LEMON_DEFAULT_LP == _LEMON_CPLEX || LEMON_DEFAULT_MIP == _LEMON_CPLEX
29#include <lemon/cplex.h>
30#endif
31#if LEMON_DEFAULT_LP == _LEMON_SOPLEX
32#include <lemon/soplex.h>
33#endif
34#if LEMON_DEFAULT_LP == _LEMON_CLP
35#include <lemon/clp.h>
36#endif
37#if LEMON_DEFAULT_MIP == _LEMON_CBC
38#include <lemon/cbc.h>
39#endif
40
41///\file
42///\brief Defines a default LP solver
43///\ingroup lp_group
44namespace lemon {
45
46#ifdef DOXYGEN
47  ///The default LP solver identifier
48
49  ///The default LP solver identifier.
50  ///\ingroup lp_group
51  ///
52  ///Currently, the possible values are \c _LEMON_GLPK, \c LEMON__CPLEX,
53  ///\c _LEMON_SOPLEX or \c LEMON__CLP
54#define LEMON_DEFAULT_LP SOLVER
55  ///The default LP solver
56
57  ///The default LP solver.
58  ///\ingroup lp_group
59  ///
60  ///Currently, it is either \c GlpkLp, \c CplexLp, \c SoplexLp or \c ClpLp
61  typedef GlpkLp Lp;
62
63  ///The default MIP solver identifier
64
65  ///The default MIP solver identifier.
66  ///\ingroup lp_group
67  ///
68  ///Currently, the possible values are \c _LEMON_GLPK, \c LEMON__CPLEX
69  ///or \c _LEMON_CBC
70#define LEMON_DEFAULT_MIP SOLVER
71  ///The default MIP solver.
72
73  ///The default MIP solver.
74  ///\ingroup lp_group
75  ///
76  ///Currently, it is either \c GlpkMip, \c CplexMip , \c CbcMip
77  typedef GlpkMip Mip;
78#else
79#if LEMON_DEFAULT_LP == _LEMON_GLPK
80  typedef GlpkLp Lp;
81#elif LEMON_DEFAULT_LP == _LEMON_CPLEX
82  typedef CplexLp Lp;
83#elif LEMON_DEFAULT_LP == _LEMON_SOPLEX
84  typedef SoplexLp Lp;
85#elif LEMON_DEFAULT_LP == _LEMON_CLP
86  typedef ClpLp Lp;
87#endif
88#if LEMON_DEFAULT_MIP == _LEMON_GLPK
89  typedef GlpkMip Mip;
90#elif LEMON_DEFAULT_MIP == _LEMON_CPLEX
91  typedef CplexMip Mip;
92#elif LEMON_DEFAULT_MIP == _LEMON_CBC
93  typedef CbcMip Mip;
94#endif
95#endif
96
97} //namespace lemon
98
99#endif //LEMON_LP_H
Note: See TracBrowser for help on using the repository browser.