Changes in test/lp_test.cc [1205:57abff252556:1131:4add05447ca0] in lemon-main
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
test/lp_test.cc
r1205 r1131 340 340 check(lp.sense() == lp.MAX,"This is a maximization!"); 341 341 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!");343 342 check(lp.colLowerBound(x1)==0, 344 343 "The lower bound for variable x1 should be 0."); … … 426 425 } 427 426 428 template<class LP>429 void rangeConstraintTest()430 {431 LP lp;432 // Add two columns (variables) to the problem433 typename LP::Col x1 = lp.addCol();434 typename LP::Col x2 = lp.addCol();435 // Add rows (constraints) to the problem436 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 function444 lp.max();445 lp.obj(5 * x1 + 3 * x2);446 447 // Solve the problem using the underlying LP solver448 lp.solve();449 // Print the results450 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 456 427 int main() 457 428 { … … 474 445 aTest(lp_glpk2); 475 446 cloneTest<GlpkLp>(); 476 rangeConstraintTest<GlpkLp>();477 447 } 478 448 #endif … … 484 454 aTest(lp_cplex2); 485 455 cloneTest<CplexLp>(); 486 rangeConstraintTest<CplexLp>();487 456 } catch (CplexEnv::LicenseError& error) { 488 457 check(false, error.what()); … … 496 465 aTest(lp_soplex2); 497 466 cloneTest<SoplexLp>(); 498 rangeConstraintTest<Soplex>();499 467 } 500 468 #endif … … 506 474 aTest(lp_clp2); 507 475 cloneTest<ClpLp>(); 508 rangeConstraintTest<ClpLp>();509 476 } 510 477 #endif
Note: See TracChangeset
for help on using the changeset viewer.