Location: LEMON/LEMON-official/test/CMakeLists.txt - annotation
Load file history
Entirely rework CapacityScaling (#180)
- Use the new interface similarly to NetworkSimplex.
- Rework the implementation using an efficient internal structure
for handling the residual network. This improvement made the
code much faster (up to 2-5 times faster on large graphs).
- Handle GEQ supply type (LEQ is not supported).
- Handle negative costs for arcs of finite capacity.
(Note that this algorithm cannot handle arcs of negative cost
and infinite upper bound, thus it returns UNBOUNDED if such
an arc exists.)
- Extend the documentation.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | r539:d8ca76573eb3 r596:ba659d676331 r539:d8ca76573eb3 r539:d8ca76573eb3 r141:96f81c791f0c r726:9c7639f3a741 r726:9c7639f3a741 r726:9c7639f3a741 r141:96f81c791f0c r225:c5a40fc54f1a r559:9b9ffe7d9b75 r745:f9746e45246e r141:96f81c791f0c r443:346991bf7ddd r696:76cbcb3e9bbb r141:96f81c791f0c r141:96f81c791f0c r141:96f81c791f0c r170:91fb4372688f r141:96f81c791f0c r559:9b9ffe7d9b75 r141:96f81c791f0c r569:22f932bbb305 r590:924887566bf2 r200:c0e2c043c060 r141:96f81c791f0c r171:02f4d5d9bfd7 r426:eac19fb31a09 r203:215bfc30b14f r141:96f81c791f0c r141:96f81c791f0c r641:d657c71db7db r522:7f8560cb9d65 r648:e8349c6f12ca r810:93cd93e82f9b r443:346991bf7ddd r443:346991bf7ddd r496:17d918051964 r225:c5a40fc54f1a r443:346991bf7ddd r141:96f81c791f0c r726:9c7639f3a741 r726:9c7639f3a741 r141:96f81c791f0c r674:20dac2104519 r496:17d918051964 r667:c3ce597c11ae r726:9c7639f3a741 r674:20dac2104519 r667:c3ce597c11ae r726:9c7639f3a741 r674:20dac2104519 r667:c3ce597c11ae r726:9c7639f3a741 r674:20dac2104519 r668:b536eaacb39b r726:9c7639f3a741 r726:9c7639f3a741 r667:c3ce597c11ae r496:17d918051964 r496:17d918051964 r674:20dac2104519 r496:17d918051964 r496:17d918051964 r496:17d918051964 r726:9c7639f3a741 r726:9c7639f3a741 r726:9c7639f3a741 r496:17d918051964 r726:9c7639f3a741 r726:9c7639f3a741 r674:20dac2104519 r667:c3ce597c11ae r667:c3ce597c11ae r667:c3ce597c11ae r726:9c7639f3a741 r667:c3ce597c11ae r726:9c7639f3a741 r726:9c7639f3a741 r496:17d918051964 r674:20dac2104519 r496:17d918051964 r667:c3ce597c11ae r726:9c7639f3a741 r674:20dac2104519 r667:c3ce597c11ae r726:9c7639f3a741 r674:20dac2104519 r667:c3ce597c11ae r726:9c7639f3a741 r674:20dac2104519 r668:b536eaacb39b r726:9c7639f3a741 r726:9c7639f3a741 r667:c3ce597c11ae r496:17d918051964 r496:17d918051964 r674:20dac2104519 r496:17d918051964 r496:17d918051964 r496:17d918051964 r726:9c7639f3a741 r726:9c7639f3a741 r726:9c7639f3a741 r496:17d918051964 r726:9c7639f3a741 r726:9c7639f3a741 r674:20dac2104519 r667:c3ce597c11ae r667:c3ce597c11ae r667:c3ce597c11ae r726:9c7639f3a741 r667:c3ce597c11ae r726:9c7639f3a741 r726:9c7639f3a741 r496:17d918051964 r225:c5a40fc54f1a r225:c5a40fc54f1a r225:c5a40fc54f1a r225:c5a40fc54f1a r726:9c7639f3a741 | INCLUDE_DIRECTORIES(
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
)
LINK_DIRECTORIES(
${PROJECT_BINARY_DIR}/lemon
)
SET(TESTS
adaptors_test
bellman_ford_test
bfs_test
circulation_test
connectivity_test
counter_test
dfs_test
digraph_test
dijkstra_test
dim_test
edge_set_test
error_test
euler_test
gomory_hu_test
graph_copy_test
graph_test
graph_utils_test
hao_orlin_test
heap_test
kruskal_test
maps_test
matching_test
min_cost_arborescence_test
min_cost_flow_test
min_mean_cycle_test
path_test
preflow_test
radix_sort_test
random_test
suurballe_test
time_measure_test
unionfind_test
)
IF(LEMON_HAVE_LP)
ADD_EXECUTABLE(lp_test lp_test.cc)
SET(LP_TEST_LIBS lemon)
IF(LEMON_HAVE_GLPK)
SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
ENDIF()
IF(LEMON_HAVE_CPLEX)
SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
ENDIF()
IF(LEMON_HAVE_CLP)
SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
ENDIF()
TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
ADD_TEST(lp_test lp_test)
IF(WIN32 AND LEMON_HAVE_GLPK)
GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
)
ENDIF()
IF(WIN32 AND LEMON_HAVE_CPLEX)
GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
)
ENDIF()
ENDIF()
IF(LEMON_HAVE_MIP)
ADD_EXECUTABLE(mip_test mip_test.cc)
SET(MIP_TEST_LIBS lemon)
IF(LEMON_HAVE_GLPK)
SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
ENDIF()
IF(LEMON_HAVE_CPLEX)
SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
ENDIF()
IF(LEMON_HAVE_CBC)
SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
ENDIF()
TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
ADD_TEST(mip_test mip_test)
IF(WIN32 AND LEMON_HAVE_GLPK)
GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
)
ENDIF()
IF(WIN32 AND LEMON_HAVE_CPLEX)
GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
)
ENDIF()
ENDIF()
FOREACH(TEST_NAME ${TESTS})
ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
ADD_TEST(${TEST_NAME} ${TEST_NAME})
ENDFOREACH()
|