Welcome to mirror list, hosted at ThFree Co, Russian Federation.

lp.h « lemon « lemon-1.3.1 « 3rd « quadriflow « extern - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 567763f022235d0f56cd57a43ef6ba4df6c7c936 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/* -*- mode: C++; indent-tabs-mode: nil; -*-
 *
 * This file is a part of LEMON, a generic C++ optimization library.
 *
 * Copyright (C) 2003-2013
 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
 * (Egervary Research Group on Combinatorial Optimization, EGRES).
 *
 * Permission to use, modify and distribute this software is granted
 * provided that this copyright notice appears in all copies. For
 * precise terms see the accompanying LICENSE file.
 *
 * This software is provided "AS IS" with no warranty of any kind,
 * express or implied, and with no claim as to its suitability for any
 * purpose.
 *
 */

#ifndef LEMON_LP_H
#define LEMON_LP_H

#include<lemon/config.h>


#ifdef LEMON_HAVE_GLPK
#include <lemon/glpk.h>
#elif LEMON_HAVE_CPLEX
#include <lemon/cplex.h>
#elif LEMON_HAVE_SOPLEX
#include <lemon/soplex.h>
#elif LEMON_HAVE_CLP
#include <lemon/clp.h>
#elif LEMON_HAVE_CBC
#include <lemon/cbc.h>
#endif

///\file
///\brief Defines a default LP solver
///\ingroup lp_group
namespace lemon {

#ifdef DOXYGEN
  ///The default LP solver identifier

  ///The default LP solver identifier.
  ///\ingroup lp_group
  ///
  ///Currently, the possible values are \c _LEMON_GLPK, \c LEMON__CPLEX,
  ///\c _LEMON_SOPLEX or \c LEMON__CLP
#define LEMON_DEFAULT_LP SOLVER
  ///The default LP solver

  ///The default LP solver.
  ///\ingroup lp_group
  ///
  ///Currently, it is either \c GlpkLp, \c CplexLp, \c SoplexLp or \c ClpLp
  typedef GlpkLp Lp;

  ///The default MIP solver identifier

  ///The default MIP solver identifier.
  ///\ingroup lp_group
  ///
  ///Currently, the possible values are \c _LEMON_GLPK, \c LEMON__CPLEX
  ///or \c _LEMON_CBC
#define LEMON_DEFAULT_MIP SOLVER
  ///The default MIP solver.

  ///The default MIP solver.
  ///\ingroup lp_group
  ///
  ///Currently, it is either \c GlpkMip, \c CplexMip , \c CbcMip
  typedef GlpkMip Mip;
#else
#if LEMON_DEFAULT_LP == _LEMON_GLPK
  typedef GlpkLp Lp;
#elif LEMON_DEFAULT_LP == _LEMON_CPLEX
  typedef CplexLp Lp;
#elif LEMON_DEFAULT_LP == _LEMON_SOPLEX
  typedef SoplexLp Lp;
#elif LEMON_DEFAULT_LP == _LEMON_CLP
  typedef ClpLp Lp;
#endif
#if LEMON_DEFAULT_MIP == _LEMON_GLPK
  typedef GlpkMip Mip;
#elif LEMON_DEFAULT_MIP == _LEMON_CPLEX
  typedef CplexMip Mip;
#elif LEMON_DEFAULT_MIP == _LEMON_CBC
  typedef CbcMip Mip;
#endif
#endif

} //namespace lemon

#endif //LEMON_LP_H