lemon/lp_base.cc
author Peter Kovacs <kpeter@inf.elte.hu>
Thu, 06 Aug 2009 20:12:43 +0200
changeset 760 83ce7ce39f21
parent 459 ed54c0d13df0
child 877 141f9c0db4a3
permissions -rw-r--r--
Rework and fix the implementation of MinMeanCycle (#179)

- Fix the handling of the cycle means.
- Many implementation improvements:
- More efficient data storage for the strongly connected
components.
- Better handling of BFS queues.
- Merge consecutive BFS searches (perform two BFS searches
instead of three).

This version is about two times faster on average and an order of
magnitude faster if there are a lot of strongly connected components.
deba@458
     1
/* -*- mode: C++; indent-tabs-mode: nil; -*-
deba@458
     2
 *
deba@458
     3
 * This file is a part of LEMON, a generic C++ optimization library.
deba@458
     4
 *
deba@458
     5
 * Copyright (C) 2003-2008
deba@458
     6
 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
deba@458
     7
 * (Egervary Research Group on Combinatorial Optimization, EGRES).
deba@458
     8
 *
deba@458
     9
 * Permission to use, modify and distribute this software is granted
deba@458
    10
 * provided that this copyright notice appears in all copies. For
deba@458
    11
 * precise terms see the accompanying LICENSE file.
deba@458
    12
 *
deba@458
    13
 * This software is provided "AS IS" with no warranty of any kind,
deba@458
    14
 * express or implied, and with no claim as to its suitability for any
deba@458
    15
 * purpose.
deba@458
    16
 *
deba@458
    17
 */
deba@458
    18
deba@458
    19
///\file
deba@458
    20
///\brief The implementation of the LP solver interface.
deba@458
    21
deba@458
    22
#include <lemon/lp_base.h>
deba@458
    23
namespace lemon {
deba@458
    24
alpar@486
    25
  const LpBase::Value LpBase::INF =
alpar@486
    26
    std::numeric_limits<LpBase::Value>::infinity();
alpar@486
    27
  const LpBase::Value LpBase::NaN =
alpar@486
    28
    std::numeric_limits<LpBase::Value>::quiet_NaN();
deba@458
    29
deba@458
    30
} //namespace lemon