lemon/clp.h
changeset 489 2a136de8e3f2
parent 461 08d495d48089
child 540 9db62975c32b
equal deleted inserted replaced
0:4c4fa931638f 1:b4eee1a4a122
    37   ///
    37   ///
    38   /// This class implements an interface for the Clp LP solver.  The
    38   /// This class implements an interface for the Clp LP solver.  The
    39   /// Clp library is an object oriented lp solver library developed at
    39   /// Clp library is an object oriented lp solver library developed at
    40   /// the IBM. The CLP is part of the COIN-OR package and it can be
    40   /// the IBM. The CLP is part of the COIN-OR package and it can be
    41   /// used with Common Public License.
    41   /// used with Common Public License.
    42   class LpClp : public LpSolver {
    42   class ClpLp : public LpSolver {
    43   protected:
    43   protected:
    44 
    44 
    45     ClpSimplex* _prob;
    45     ClpSimplex* _prob;
    46 
    46 
    47     std::map<std::string, int> _col_names_ref;
    47     std::map<std::string, int> _col_names_ref;
    48     std::map<std::string, int> _row_names_ref;
    48     std::map<std::string, int> _row_names_ref;
    49 
    49 
    50   public:
    50   public:
    51 
    51 
    52     /// \e
    52     /// \e
    53     LpClp();
    53     ClpLp();
    54     /// \e
    54     /// \e
    55     LpClp(const LpClp&);
    55     ClpLp(const ClpLp&);
    56     /// \e
    56     /// \e
    57     ~LpClp();
    57     ~ClpLp();
    58 
    58 
    59   protected:
    59   protected:
    60 
    60 
    61     mutable double* _primal_ray;
    61     mutable double* _primal_ray;
    62     mutable double* _dual_ray;
    62     mutable double* _dual_ray;
    64     void _init_temporals();
    64     void _init_temporals();
    65     void _clear_temporals();
    65     void _clear_temporals();
    66 
    66 
    67   protected:
    67   protected:
    68 
    68 
    69     virtual LpClp* _newSolver() const;
    69     virtual ClpLp* _newSolver() const;
    70     virtual LpClp* _cloneSolver() const;
    70     virtual ClpLp* _cloneSolver() const;
    71 
    71 
    72     virtual const char* _solverName() const;
    72     virtual const char* _solverName() const;
    73 
    73 
    74     virtual int _addCol();
    74     virtual int _addCol();
    75     virtual int _addRow();
    75     virtual int _addRow();