cmake/FindCPLEX.cmake
author Peter Kovacs <kpeter@inf.elte.hu>
Wed, 29 Apr 2009 03:15:24 +0200
changeset 687 6c408d864fa1
child 674 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.
ladanyi@667
     1
FIND_PATH(CPLEX_INCLUDE_DIR
ladanyi@667
     2
  ilcplex/cplex.h
ladanyi@667
     3
  PATHS "C:/ILOG/CPLEX91/include")
ladanyi@667
     4
ladanyi@667
     5
FIND_LIBRARY(CPLEX_LIBRARY
ladanyi@667
     6
  NAMES cplex91
ladanyi@667
     7
  PATHS "C:/ILOG/CPLEX91/lib/msvc7/stat_mda")
ladanyi@667
     8
ladanyi@667
     9
INCLUDE(FindPackageHandleStandardArgs)
ladanyi@667
    10
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPLEX DEFAULT_MSG CPLEX_LIBRARY CPLEX_INCLUDE_DIR)
ladanyi@667
    11
ladanyi@667
    12
FIND_PATH(CPLEX_BIN_DIR
ladanyi@667
    13
  cplex91.dll
ladanyi@667
    14
  PATHS "C:/ILOG/CPLEX91/bin/x86_win32")
ladanyi@667
    15
ladanyi@667
    16
IF(CPLEX_FOUND)
ladanyi@667
    17
  SET(CPLEX_INCLUDE_DIRS ${CPLEX_INCLUDE_DIR})
ladanyi@667
    18
  SET(CPLEX_LIBRARIES ${CPLEX_LIBRARY})
ladanyi@667
    19
ENDIF(CPLEX_FOUND)
ladanyi@667
    20
ladanyi@667
    21
MARK_AS_ADVANCED(CPLEX_LIBRARY CPLEX_INCLUDE_DIR CPLEX_BIN_DIR)
ladanyi@667
    22
ladanyi@667
    23
IF(CPLEX_FOUND)
ladanyi@667
    24
  SET(HAVE_LP TRUE)
ladanyi@667
    25
  SET(HAVE_MIP TRUE)
ladanyi@667
    26
  SET(HAVE_CPLEX TRUE)
ladanyi@667
    27
ENDIF(CPLEX_FOUND)