[Lemon-commits] [lemon_svn] alpar: r1726 - hugo/trunk/src/work/athos/lp
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 20:47:12 CET 2006
Author: alpar
Date: Fri Apr 1 21:50:29 2005
New Revision: 1726
Modified:
hugo/trunk/src/work/athos/lp/lp_base.h
hugo/trunk/src/work/athos/lp/lp_glpk.cc
hugo/trunk/src/work/athos/lp/lp_glpk.h
hugo/trunk/src/work/athos/lp/lp_solver_skeleton.cc
hugo/trunk/src/work/athos/lp/lp_solver_skeleton.h
hugo/trunk/src/work/athos/lp/lp_test.cc
Log:
- Make lp stuff compilable
- Some 'set's removed
Modified: hugo/trunk/src/work/athos/lp/lp_base.h
==============================================================================
--- hugo/trunk/src/work/athos/lp/lp_base.h (original)
+++ hugo/trunk/src/work/athos/lp/lp_base.h Fri Apr 1 21:50:29 2005
@@ -105,27 +105,23 @@
public:
///\e
- enum SolutionXXXType {
+ enum SolutionStatus {
///\e
- INFEASIBLE = 0,
+ SOLVED = 0,
///\e
- UNBOUNDED = 1,
- ///\e
- OPTIMAL = 2,
- ///\e
- FEASIBLE = 3
+ UNSOLVED = 1
};
///\e
enum SolutionType {
///\e
- INFEASIBLE = 0,
+ UNDEFINED = 0,
///\e
- UNDEFINED = 1,
+ INFEASIBLE = 1,
///\e
- OPTIMAL = 2,
+ FEASIBLE = 2,
///\e
- FEASIBLE = 3
+ OPTIMAL = 3
};
///The floating point type used by the solver
@@ -418,13 +414,13 @@
///\bug Wrong interface
///
- virtual SolutionXXXType _solve() = 0;
+ virtual SolutionStatus _solve() = 0;
///\e
///\bug Wrong interface
///
- virtual Value _getSolution(int i) = 0;
+ virtual Value _getPrimal(int i) = 0;
///\e
///\bug unimplemented!!!!
@@ -575,38 +571,60 @@
/// Set the lower bound of a column (i.e a variable)
- /// The upper bound of a variable (column) have to be given by an
+ /// The upper bound of a variable (column) has to be given by an
/// extended number of type Value, i.e. a finite number of type
/// Value or -\ref INF.
- void setColLowerBound(Col c, Value value) {
+ void colLowerBound(Col c, Value value) {
_setColLowerBound(cols.floatingId(c.id),value);
}
/// Set the upper bound of a column (i.e a variable)
- /// The upper bound of a variable (column) have to be given by an
+ /// The upper bound of a variable (column) has to be given by an
/// extended number of type Value, i.e. a finite number of type
/// Value or \ref INF.
- void setColUpperBound(Col c, Value value) {
+ void colUpperBound(Col c, Value value) {
_setColUpperBound(cols.floatingId(c.id),value);
};
+ /// Set the lower and the upper bounds of a column (i.e a variable)
+
+ /// The lower and the upper bounds of
+ /// a variable (column) have to be given by an
+ /// extended number of type Value, i.e. a finite number of type
+ /// Value, -\ref INF or \ref INF.
+ void colBounds(Col c, Value lower, Value upper) {
+ _setColLowerBound(cols.floatingId(c.id),lower);
+ _setColUpperBound(cols.floatingId(c.id),upper);
+ }
+
/// Set the lower bound of a row (i.e a constraint)
- /// The lower bound of a linear expression (row) have to be given by an
+ /// The lower bound of a linear expression (row) has to be given by an
/// extended number of type Value, i.e. a finite number of type
/// Value or -\ref INF.
- void setRowLowerBound(Row r, Value value) {
+ void rowLowerBound(Row r, Value value) {
_setRowLowerBound(rows.floatingId(r.id),value);
};
/// Set the upper bound of a row (i.e a constraint)
- /// The upper bound of a linear expression (row) have to be given by an
+ /// The upper bound of a linear expression (row) has to be given by an
/// extended number of type Value, i.e. a finite number of type
/// Value or \ref INF.
- void setRowUpperBound(Row r, Value value) {
+ void rowUpperBound(Row r, Value value) {
_setRowUpperBound(rows.floatingId(r.id),value);
};
+ /// Set the lower and the upper bounds of a row (i.e a variable)
+
+ /// The lower and the upper bounds of
+ /// a constraint (row) have to be given by an
+ /// 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);
+ }
+
///Set an element of the objective function
- void setObjCoeff(Col c, Value v) {_setObjCoeff(cols.floatingId(c.id),v); };
+ void objCoeff(Col c, Value v) {_setObjCoeff(cols.floatingId(c.id),v); };
///Set the objective function
///\param e is a linear expression of type \ref Expr.
@@ -614,7 +632,7 @@
void setObj(Expr e) {
clearObj();
for (Expr::iterator i=e.begin(); i!=e.end(); ++i)
- setObjCoeff((*i).first,(*i).second);
+ objCoeff((*i).first,(*i).second);
}
///@}
@@ -625,7 +643,7 @@
///@{
///\e
- SolutionType solve() { return _solve(); }
+ SolutionStatus solve() { return _solve(); }
///@}
@@ -634,7 +652,7 @@
///@{
///\e
- Value solution(Col c) { return _getSolution(cols.floatingId(c.id)); }
+ Value primal(Col c) { return _getPrimal(cols.floatingId(c.id)); }
///@}
Modified: hugo/trunk/src/work/athos/lp/lp_glpk.cc
==============================================================================
--- hugo/trunk/src/work/athos/lp/lp_glpk.cc (original)
+++ hugo/trunk/src/work/athos/lp/lp_glpk.cc Fri Apr 1 21:50:29 2005
@@ -238,12 +238,12 @@
}
- LpGlpk::SolutionType LpGlpk::_solve()
+ LpGlpk::SolutionStatus LpGlpk::_solve()
{
- return OPTIMAL;
+ return SOLVED;
}
- LpGlpk::Value LpGlpk::_getSolution(int i)
+ LpGlpk::Value LpGlpk::_getPrimal(int i)
{
return 0;
}
Modified: hugo/trunk/src/work/athos/lp/lp_glpk.h
==============================================================================
--- hugo/trunk/src/work/athos/lp/lp_glpk.h (original)
+++ hugo/trunk/src/work/athos/lp/lp_glpk.h Fri Apr 1 21:50:29 2005
@@ -70,12 +70,12 @@
///\bug Unimplemented
///
- virtual SolutionType _solve();
+ virtual SolutionStatus _solve();
///\e
///\bug Unimplemented
///
- virtual Value _getSolution(int i);
+ virtual Value _getPrimal(int i);
};
} //END OF NAMESPACE LEMON
Modified: hugo/trunk/src/work/athos/lp/lp_solver_skeleton.cc
==============================================================================
--- hugo/trunk/src/work/athos/lp/lp_solver_skeleton.cc (original)
+++ hugo/trunk/src/work/athos/lp/lp_solver_skeleton.cc Fri Apr 1 21:50:29 2005
@@ -65,12 +65,12 @@
{
}
- LpSolverSkeleton::SolutionType LpSolverSkeleton::_solve()
+ LpSolverSkeleton::SolutionStatus LpSolverSkeleton::_solve()
{
- return OPTIMAL;
+ return SOLVED;
}
- LpSolverSkeleton::Value LpSolverSkeleton::_getSolution(int i)
+ LpSolverSkeleton::Value LpSolverSkeleton::_getPrimal(int i)
{
return 0;
}
Modified: hugo/trunk/src/work/athos/lp/lp_solver_skeleton.h
==============================================================================
--- hugo/trunk/src/work/athos/lp/lp_solver_skeleton.h (original)
+++ hugo/trunk/src/work/athos/lp/lp_solver_skeleton.h Fri Apr 1 21:50:29 2005
@@ -44,8 +44,8 @@
virtual void _setRowLowerBound(int i, Value value);
virtual void _setRowUpperBound(int i, Value value);
virtual void _setObjCoeff(int i, Value obj_coef);
- virtual SolutionType _solve();
- virtual Value _getSolution(int i);
+ virtual SolutionStatus _solve();
+ virtual Value _getPrimal(int i);
public:
LpSolverSkeleton() : LpSolverBase(), col_num(0), row_num(0) {}
};
Modified: hugo/trunk/src/work/athos/lp/lp_test.cc
==============================================================================
--- hugo/trunk/src/work/athos/lp/lp_test.cc (original)
+++ hugo/trunk/src/work/athos/lp/lp_test.cc Fri Apr 1 21:50:29 2005
@@ -143,8 +143,8 @@
lp.addColSet(x);
for(EdgeIt e(g);e!=INVALID;++e) {
- lp.setColUpperBound(x[e],cap[e]);
- lp.setColLowerBound(x[e],0);
+ lp.colUpperBound(x[e],cap[e]);
+ lp.colLowerBound(x[e],0);
}
for(NodeIt n(g);n!=INVALID;++n) if(n!=s&&n!=t) {
More information about the Lemon-commits
mailing list