diff --git a/demo/circulation_demo.cc b/demo/circulation_demo.cc deleted file mode 100644 --- a/demo/circulation_demo.cc +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- mode: C++; indent-tabs-mode: nil; -*- - * - * This file is a part of LEMON, a generic C++ optimization library. - * - * Copyright (C) 2003-2008 - * 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. - * - */ - -///\ingroup demos -///\file -///\brief Demonstrating the usage of LEMON's General Flow algorithm -/// -/// This demo program reads a general network circulation problem from the -/// file 'circulation-input.lgf', runs the preflow based algorithm for -/// finding a feasible solution and writes the output -/// to 'circulation-input.lgf' -/// -/// \include circulation_demo.cc - -#include - -#include -#include -#include -#include - -using namespace lemon; - - -int main (int, char*[]) -{ - - typedef ListDigraph Digraph; - typedef Digraph::Node Node; - typedef Digraph::NodeIt NodeIt; - typedef Digraph::Arc Arc; - typedef Digraph::ArcIt ArcIt; - typedef Digraph::ArcMap ArcMap; - typedef Digraph::NodeMap NodeMap; - typedef Digraph::NodeMap DNodeMap; - - Digraph g; - ArcMap lo(g); - ArcMap up(g); - NodeMap delta(g); - NodeMap nid(g); - ArcMap eid(g); - DNodeMap cx(g); - DNodeMap cy(g); - - DigraphReader(g,"circulation-input.lgf"). - arcMap("lo_cap", lo). - arcMap("up_cap", up). - nodeMap("delta", delta). - arcMap("label", eid). - nodeMap("label", nid). - nodeMap("coordinates_x", cx). - nodeMap("coordinates_y", cy). - run(); - - Circulation gen(g,lo,up,delta); - bool ret=gen.run(); - if(ret) - { - std::cout << "\nA feasible flow has been found.\n"; - if(!gen.checkFlow()) std::cerr << "Oops!!!\n"; - DigraphWriter(g, "circulation-output.lgf"). - arcMap("lo_cap", lo). - arcMap("up_cap", up). - arcMap("flow", gen.flowMap()). - nodeMap("delta", delta). - arcMap("label", eid). - nodeMap("label", nid). - nodeMap("coordinates_x", cx). - nodeMap("coordinates_y", cy). - run(); - } - else { - std::cout << "\nThere is no such a flow\n"; - Digraph::NodeMap bar(g); - gen.barrierMap(bar); - if(!gen.checkBarrier()) std::cerr << "Dual Oops!!!\n"; - - DigraphWriter(g, "circulation-output.lgf"). - arcMap("lo_cap", lo). - arcMap("up_cap", up). - nodeMap("barrier", bar). - nodeMap("delta", delta). - arcMap("label", eid). - nodeMap("label", nid). - nodeMap("coordinates_x", cx). - nodeMap("coordinates_y", cy). - run(); - } - std::cout << "The output is written to file 'circulation-output.lgf'\n\n"; - -}