COIN-OR::LEMON - Graph Library

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/lp_test.cc

    r1205 r1131  
    340340  check(lp.sense() == lp.MAX,"This is a maximization!");
    341341  check(lp.coeff(upright,x1)==1,"The coefficient in question is 1!");
    342   check(lp.coeff(upright,x2)==2,"The coefficient in question is 1!");
    343342  check(lp.colLowerBound(x1)==0,
    344343        "The lower bound for variable x1 should be 0.");
     
    426425}
    427426
    428 template<class LP>
    429 void rangeConstraintTest()
    430 {
    431   LP lp;
    432   // Add two columns (variables) to the problem
    433   typename LP::Col x1 = lp.addCol();
    434   typename LP::Col x2 = lp.addCol();
    435   // Add rows (constraints) to the problem
    436   lp.addRow(x1 - 5 <= x2);
    437     lp.addRow(0 <= 2 * x1 + x2 <= 25);
    438  
    439   // Set lower and upper bounds for the columns (variables)
    440   lp.colLowerBound(x1, 0);
    441   lp.colUpperBound(x2, 10);
    442  
    443   // Specify the objective function
    444   lp.max();
    445   lp.obj(5 * x1 + 3 * x2);
    446  
    447   // Solve the problem using the underlying LP solver
    448   lp.solve();
    449   // Print the results
    450   check(lp.primalType() == LP::OPTIMAL, "Optimal solution is not found");
    451   check(lp.primal() <= 67.501 && lp.primal() >= 67.499, "Wrong objective value");
    452   check(lp.primal(x1) <= 7.501 && lp.primal(x1) >= 7.499, "Wrong value for x1");
    453   check(lp.primal(x2) <= 10.001 && lp.primal(x2) >= 9.999, "Wrong value for x2");
    454 }
    455 
    456427int main()
    457428{
     
    474445    aTest(lp_glpk2);
    475446    cloneTest<GlpkLp>();
    476     rangeConstraintTest<GlpkLp>();
    477447  }
    478448#endif
     
    484454    aTest(lp_cplex2);
    485455    cloneTest<CplexLp>();
    486     rangeConstraintTest<CplexLp>();
    487456  } catch (CplexEnv::LicenseError& error) {
    488457    check(false, error.what());
     
    496465    aTest(lp_soplex2);
    497466    cloneTest<SoplexLp>();
    498     rangeConstraintTest<Soplex>();
    499467  }
    500468#endif
     
    506474    aTest(lp_clp2);
    507475    cloneTest<ClpLp>();
    508     rangeConstraintTest<ClpLp>();
    509476  }
    510477#endif
Note: See TracChangeset for help on using the changeset viewer.