COIN-OR::LEMON - Graph Library

Changeset 2168:6474b8254f24 in lemon-0.x for lemon


Ignore:
Timestamp:
08/02/06 22:15:59 (18 years ago)
Author:
Akos Ladanyi
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2883
Message:

CPLEX 9.x support.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/lp_cplex.cc

    r1956 r2168  
    270270    status = CPXlpopt(env, lp);
    271271    //status = CPXprimopt(env, lp);
     272#if CPX_VERSION >= 900
     273    if (status)
     274    {
     275      return UNSOLVED;
     276    }
     277    else
     278    {
     279      switch (CPXgetstat(env, lp))
     280      {
     281        case CPX_STAT_OPTIMAL:
     282        case CPX_STAT_INFEASIBLE:
     283        case CPX_STAT_UNBOUNDED:
     284          return SOLVED;
     285        default:
     286          return UNSOLVED;
     287      }
     288    }
     289#else
    272290    if (status == 0){
    273291      //We want to exclude some cases
     
    286304      return UNSOLVED;
    287305    }
     306#endif
    288307  }
    289308
     
    381400  //Hulye cplex
    382401  void statusSwitch(CPXENVptr env,int& stat){
     402#if CPX_VERSION < 900
    383403    int lpmethod;
    384404    CPXgetintparam (env,CPX_PARAM_LPMETHOD,&lpmethod);
     
    392412      }
    393413    }
     414#endif
    394415  }
    395416
    396417  LpCplex::SolutionStatus LpCplex::_getPrimalStatus()
    397418  {
    398    
    399419    int stat = CPXgetstat(env, lp);
     420#if CPX_VERSION >= 900
     421    switch (stat)
     422    {
     423      case CPX_STAT_OPTIMAL:
     424        return OPTIMAL;
     425      case CPX_STAT_UNBOUNDED:
     426        return INFINITE;
     427      case CPX_STAT_INFEASIBLE:
     428        return INFEASIBLE;
     429      default:
     430        return UNDEFINED;
     431    }
     432#else
    400433    statusSwitch(env,stat);
    401434    //CPXgetstat(env, lp);
     
    430463      //FIXME error
    431464    }
    432 
     465#endif
    433466  }
    434467
     
    453486  {
    454487    int stat = CPXgetstat(env, lp);
     488#if CPX_VERSION >= 900
     489    switch (stat)
     490    {
     491      case CPX_STAT_OPTIMAL:
     492        return OPTIMAL;
     493      case CPX_STAT_UNBOUNDED:
     494        return INFEASIBLE;
     495      default:
     496        return UNDEFINED;
     497    }
     498#else
    455499    statusSwitch(env,stat);
    456500    switch (stat) {
     
    465509      //FIXME error
    466510    }
     511#endif
    467512  }
    468513
     
    470515  {
    471516    int stat = CPXgetstat(env, lp);
     517#if CPX_VERSION >= 900
     518    switch (stat)
     519    {
     520      case CPX_STAT_OPTIMAL:
     521        return PRIMAL_DUAL_FEASIBLE;
     522      case CPX_STAT_UNBOUNDED:
     523        return PRIMAL_FEASIBLE_DUAL_INFEASIBLE;
     524      default:
     525        return UNKNOWN;
     526    }
     527#else
    472528    switch (stat) {
    473529    case CPX_OPTIMAL://Optimal
     
    484540      //FIXME error
    485541    }
     542#endif
    486543  }
    487544
Note: See TracChangeset for help on using the changeset viewer.