[Lemon-commits] Alpar Juttner: Fix default LP/MIP setting (#479)

Lemon HG hg at lemon.cs.elte.hu
Thu Oct 24 13:05:16 CEST 2013


details:   http://lemon.cs.elte.hu/hg/lemon/rev/62dba6c90f35
changeset: 1300:62dba6c90f35
user:      Alpar Juttner <alpar [at] cs.elte.hu>
date:      Thu Oct 24 13:04:00 2013 +0200
description:
	Fix default LP/MIP setting (#479)

diffstat:

 CMakeLists.txt   |   6 ++++++
 lemon/lp.h       |   4 +++-
 test/lp_test.cc  |  12 ++++++++++++
 test/mip_test.cc |  12 ++++++++++++
 4 files changed, 33 insertions(+), 1 deletions(-)

diffs (102 lines):

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -121,6 +121,9 @@
     (NOT SOPLEX_FOUND AND (LEMON_DEFAULT_LP STREQUAL "SOPLEX")))
   SET(LEMON_DEFAULT_LP ${DEFAULT_LP} CACHE STRING
     "Default LP solver backend (GLPK, CPLEX, CLP or SOPLEX)" FORCE)
+ELSE()
+  SET(LEMON_DEFAULT_LP ${DEFAULT_LP} CACHE STRING
+    "Default LP solver backend (GLPK, CPLEX, CLP or SOPLEX)")
 ENDIF()
 IF(NOT LEMON_DEFAULT_MIP OR
     (NOT ILOG_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "CPLEX")) OR
@@ -128,6 +131,9 @@
     (NOT GLPK_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "GLPK")))
   SET(LEMON_DEFAULT_MIP ${DEFAULT_MIP} CACHE STRING
     "Default MIP solver backend (GLPK, CPLEX or CBC)" FORCE)
+ELSE()
+  SET(LEMON_DEFAULT_MIP ${DEFAULT_MIP} CACHE STRING
+    "Default MIP solver backend (GLPK, CPLEX or CBC)")
 ENDIF()
 
 
diff --git a/lemon/lp.h b/lemon/lp.h
--- a/lemon/lp.h
+++ b/lemon/lp.h
@@ -30,6 +30,8 @@
 #include <lemon/soplex.h>
 #elif LEMON_HAVE_CLP
 #include <lemon/clp.h>
+#elif LEMON_HAVE_CBC
+#include <lemon/cbc.h>
 #endif
 
 ///\file
@@ -79,7 +81,7 @@
   typedef ClpLp Lp;
 #endif
 #if LEMON_DEFAULT_MIP == GLPK
-  typedef GlpkLp Mip;
+  typedef GlpkMip Mip;
 #elif LEMON_DEFAULT_MIP == CPLEX
   typedef CplexMip Mip;
 #elif LEMON_DEFAULT_MIP == CBC
diff --git a/test/lp_test.cc b/test/lp_test.cc
--- a/test/lp_test.cc
+++ b/test/lp_test.cc
@@ -39,6 +39,9 @@
 #include <lemon/clp.h>
 #endif
 
+#ifdef LEMON_HAVE_LP
+#include <lemon/lp.h>
+#endif
 using namespace lemon;
 
 int countCols(LpBase & lp) {
@@ -416,6 +419,15 @@
   LpSkeleton lp_skel;
   lpTest(lp_skel);
 
+#ifdef LEMON_HAVE_LP
+  {
+    Lp lp,lp2;
+    lpTest(lp);
+    aTest(lp2);
+    cloneTest<Lp>();
+  }
+#endif
+
 #ifdef LEMON_HAVE_GLPK
   {
     GlpkLp lp_glpk1,lp_glpk2;
diff --git a/test/mip_test.cc b/test/mip_test.cc
--- a/test/mip_test.cc
+++ b/test/mip_test.cc
@@ -32,6 +32,10 @@
 #include <lemon/cbc.h>
 #endif
 
+#ifdef LEMON_HAVE_MIP
+#include <lemon/lp.h>
+#endif
+
 
 using namespace lemon;
 
@@ -128,6 +132,14 @@
 int main()
 {
 
+#ifdef LEMON_HAVE_MIP
+  {
+    Mip mip1;
+    aTest(mip1);
+    cloneTest<Mip>();
+  }
+#endif
+
 #ifdef LEMON_HAVE_GLPK
   {
     GlpkMip mip1;


More information about the Lemon-commits mailing list