src/work/athos/lp/lp_test.cc
author athos
Fri, 25 Mar 2005 15:24:18 +0000
changeset 1261 9d0deeea8c08
parent 1256 3bb4ed285c39
child 1263 a490938ad0aa
permissions -rw-r--r--
Low level interface for GLPK (Marci ut?n szabadon)
     1 #include"lp_solver_skeleton.h"
     2 
     3 using namespace lemon;
     4 
     5 int main()
     6 {
     7   typedef LpSolverSkeleton LP;
     8   LP lp;
     9 
    10   std::vector<LP::Col> x;
    11   for(int i=0;i<10;i++) x.push_back(lp.addCol());
    12 
    13   std::vector<LP::Col> y(10);
    14   lp.addColSet(y);
    15 
    16   std::map<int,LP::Col> z;
    17   
    18   z.insert(std::make_pair(12,INVALID));
    19   z.insert(std::make_pair(2,INVALID));
    20   z.insert(std::make_pair(7,INVALID));
    21   z.insert(std::make_pair(5,INVALID));
    22   
    23   lp.addColSet(z);
    24 
    25 
    26   LP::Expr e;
    27   e[x[3]]=2;
    28   e[x[3]]=4;
    29   e[x[3]]=1;
    30   e.constComp()=12;
    31 
    32   LP::Col p1,p2,p3,p4,p5;
    33   
    34   lp.addRow(LP::INF,e,23);
    35   lp.addRow(LP::INF,3.0*(p1+p2)-p3,23);
    36   lp.addRow(LP::INF,3.0*(x[1]+x[2]/2)-x[3],23);
    37   lp.addRow(LP::INF,3.0*(p1+p2*2-5*p3+12-p4/3)+2*p4-4,23);
    38   lp.addRow(LP::INF,3.0*(x[1]+x[2]*2-5*x[3]+12-x[4]/3)+2*x[4]-4,23);
    39 }