gravatar
alpar (Alpar Juttner)
alpar@cs.elte.hu
Merge #317
0 2 0
merge default
0 files changed with 3 insertions and 2 deletions:
↑ Collapse diff ↑
Show white space 48 line context
... ...
@@ -67,49 +67,49 @@
67 67
    fi
68 68
  fi
69 69
  CLP_LIBS="$CLP_LDFLAGS $CLP_LIBS"
70 70
  AC_SUBST(CLP_CXXFLAGS)
71 71
  AC_SUBST(CLP_LIBS)
72 72
  AM_CONDITIONAL([HAVE_CLP], [test x"$lx_clp_found" = x"yes"])
73 73

	
74 74

	
75 75
  lx_cbc_found=no
76 76
  if test x"$lx_clp_found" = x"yes"; then
77 77
    if test x"$with_coin" != x"no"; then
78 78
      AC_MSG_CHECKING([for CBC])
79 79

	
80 80
      if test x"$with_coin_includedir" != x"no"; then
81 81
        CBC_CXXFLAGS="-I$with_coin_includedir"
82 82
      elif test x"$with_coin" != x"yes"; then
83 83
        CBC_CXXFLAGS="-I$with_coin/include"
84 84
      fi
85 85

	
86 86
      if test x"$with_coin_libdir" != x"no"; then
87 87
        CBC_LDFLAGS="-L$with_coin_libdir"
88 88
      elif test x"$with_coin" != x"yes"; then
89 89
        CBC_LDFLAGS="-L$with_coin/lib"
90 90
      fi
91
      CBC_LIBS="-lOsi -lCbc -lOsiCbc -lCbcSolver -lClp -lOsiClp -lCoinUtils -lVol -lOsiVol -lCgl -lm -llapack -lblas"
91
      CBC_LIBS="-lOsi -lCbc -lCbcSolver -lClp -lOsiClp -lCoinUtils -lVol -lOsiVol -lCgl -lm -llapack -lblas"
92 92

	
93 93
      lx_save_cxxflags="$CXXFLAGS"
94 94
      lx_save_ldflags="$LDFLAGS"
95 95
      lx_save_libs="$LIBS"
96 96
      CXXFLAGS="$CBC_CXXFLAGS"
97 97
      LDFLAGS="$CBC_LDFLAGS"
98 98
      LIBS="$CBC_LIBS"
99 99

	
100 100
      lx_cbc_test_prog='
101 101
        #include <coin/CbcModel.hpp>
102 102

	
103 103
        int main(int argc, char** argv)
104 104
        {
105 105
          CbcModel cbc;
106 106
          return 0;
107 107
        }'
108 108

	
109 109
      AC_LANG_PUSH(C++)
110 110
      AC_LINK_IFELSE([$lx_cbc_test_prog], [lx_cbc_found=yes], [lx_cbc_found=no])
111 111
      AC_LANG_POP(C++)
112 112

	
113 113
      CXXFLAGS="$lx_save_cxxflags"
114 114
      LDFLAGS="$lx_save_ldflags"
115 115
      LIBS="$lx_save_libs"
Show white space 48 line context
... ...
@@ -29,49 +29,50 @@
29 29
#endif
30 30

	
31 31
#ifdef LEMON_HAVE_CBC
32 32
#include <lemon/cbc.h>
33 33
#endif
34 34

	
35 35

	
36 36
using namespace lemon;
37 37

	
38 38
void solveAndCheck(MipSolver& mip, MipSolver::ProblemType stat,
39 39
                   double exp_opt) {
40 40
  using std::string;
41 41

	
42 42
  mip.solve();
43 43
  //int decimal,sign;
44 44
  std::ostringstream buf;
45 45
  buf << "Type should be: " << int(stat)<<" and it is "<<int(mip.type());
46 46

	
47 47

	
48 48
  //  itoa(stat,buf1, 10);
49 49
  check(mip.type()==stat, buf.str());
50 50

	
51 51
  if (stat ==  MipSolver::OPTIMAL) {
52 52
    std::ostringstream sbuf;
53
    buf << "Wrong optimal value: the right optimum is " << exp_opt;
53
    sbuf << "Wrong optimal value ("<< mip.solValue()
54
         <<" instead of " << exp_opt << ")";
54 55
    check(std::abs(mip.solValue()-exp_opt) < 1e-3, sbuf.str());
55 56
    //+ecvt(exp_opt,2)
56 57
  }
57 58
}
58 59

	
59 60
void aTest(MipSolver& mip)
60 61
{
61 62
  //The following example is very simple
62 63

	
63 64

	
64 65
  typedef MipSolver::Row Row;
65 66
  typedef MipSolver::Col Col;
66 67

	
67 68

	
68 69
  Col x1 = mip.addCol();
69 70
  Col x2 = mip.addCol();
70 71

	
71 72

	
72 73
  //Objective function
73 74
  mip.obj(x1);
74 75

	
75 76
  mip.max();
76 77

	
77 78
  //Unconstrained optimization
0 comments (0 inline)