1.1 --- a/lemon/lp_soplex.h Fri Feb 16 15:57:48 2007 +0000
1.2 +++ b/lemon/lp_soplex.h Fri Feb 16 19:11:31 2007 +0000
1.3 @@ -34,9 +34,15 @@
1.4
1.5 namespace lemon {
1.6
1.7 + /// \ingroup gen_opt_group
1.8 + ///
1.9 /// \brief Interface for the SOPLEX solver
1.10 ///
1.11 - /// This class implements an interface for the SOPLEX LP solver.
1.12 + /// This class implements an interface for the SoPlex LP solver.
1.13 + /// The SoPlex library is an object oriented lp solver library
1.14 + /// developed at the Konrad-Zuse-Zentrum für Informationstechnik
1.15 + /// Berlin (ZIB). You can find detailed information about it at the
1.16 + /// <tt>http://soplex.zib.de</tt> address.
1.17 class LpSoplex :virtual public LpSolverBase {
1.18 protected:
1.19
1.20 @@ -46,6 +52,7 @@
1.21 bool solved;
1.22
1.23 std::vector<std::string> colNames;
1.24 + std::map<std::string, int> invColNames;
1.25
1.26 std::vector<Value> primal_value;
1.27 std::vector<Value> dual_value;
1.28 @@ -70,38 +77,39 @@
1.29 virtual int _addRow();
1.30 virtual void _eraseCol(int i);
1.31 virtual void _eraseRow(int i);
1.32 - virtual void _getColName(int col, std::string & name);
1.33 + virtual void _getColName(int col, std::string & name) const;
1.34 virtual void _setColName(int col, const std::string & name);
1.35 + virtual int _colByName(const std::string& name) const;
1.36 virtual void _setRowCoeffs(int i, ConstRowIterator b, ConstRowIterator e);
1.37 - virtual void _getRowCoeffs(int i, RowIterator b);
1.38 + virtual void _getRowCoeffs(int i, RowIterator b) const;
1.39 virtual void _setColCoeffs(int i, ConstColIterator b, ConstColIterator e);
1.40 - virtual void _getColCoeffs(int i, ColIterator b);
1.41 + virtual void _getColCoeffs(int i, ColIterator b) const;
1.42 virtual void _setCoeff(int row, int col, Value value);
1.43 - virtual Value _getCoeff(int row, int col);
1.44 + virtual Value _getCoeff(int row, int col) const;
1.45 virtual void _setColLowerBound(int i, Value value);
1.46 - virtual Value _getColLowerBound(int i);
1.47 + virtual Value _getColLowerBound(int i) const;
1.48 virtual void _setColUpperBound(int i, Value value);
1.49 - virtual Value _getColUpperBound(int i);
1.50 + virtual Value _getColUpperBound(int i) const;
1.51 virtual void _setRowBounds(int i, Value lower, Value upper);
1.52 - virtual void _getRowBounds(int i, Value &lower, Value &upper);
1.53 + virtual void _getRowBounds(int i, Value &lower, Value &upper) const;
1.54 virtual void _setObjCoeff(int i, Value obj_coef);
1.55 - virtual Value _getObjCoeff(int i);
1.56 + virtual Value _getObjCoeff(int i) const;
1.57 virtual void _clearObj();
1.58
1.59 virtual SolveExitStatus _solve();
1.60 - virtual Value _getPrimal(int i);
1.61 - virtual Value _getDual(int i);
1.62 - virtual Value _getPrimalValue();
1.63 - virtual bool _isBasicCol(int i);
1.64 + virtual Value _getPrimal(int i) const;
1.65 + virtual Value _getDual(int i) const;
1.66 + virtual Value _getPrimalValue() const;
1.67 + virtual bool _isBasicCol(int i) const;
1.68
1.69 - virtual SolutionStatus _getPrimalStatus();
1.70 - virtual SolutionStatus _getDualStatus();
1.71 - virtual ProblemTypes _getProblemType();
1.72 + virtual SolutionStatus _getPrimalStatus() const;
1.73 + virtual SolutionStatus _getDualStatus() const;
1.74 + virtual ProblemTypes _getProblemType() const;
1.75
1.76
1.77 virtual void _setMax();
1.78 virtual void _setMin();
1.79 - virtual bool _isMax();
1.80 + virtual bool _isMax() const;
1.81
1.82 };
1.83 } //END OF NAMESPACE LEMON