[Lemon-commits] [lemon_svn] athos: r1828 - hugo/trunk/src/lemon
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 20:48:01 CET 2006
Author: athos
Date: Thu Apr 21 17:15:12 2005
New Revision: 1828
Modified:
hugo/trunk/src/lemon/lp_base.h
hugo/trunk/src/lemon/lp_glpk.cc
hugo/trunk/src/lemon/lp_glpk.h
Log:
I really have no idea about what to write here now.
Modified: hugo/trunk/src/lemon/lp_base.h
==============================================================================
--- hugo/trunk/src/lemon/lp_base.h (original)
+++ hugo/trunk/src/lemon/lp_base.h Thu Apr 21 17:15:12 2005
@@ -433,6 +433,7 @@
virtual void _setColUpperBound(int i, Value value) = 0;
virtual void _setRowLowerBound(int i, Value value) = 0;
virtual void _setRowUpperBound(int i, Value value) = 0;
+ virtual void _setRowBounds(int i, Value lower, Value upper) = 0;
virtual void _setObjCoeff(int i, Value obj_coef) = 0;
virtual void _clearObj()=0;
// virtual void _setObj(int length,
@@ -655,8 +656,8 @@
/// extended number of type Value, i.e. a finite number of type
/// Value, -\ref INF or \ref INF.
void rowBounds(Row c, Value lower, Value upper) {
- _setRowLowerBound(rows.floatingId(c.id),lower);
- _setRowUpperBound(rows.floatingId(c.id),upper);
+ _setRowBounds(rows.floatingId(c.id),lower, upper);
+ // _setRowUpperBound(rows.floatingId(c.id),upper);
}
///Set an element of the objective function
Modified: hugo/trunk/src/lemon/lp_glpk.cc
==============================================================================
--- hugo/trunk/src/lemon/lp_glpk.cc (original)
+++ hugo/trunk/src/lemon/lp_glpk.cc Thu Apr 21 17:15:12 2005
@@ -260,6 +260,38 @@
}
}
}
+
+ void LpGlpk::_setRowBounds(int i, Value lb, Value ub)
+ {
+ //Bad parameter
+ if (lb==INF || ub==-INF) {
+ //FIXME error
+ }
+
+ if (lb == -INF){
+ if (ub == INF){
+ lpx_set_row_bnds(lp, i, LPX_FR, lb, ub);
+ }
+ else{
+ lpx_set_row_bnds(lp, i, LPX_UP, lb, ub);
+ }
+ }
+ else{
+ if (ub==INF){
+ lpx_set_row_bnds(lp, i, LPX_LO, lb, ub);
+
+ }
+ else{
+ if (lb == ub){
+ lpx_set_row_bnds(lp, i, LPX_FX, lb, ub);
+ }
+ else{
+ lpx_set_row_bnds(lp, i, LPX_DB, lb, ub);
+ }
+ }
+ }
+
+ }
void LpGlpk::_setObjCoeff(int i, Value obj_coef)
{
Modified: hugo/trunk/src/lemon/lp_glpk.h
==============================================================================
--- hugo/trunk/src/lemon/lp_glpk.h (original)
+++ hugo/trunk/src/lemon/lp_glpk.h Thu Apr 21 17:15:12 2005
@@ -62,6 +62,7 @@
virtual void _setColUpperBound(int i, Value value);
virtual void _setRowLowerBound(int i, Value value);
virtual void _setRowUpperBound(int i, Value value);
+ virtual void _setRowBounds(int i, Value lower, Value upper);
virtual void _setObjCoeff(int i, Value obj_coef);
virtual void _clearObj();
// virtual void _setObj(int length,
More information about the Lemon-commits
mailing list