lemon/mip_glpk.h
author deba
Tue, 17 Oct 2006 10:50:57 +0000
changeset 2247 269a0dcee70b
parent 2185 e2bf51eab7f7
child 2366 bfbdded3763a
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
athos@2144
     1
/* -*- C++ -*-
athos@2144
     2
 *
athos@2144
     3
 * This file is a part of LEMON, a generic C++ optimization library
athos@2144
     4
 *
athos@2144
     5
 * Copyright (C) 2003-2006
athos@2144
     6
 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
athos@2144
     7
 * (Egervary Research Group on Combinatorial Optimization, EGRES).
athos@2144
     8
 *
athos@2144
     9
 * Permission to use, modify and distribute this software is granted
athos@2144
    10
 * provided that this copyright notice appears in all copies. For
athos@2144
    11
 * precise terms see the accompanying LICENSE file.
athos@2144
    12
 *
athos@2144
    13
 * This software is provided "AS IS" with no warranty of any kind,
athos@2144
    14
 * express or implied, and with no claim as to its suitability for any
athos@2144
    15
 * purpose.
athos@2144
    16
 *
athos@2144
    17
 */
athos@2144
    18
athos@2218
    19
#ifndef LEMON_MIP_GLPK_H
athos@2218
    20
#define LEMON_MIP_GLPK_H
athos@2144
    21
athos@2144
    22
///\file
athos@2218
    23
///\brief Header of the LEMON-GLPK mip solver interface.
athos@2144
    24
///\ingroup gen_opt_group
athos@2144
    25
athos@2144
    26
athos@2144
    27
#include <lemon/lp_glpk.h>
athos@2144
    28
athos@2144
    29
namespace lemon {
athos@2218
    30
  /// \brief Interface for the GLPK MIP solver
athos@2144
    31
  /// 
athos@2218
    32
  /// This class implements an interface for the GLPK MIP solver.
athos@2144
    33
  ///\ingroup gen_opt_group
athos@2144
    34
  class MipGlpk : public MipSolverBase, public LpGlpk{
athos@2144
    35
  
athos@2144
    36
  public:
athos@2144
    37
  
athos@2144
    38
    typedef MipSolverBase ParentMip;
athos@2144
    39
    typedef LpGlpk ParentLp;
athos@2144
    40
    
athos@2144
    41
    MipGlpk();
athos@2144
    42
    //~MipGlpk();
athos@2144
    43
    
athos@2144
    44
    
athos@2144
    45
    
athos@2144
    46
  protected:
athos@2144
    47
  
athos@2148
    48
    virtual ColTypes _colType(int col);
athos@2148
    49
    virtual void _colType(int col, ColTypes col_type);
athos@2144
    50
    
athos@2144
    51
    virtual LpGlpk::SolveExitStatus _solve();
athos@2185
    52
    virtual LpGlpk::SolutionStatus _getMipStatus();
athos@2144
    53
    virtual ParentLp::Value _getPrimal(int i);
athos@2144
    54
    virtual ParentLp::Value _getPrimalValue();
athos@2144
    55
  };
athos@2144
    56
athos@2144
    57
} //END OF NAMESPACE LEMON
athos@2144
    58
athos@2218
    59
#endif // END OF LEMON_MIP_GLPK_H