lemon/lp.h
author deba
Tue, 17 Oct 2006 10:50:57 +0000
changeset 2247 269a0dcee70b
parent 2218 50f1a780a5ff
child 2312 07e46cbb7d85
permissions -rw-r--r--
Update the Path concept
Concept check for paths

DirPath renamed to Path
The interface updated to the new lemon interface
Make difference between the empty path and the path from one node
Builder interface have not been changed
// I wanted but there was not accordance about it

UPath is removed
It was a buggy implementation, it could not iterate on the
nodes in the right order
Right way to use undirected paths => path of edges in undirected graphs

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