lemon/glpk.h
changeset 587 9db62975c32b
parent 485 9b082b3fb33f
child 588 89e29e22d479
equal deleted inserted replaced
1:d1dbef73c4dc 4:e347af1ffd95
   117 
   117 
   118   /// \brief Interface for the GLPK LP solver
   118   /// \brief Interface for the GLPK LP solver
   119   ///
   119   ///
   120   /// This class implements an interface for the GLPK LP solver.
   120   /// This class implements an interface for the GLPK LP solver.
   121   ///\ingroup lp_group
   121   ///\ingroup lp_group
   122   class GlpkLp : public GlpkBase, public LpSolver {
   122   class GlpkLp : public LpSolver, public GlpkBase {
   123   public:
   123   public:
   124 
   124 
   125     ///\e
   125     ///\e
   126     GlpkLp();
   126     GlpkLp();
   127     ///\e
   127     ///\e
   128     GlpkLp(const GlpkLp&);
   128     GlpkLp(const GlpkLp&);
       
   129 
       
   130     ///\e
       
   131     virtual GlpkLp* cloneSolver() const;
       
   132     ///\e
       
   133     virtual GlpkLp* newSolver() const;
   129 
   134 
   130   private:
   135   private:
   131 
   136 
   132     mutable std::vector<double> _primal_ray;
   137     mutable std::vector<double> _primal_ray;
   133     mutable std::vector<double> _dual_ray;
   138     mutable std::vector<double> _dual_ray;
   134 
   139 
   135     void _clear_temporals();
   140     void _clear_temporals();
   136 
   141 
   137   protected:
   142   protected:
   138 
       
   139     virtual GlpkLp* _cloneSolver() const;
       
   140     virtual GlpkLp* _newSolver() const;
       
   141 
   143 
   142     virtual const char* _solverName() const;
   144     virtual const char* _solverName() const;
   143 
   145 
   144     virtual SolveExitStatus _solve();
   146     virtual SolveExitStatus _solve();
   145     virtual Value _getPrimal(int i) const;
   147     virtual Value _getPrimal(int i) const;
   201 
   203 
   202   /// \brief Interface for the GLPK MIP solver
   204   /// \brief Interface for the GLPK MIP solver
   203   ///
   205   ///
   204   /// This class implements an interface for the GLPK MIP solver.
   206   /// This class implements an interface for the GLPK MIP solver.
   205   ///\ingroup lp_group
   207   ///\ingroup lp_group
   206   class GlpkMip : public GlpkBase, public MipSolver {
   208   class GlpkMip : public MipSolver, public GlpkBase {
   207   public:
   209   public:
   208 
   210 
   209     ///\e
   211     ///\e
   210     GlpkMip();
   212     GlpkMip();
   211     ///\e
   213     ///\e
   212     GlpkMip(const GlpkMip&);
   214     GlpkMip(const GlpkMip&);
   213 
   215 
   214   protected:
   216     virtual GlpkMip* cloneSolver() const;
   215 
   217     virtual GlpkMip* newSolver() const;
   216     virtual GlpkMip* _cloneSolver() const;
   218 
   217     virtual GlpkMip* _newSolver() const;
   219   protected:
   218 
   220 
   219     virtual const char* _solverName() const;
   221     virtual const char* _solverName() const;
   220 
   222 
   221     virtual ColTypes _getColType(int col) const;
   223     virtual ColTypes _getColType(int col) const;
   222     virtual void _setColType(int col, ColTypes col_type);
   224     virtual void _setColType(int col, ColTypes col_type);