cmake/FindCPLEX.cmake
author Peter Kovacs <kpeter@inf.elte.hu>
Wed, 29 Apr 2009 03:15:24 +0200
changeset 640 6c408d864fa1
child 627 20dac2104519
permissions -rw-r--r--
Support negative costs and bounds in NetworkSimplex (#270)

* The interface is reworked to support negative costs and bounds.
- ProblemType and problemType() are renamed to
SupplyType and supplyType(), see also #234.
- ProblemType type is introduced similarly to the LP interface.
- 'bool run()' is replaced by 'ProblemType run()' to handle
unbounded problem instances, as well.
- Add INF public member constant similarly to the LP interface.
* Remove capacityMap() and boundMaps(), see also #266.
* Update the problem definition in the MCF module.
* Remove the usage of Circulation (and adaptors) for checking feasibility.
Check feasibility by examining the artifical arcs instead (after solving
the problem).
* Additional check for unbounded negative cycles found during the
algorithm (it is possible now, since negative costs are allowed).
* Fix in the constructor (the value types needn't be integer any more),
see also #254.
* Improve and extend the doc.
* Rework the test file and add test cases for negative costs and bounds.
     1 FIND_PATH(CPLEX_INCLUDE_DIR
     2   ilcplex/cplex.h
     3   PATHS "C:/ILOG/CPLEX91/include")
     4 
     5 FIND_LIBRARY(CPLEX_LIBRARY
     6   NAMES cplex91
     7   PATHS "C:/ILOG/CPLEX91/lib/msvc7/stat_mda")
     8 
     9 INCLUDE(FindPackageHandleStandardArgs)
    10 FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPLEX DEFAULT_MSG CPLEX_LIBRARY CPLEX_INCLUDE_DIR)
    11 
    12 FIND_PATH(CPLEX_BIN_DIR
    13   cplex91.dll
    14   PATHS "C:/ILOG/CPLEX91/bin/x86_win32")
    15 
    16 IF(CPLEX_FOUND)
    17   SET(CPLEX_INCLUDE_DIRS ${CPLEX_INCLUDE_DIR})
    18   SET(CPLEX_LIBRARIES ${CPLEX_LIBRARY})
    19 ENDIF(CPLEX_FOUND)
    20 
    21 MARK_AS_ADVANCED(CPLEX_LIBRARY CPLEX_INCLUDE_DIR CPLEX_BIN_DIR)
    22 
    23 IF(CPLEX_FOUND)
    24   SET(HAVE_LP TRUE)
    25   SET(HAVE_MIP TRUE)
    26   SET(HAVE_CPLEX TRUE)
    27 ENDIF(CPLEX_FOUND)