alpar@1254: /* -*- C++ -*- alpar@1254: * src/lemon/lp_solver_skeleton.h alpar@1254: * - Part of LEMON, a generic C++ optimization library alpar@1254: * alpar@1254: * Copyright (C) 2005 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport alpar@1254: * (Egervary Combinatorial Optimization Research Group, EGRES). alpar@1254: * alpar@1254: * Permission to use, modify and distribute this software is granted alpar@1254: * provided that this copyright notice appears in all copies. For alpar@1254: * precise terms see the accompanying LICENSE file. alpar@1254: * alpar@1254: * This software is provided "AS IS" with no warranty of any kind, alpar@1254: * express or implied, and with no claim as to its suitability for any alpar@1254: * purpose. alpar@1254: * alpar@1254: */ alpar@1254: alpar@1254: #ifndef LEMON_LP_SOLVER_SKELETON alpar@1254: #define LEMON_LP_SOLVER_SKELETON alpar@1254: alpar@1254: #include"lp_base.h" alpar@1254: alpar@1254: ///\file alpar@1254: ///\brief A skeleton file to implement LP solver interfaces alpar@1254: namespace lemon { alpar@1254: alpar@1254: ///A skeleton class to implement LP solver interfaces alpar@1254: class LpSolverSkeleton :public LpSolverBase { alpar@1273: int col_num,row_num; alpar@1273: alpar@1254: protected: alpar@1254: virtual int _addCol(); alpar@1254: virtual int _addRow(); alpar@1254: virtual void _setRowCoeffs(int i, alpar@1254: int length, alpar@1254: int const * indices, alpar@1254: Value const * values ); alpar@1254: virtual void _setColCoeffs(int i, alpar@1254: int length, alpar@1254: int const * indices, alpar@1254: Value const * values); alpar@1254: virtual void _setColLowerBound(int i, Value value); alpar@1254: virtual void _setColUpperBound(int i, Value value); alpar@1254: virtual void _setRowLowerBound(int i, Value value); alpar@1254: virtual void _setRowUpperBound(int i, Value value); alpar@1254: virtual void _setObjCoeff(int i, Value obj_coef); alpar@1293: virtual SolutionStatus _solve(); alpar@1293: virtual Value _getPrimal(int i); alpar@1273: public: alpar@1273: LpSolverSkeleton() : LpSolverBase(), col_num(0), row_num(0) {} alpar@1254: }; alpar@1254: alpar@1254: } //namespace lemon alpar@1254: alpar@1254: #endif // LEMON_LP_SOLVER_SKELETON