1.1 --- a/test/lp_test.cc Tue Jun 14 10:26:37 2005 +0000
1.2 +++ b/test/lp_test.cc Tue Jun 14 13:55:28 2005 +0000
1.3 @@ -40,6 +40,12 @@
1.4 LP::Col p1,p2,p3,p4,p5;
1.5 LP::Constr c;
1.6
1.7 + p1=lp.addCol();
1.8 + p2=lp.addCol();
1.9 + p3=lp.addCol();
1.10 + p4=lp.addCol();
1.11 + p5=lp.addCol();
1.12 +
1.13 e[p1]=2;
1.14 e.constComp()=12;
1.15 e[p1]+=2;
1.16 @@ -199,11 +205,15 @@
1.17 lp.max();
1.18 lp.solve();
1.19
1.20 -
1.21 + double opt=122.0/9.0;
1.22 +
1.23 if (lp.primalStatus()==LpSolverBase::OPTIMAL){
1.24 - printf("Z = %g; x1 = %g; x2 = %g\n",
1.25 - lp.primalValue(),
1.26 - lp.primal(x1), lp.primal(x2));
1.27 + std::cout<< "Z = "<<lp.primalValue()
1.28 + << " (error = " << lp.primalValue()-opt
1.29 + << "); x1 = "<<lp.primal(x1)
1.30 + << "; x2 = "<<lp.primal(x2)
1.31 + <<std::endl;
1.32 +
1.33 }
1.34 else{
1.35 std::cout<<"Optimal solution not found!"<<std::endl;
1.36 @@ -211,8 +221,8 @@
1.37
1.38 check(lp.primalStatus()==LpSolverBase::OPTIMAL,"Primalstatus should be OPTIMAL");
1.39
1.40 - double opt=123/9;
1.41 - check(lp.primalValue()==opt,"The optimum value is 122/9");
1.42 + check(std::abs(lp.primalValue()-opt)<1e-3,
1.43 + "Wrong optimal value: the right optimum is 122/9 (13.555555...)");
1.44
1.45
1.46 }
1.47 @@ -224,9 +234,9 @@
1.48 lpTest(lp_skel);
1.49
1.50 #ifdef HAVE_GLPK
1.51 - LpGlpk lp_glpk;
1.52 - lpTest(lp_glpk);
1.53 - aTest(lp_glpk);
1.54 + LpGlpk lp_glpk1,lp_glpk2;
1.55 + lpTest(lp_glpk1);
1.56 + aTest(lp_glpk2);
1.57 #endif
1.58
1.59 #ifdef HAVE_CPLEX