Last change
on this file since 2148:ab368e0ab662 was
2148:ab368e0ab662,
checked in by athos, 13 years ago

Modifications to the interface: colType() functions, though I left the old integer() functions, too.

File size:
1010 bytes

Line  

1  #include <lemon/lp.h> 

2  //#include <lemon/ilp_glpk.h> 

3  

4  using namespace lemon; 

5  

6  int main(){ 

7  

8  //MipGlpk ilp; 

9  

10  Mip ilp; 

11  

12  

13  typedef Mip::Row Row; 

14  typedef Mip::Col Col; 

15  

16  ilp.max(); 

17  

18  Col x1 = ilp.addCol(); 

19  Col x2 = ilp.addCol(); 

20  Col x3 = ilp.addCol(); 

21  

22  ilp.integer(x1,true); 

23  ilp.integer(x2,true); 

24  ilp.integer(x3,true); 

25  

26  ilp.addRow(x1+x2+x3 <=100); 

27  ilp.addRow(10*x1+4*x2+5*x3<=600); 

28  ilp.addRow(2*x1+2*x2+6*x3<=300); 

29  

30  ilp.colLowerBound(x1, 0); 

31  ilp.colLowerBound(x2, 0); 

32  ilp.colLowerBound(x3, 0); 

33  //Objective function 

34  ilp.setObj(10*x1+6*x2+4*x3); 

35  

36  //Call the routine of the underlying LP solver 

37  ilp.solve(); 

38  

39  //Print results 

40  if (ilp.primalStatus()==LpSolverBase::OPTIMAL){ 

41  std::cout<<"Optimal solution found!"<<std::endl; 

42  printf("optimum value = %g; x1 = %g; x2 = %g; x3 = %g\n", 

43  ilp.primalValue(), 

44  ilp.primal(x1), ilp.primal(x2), ilp.primal(x3)); 

45  } 

46  else{ 

47  std::cout<<"Optimal solution not found!"<<std::endl; 

48  } 

49  

50  } 

Note: See
TracBrowser
for help on using the repository browser.