src/lemon/lp_glpk.cc
changeset 1418 afaa773d0ad0
parent 1379 96a34c0904dd
child 1431 ad44b1dd8013
equal deleted inserted replaced
10:a59473b62824 11:8db21e563aa1
   173 	//FIXME error
   173 	//FIXME error
   174       }
   174       }
   175     }
   175     }
   176   }
   176   }
   177   
   177   
   178   void LpGlpk::_setRowLowerBound(int i, Value lo)
   178 //   void LpGlpk::_setRowLowerBound(int i, Value lo)
   179   {
   179 //   {
   180     if (lo==INF) {
   180 //     if (lo==INF) {
   181       //FIXME error
   181 //       //FIXME error
   182     }
   182 //     }
   183     int b=lpx_get_row_type(lp, i);
   183 //     int b=lpx_get_row_type(lp, i);
   184     double up=lpx_get_row_ub(lp, i);	
   184 //     double up=lpx_get_row_ub(lp, i);	
   185     if (lo==-INF) {
   185 //     if (lo==-INF) {
   186       switch (b) {
   186 //       switch (b) {
   187       case LPX_FR:
   187 //       case LPX_FR:
   188       case LPX_LO:
   188 //       case LPX_LO:
   189 	lpx_set_row_bnds(lp, i, LPX_FR, lo, up);
   189 // 	lpx_set_row_bnds(lp, i, LPX_FR, lo, up);
   190 	break;
   190 // 	break;
   191       case LPX_UP:
   191 //       case LPX_UP:
   192 	break;
   192 // 	break;
   193       case LPX_DB:
   193 //       case LPX_DB:
   194       case LPX_FX:
   194 //       case LPX_FX:
   195 	lpx_set_row_bnds(lp, i, LPX_UP, lo, up);
   195 // 	lpx_set_row_bnds(lp, i, LPX_UP, lo, up);
   196 	break;
   196 // 	break;
   197       default: ;
   197 //       default: ;
   198 	//FIXME error
   198 // 	//FIXME error
   199       }
   199 //       }
   200     } else {
   200 //     } else {
   201       switch (b) {
   201 //       switch (b) {
   202       case LPX_FR:
   202 //       case LPX_FR:
   203       case LPX_LO:
   203 //       case LPX_LO:
   204 	lpx_set_row_bnds(lp, i, LPX_LO, lo, up);
   204 // 	lpx_set_row_bnds(lp, i, LPX_LO, lo, up);
   205 	break;
   205 // 	break;
   206       case LPX_UP:	  
   206 //       case LPX_UP:	  
   207       case LPX_DB:
   207 //       case LPX_DB:
   208       case LPX_FX:
   208 //       case LPX_FX:
   209 	if (lo==up) 
   209 // 	if (lo==up) 
   210 	  lpx_set_row_bnds(lp, i, LPX_FX, lo, up);
   210 // 	  lpx_set_row_bnds(lp, i, LPX_FX, lo, up);
   211 	else 
   211 // 	else 
   212 	  lpx_set_row_bnds(lp, i, LPX_DB, lo, up);
   212 // 	  lpx_set_row_bnds(lp, i, LPX_DB, lo, up);
   213 	break;
   213 // 	break;
   214       default: ;
   214 //       default: ;
   215 	//FIXME error
   215 // 	//FIXME error
   216       }
   216 //       }
   217     }
   217 //     }
   218   }
   218 //   }
   219   
   219   
   220   void LpGlpk::_setRowUpperBound(int i, Value up)
   220 //   void LpGlpk::_setRowUpperBound(int i, Value up)
   221   {
   221 //   {
   222     if (up==-INF) {
   222 //     if (up==-INF) {
   223       //FIXME error
   223 //       //FIXME error
   224     }
   224 //     }
   225     int b=lpx_get_row_type(lp, i);
   225 //     int b=lpx_get_row_type(lp, i);
   226     double lo=lpx_get_row_lb(lp, i);
   226 //     double lo=lpx_get_row_lb(lp, i);
   227     if (up==INF) {
   227 //     if (up==INF) {
   228       switch (b) {
   228 //       switch (b) {
   229       case LPX_FR:
   229 //       case LPX_FR:
   230       case LPX_LO:
   230 //       case LPX_LO:
   231 	break;
   231 // 	break;
   232       case LPX_UP:
   232 //       case LPX_UP:
   233 	lpx_set_row_bnds(lp, i, LPX_FR, lo, up);
   233 // 	lpx_set_row_bnds(lp, i, LPX_FR, lo, up);
   234 	break;
   234 // 	break;
   235       case LPX_DB:
   235 //       case LPX_DB:
   236       case LPX_FX:
   236 //       case LPX_FX:
   237 	lpx_set_row_bnds(lp, i, LPX_LO, lo, up);
   237 // 	lpx_set_row_bnds(lp, i, LPX_LO, lo, up);
   238 	break;
   238 // 	break;
   239       default: ;
   239 //       default: ;
   240 	//FIXME error
   240 // 	//FIXME error
   241       }
   241 //       }
   242     } else {
   242 //     } else {
   243       switch (b) {
   243 //       switch (b) {
   244       case LPX_FR:
   244 //       case LPX_FR:
   245 	lpx_set_row_bnds(lp, i, LPX_UP, lo, up);
   245 // 	lpx_set_row_bnds(lp, i, LPX_UP, lo, up);
   246 	break;
   246 // 	break;
   247       case LPX_UP:
   247 //       case LPX_UP:
   248 	lpx_set_row_bnds(lp, i, LPX_UP, lo, up);
   248 // 	lpx_set_row_bnds(lp, i, LPX_UP, lo, up);
   249 	break;
   249 // 	break;
   250       case LPX_LO:
   250 //       case LPX_LO:
   251       case LPX_DB:
   251 //       case LPX_DB:
   252       case LPX_FX:
   252 //       case LPX_FX:
   253 	if (lo==up) 
   253 // 	if (lo==up) 
   254 	  lpx_set_row_bnds(lp, i, LPX_FX, lo, up);
   254 // 	  lpx_set_row_bnds(lp, i, LPX_FX, lo, up);
   255 	else 
   255 // 	else 
   256 	  lpx_set_row_bnds(lp, i, LPX_DB, lo, up);
   256 // 	  lpx_set_row_bnds(lp, i, LPX_DB, lo, up);
   257 	break;
   257 // 	break;
   258       default: ;
   258 //       default: ;
   259 	//FIXME error
   259 // 	//FIXME error
   260       }
   260 //       }
   261     }
   261 //     }
   262   }
   262 //   }
   263 
   263 
   264   void LpGlpk::_setRowBounds(int i, Value lb, Value ub)
   264   void LpGlpk::_setRowBounds(int i, Value lb, Value ub)
   265   {
   265   {
   266     //Bad parameter
   266     //Bad parameter
   267     if (lb==INF || ub==-INF) {
   267     if (lb==INF || ub==-INF) {