Changeset 194:a1680b3c516c in lemon0.x for src/work
 Timestamp:
 03/17/04 16:09:48 (20 years ago)
 Branch:
 default
 Phase:
 public
 Convert:
 svn:c9d7d8f590d60310b91f818b3a526b0e/lemon/trunk@271
 Location:
 src/work
 Files:

 3 edited
Legend:
 Unmodified
 Added
 Removed

src/work/edmonds_karp.h
r193 r194 533 533 public: 534 534 typedef typename Graph::Node Node; 535 typedef typename Graph::NodeIt NodeIt; 535 536 typedef typename Graph::Edge Edge; 536 537 typedef typename Graph::EdgeIt EdgeIt; … … 564 565 for(NodeIt s=G>template first<NodeIt>(); G>valid(s); G>next(s)) { 565 566 Number f=0; 566 for(OutEdgeIt e=G>template first<OutEdgeIt>( ); G>valid(e); G>next(e))567 for(OutEdgeIt e=G>template first<OutEdgeIt>(s); G>valid(e); G>next(e)) 567 568 f+=flow>get(e); 568 569 if (f<1) { … … 587 588 free.set(w, res_graph.free(e)); 588 589 } 589 if (T Map(res_graph.head(e))) {590 if (T>get(res_graph.head(e))) { 590 591 n=res_graph.head(e); 591 592 _augment=true; … … 599 600 if (_augment) { 600 601 //Node n=t; 601 Number augment_value=free.get( t);602 Number augment_value=free.get(n); 602 603 while (res_graph.valid(pred.get(n))) { 603 604 AugEdge e=pred.get(n); … … 806 807 } 807 808 } 808 template<typename MutableGraph> void run() {809 //int num_of_augmentations=0;810 //while (augmentOnShortestPath()) {811 while (augmentOnBlockingFlow<MutableGraph>()) {812 //std::cout << ++num_of_augmentations << " ";813 //std::cout<<std::endl;814 }815 } 809 // template<typename MutableGraph> void run() { 810 // //int num_of_augmentations=0; 811 // //while (augmentOnShortestPath()) { 812 // while (augmentOnBlockingFlow<MutableGraph>()) { 813 // //std::cout << ++num_of_augmentations << " "; 814 // //std::cout<<std::endl; 815 // } 816 // } 816 817 Number flowValue() { 817 818 Number a=0; 818 OutEdgeIt e;819 for(G>/*getF*/first(e , s); G>valid(e); G>next(e)) {819 EdgeIt e; 820 for(G>/*getF*/first(e); G>valid(e); G>next(e)) { 820 821 a+=flow>get(e); 821 822 } 
src/work/marci/makefile
r189 r194 10 10 11 11 12 BINARIES = edmonds_karp_demo preflow_demo_leda lg_vs_sg leda_graph_demo leda_bfs_dfs 12 BINARIES = edmonds_karp_demo preflow_demo_leda lg_vs_sg leda_graph_demo leda_bfs_dfs max_bipartite_matching_demo 13 13 #preflow_demo_boost edmonds_karp_demo_boost preflow_demo_jacint preflow_demo_athos edmonds_karp_demo_alpar 14 14 … … 28 28 leda_graph_demo: leda_graph_demo.o 29 29 $(CXX3) Wall O L$(LEDAROOT) o leda_graph_demo leda_graph_demo.o lG lL lm 30 31 max_bipartite_matching_demo.o: 32 $(CXX3) Wall O I.. I../alpar I$(LEDAROOT)/incl I. c max_bipartite_matching_demo.cc 33 34 max_bipartite_matching_demo: max_bipartite_matching_demo.o 35 $(CXX3) Wall O L$(LEDAROOT) o max_bipartite_matching_demo max_bipartite_matching_demo.o lG lL lm 30 36 31 37 leda_bfs_dfs.o: 
src/work/marci/max_bipartite_matching_demo.cc
r192 r194 50 50 typedef Graph::InEdgeIt InEdgeIt; 51 51 52 Node s, t;52 //Node s, t; 53 53 //Graph::EdgeMap<int> cap(G); 54 54 //readDimacsMaxFlow(std::cin, G, s, t, cap); … … 66 66 G.addEdge(s_nodes[random(20)], t_nodes[random(20)]); 67 67 } 68 Graph::NodeMap<bool> s_map ; //false69 Graph::NodeMap<bool> t_map ; //false68 Graph::NodeMap<bool> s_map(G); //false 69 Graph::NodeMap<bool> t_map(G); //false 70 70 71 71 for(int i=0; i<20; ++i) { … … 77 77 std::cout << "onthefly max bipartite matching demo on wrapped leda graph..." << std::endl; 78 78 Graph::EdgeMap<int> flow(G); //0 flow 79 Graph::EdgeMap<int> cap acity(G, 1);79 Graph::EdgeMap<int> cap(G, 1); 80 80 81 81 Timer ts;
Note: See TracChangeset
for help on using the changeset viewer.