test/lp_test.cc
changeset 1484 a3484f00a5f0
parent 1475 21aa0195aab9
child 1493 94535d1833b5
     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