COIN-OR::LEMON - Graph Library

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/network_simplex.h

    r656 r665  
    382382        const int MIN_BLOCK_SIZE = 10;
    383383
    384         _block_size = std::max( int(BLOCK_SIZE_FACTOR * sqrt(_arc_num)),
     384        _block_size = std::max( int(BLOCK_SIZE_FACTOR *
     385                                    std::sqrt(double(_arc_num))),
    385386                                MIN_BLOCK_SIZE );
    386387      }
     
    458459        const int MIN_MINOR_LIMIT = 3;
    459460
    460         _list_length = std::max( int(LIST_LENGTH_FACTOR * sqrt(_arc_num)),
     461        _list_length = std::max( int(LIST_LENGTH_FACTOR *
     462                                     std::sqrt(double(_arc_num))),
    461463                                 MIN_LIST_LENGTH );
    462464        _minor_limit = std::max( int(MINOR_LIMIT_FACTOR * _list_length),
     
    578580        const int MIN_HEAD_LENGTH = 3;
    579581
    580         _block_size = std::max( int(BLOCK_SIZE_FACTOR * sqrt(_arc_num)),
     582        _block_size = std::max( int(BLOCK_SIZE_FACTOR *
     583                                    std::sqrt(double(_arc_num))),
    581584                                MIN_BLOCK_SIZE );
    582585        _head_length = std::max( int(HEAD_LENGTH_FACTOR * _block_size),
     
    11451148      // Run Circulation to check if a feasible solution exists
    11461149      typedef ConstMap<Arc, Flow> ConstArcMap;
     1150      ConstArcMap zero_arc_map(0), inf_arc_map(inf_cap);
    11471151      FlowNodeMap *csup = NULL;
    11481152      bool local_csup = false;
     
    11651169          } else {
    11661170            Circulation<GR, FlowArcMap, ConstArcMap, FlowNodeMap>
    1167               circ(_graph, *_plower, ConstArcMap(inf_cap), *csup);
     1171              circ(_graph, *_plower, inf_arc_map, *csup);
    11681172            circ_result = circ.run();
    11691173          }
     
    11711175          if (_pupper) {
    11721176            Circulation<GR, ConstArcMap, FlowArcMap, FlowNodeMap>
    1173               circ(_graph, ConstArcMap(0), *_pupper, *csup);
     1177              circ(_graph, zero_arc_map, *_pupper, *csup);
    11741178            circ_result = circ.run();
    11751179          } else {
    11761180            Circulation<GR, ConstArcMap, ConstArcMap, FlowNodeMap>
    1177               circ(_graph, ConstArcMap(0), ConstArcMap(inf_cap), *csup);
     1181              circ(_graph, zero_arc_map, inf_arc_map, *csup);
    11781182            circ_result = circ.run();
    11791183          }
     
    11921196          } else {
    11931197            Circulation<RevGraph, FlowArcMap, ConstArcMap, NegNodeMap>
    1194               circ(rgraph, *_plower, ConstArcMap(inf_cap), neg_csup);
     1198              circ(rgraph, *_plower, inf_arc_map, neg_csup);
    11951199            circ_result = circ.run();
    11961200          }
     
    11981202          if (_pupper) {
    11991203            Circulation<RevGraph, ConstArcMap, FlowArcMap, NegNodeMap>
    1200               circ(rgraph, ConstArcMap(0), *_pupper, neg_csup);
     1204              circ(rgraph, zero_arc_map, *_pupper, neg_csup);
    12011205            circ_result = circ.run();
    12021206          } else {
    12031207            Circulation<RevGraph, ConstArcMap, ConstArcMap, NegNodeMap>
    1204               circ(rgraph, ConstArcMap(0), ConstArcMap(inf_cap), neg_csup);
     1208              circ(rgraph, zero_arc_map, inf_arc_map, neg_csup);
    12051209            circ_result = circ.run();
    12061210          }
     
    12261230
    12271231      // Store the arcs in a mixed order
    1228       int k = std::max(int(sqrt(_arc_num)), 10);
     1232      int k = std::max(int(std::sqrt(double(_arc_num))), 10);
    12291233      int i = 0;
    12301234      for (ArcIt e(_graph); e != INVALID; ++e) {
Note: See TracChangeset for help on using the changeset viewer.