lemon/lp_soplex.h
changeset 2366 bfbdded3763a
parent 2364 3a5e67bd42d2
child 2370 ed6539025f27
     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