athos@2219: /* -*- C++ -*- athos@2219: * athos@2219: * This file is a part of LEMON, a generic C++ optimization library athos@2219: * alpar@2391: * Copyright (C) 2003-2007 athos@2219: * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport athos@2219: * (Egervary Research Group on Combinatorial Optimization, EGRES). athos@2219: * athos@2219: * Permission to use, modify and distribute this software is granted athos@2219: * provided that this copyright notice appears in all copies. For athos@2219: * precise terms see the accompanying LICENSE file. athos@2219: * athos@2219: * This software is provided "AS IS" with no warranty of any kind, athos@2219: * express or implied, and with no claim as to its suitability for any athos@2219: * purpose. athos@2219: * athos@2219: */ athos@2219: athos@2219: #ifndef LEMON_MIP_CPLEX_H athos@2219: #define LEMON_MIP_CPLEX_H athos@2219: athos@2219: ///\file athos@2219: ///\brief Header of the LEMON-CPLEX mip solver interface. deba@2370: ///\ingroup lp_group athos@2219: athos@2219: athos@2219: #include athos@2219: athos@2219: namespace lemon { athos@2219: athos@2219: /// \brief Interface for the CPLEX MIP solver athos@2219: /// athos@2219: /// This class implements an interface for the CPLEX MIP solver. deba@2370: ///\ingroup lp_group athos@2219: class MipCplex : public MipSolverBase, public LpCplex{ athos@2219: athos@2219: public: athos@2219: athos@2219: typedef MipSolverBase ParentMip; athos@2219: typedef LpCplex ParentLp; athos@2219: athos@2219: MipCplex(); athos@2219: //~MipCplex(); athos@2219: athos@2219: athos@2219: athos@2219: athos@2219: protected: athos@2219: deba@2366: virtual ColTypes _colType(int col) const; athos@2219: virtual void _colType(int col, ColTypes col_type); athos@2219: athos@2219: virtual LpCplex::SolveExitStatus _solve(); deba@2366: virtual LpCplex::SolutionStatus _getMipStatus() const; deba@2366: virtual ParentLp::Value _getPrimal(int i) const; deba@2366: virtual ParentLp::Value _getPrimalValue() const; athos@2219: }; athos@2219: athos@2219: } //END OF NAMESPACE LEMON athos@2219: athos@2219: #endif // END OF LEMON_MIP_CPLEX_H