alpar@1254: /* -*- C++ -*- alpar@1254: * alpar@1956: * This file is a part of LEMON, a generic C++ optimization library alpar@1956: * alpar@2391: * Copyright (C) 2003-2007 alpar@1956: * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport alpar@1359: * (Egervary Research Group on Combinatorial Optimization, 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@1313: #include alpar@1254: alpar@1254: ///\file alpar@1254: ///\brief A skeleton file to implement LP solver interfaces alpar@1254: namespace lemon { alpar@1254: alpar@1364: LpSolverBase &LpSkeleton::_newLp() alpar@1364: { alpar@1368: LpSolverBase *tmp=0; alpar@1368: return *tmp; alpar@1364: } alpar@1364: alpar@1364: LpSolverBase &LpSkeleton::_copyLp() alpar@1364: { alpar@1368: LpSolverBase *tmp=0; alpar@1368: return *tmp; alpar@1364: } alpar@1364: alpar@1313: int LpSkeleton::_addCol() alpar@1254: { alpar@1273: return ++col_num; alpar@1254: } alpar@1254: alpar@1313: int LpSkeleton::_addRow() alpar@1254: { alpar@1273: return ++row_num; alpar@1254: } alpar@1254: athos@1432: void LpSkeleton::_eraseCol(int ) { athos@1432: } athos@1432: athos@1432: void LpSkeleton::_eraseRow(int) { athos@1432: } athos@1432: deba@2366: void LpSkeleton::_getColName(int, std::string &) const { alpar@1895: } alpar@1895: alpar@1895: alpar@1895: void LpSkeleton::_setColName(int, const std::string &) { alpar@1895: } deba@2366: deba@2366: int LpSkeleton::_colByName(const std::string&) const { return -1; } alpar@1895: alpar@1895: deba@2364: void LpSkeleton::_setRowCoeffs(int, ConstRowIterator, ConstRowIterator) { deba@2364: } deba@2364: deba@2366: void LpSkeleton::_getRowCoeffs(int, RowIterator) const { alpar@1254: } alpar@1254: deba@2364: void LpSkeleton::_setColCoeffs(int, ConstColIterator, ConstColIterator) { deba@2364: } deba@2364: deba@2366: void LpSkeleton::_getColCoeffs(int, ColIterator) const { alpar@1254: } athos@1431: athos@1431: void LpSkeleton::_setCoeff(int, int, Value ) athos@1431: { athos@1431: } athos@1431: deba@2366: LpSkeleton::Value LpSkeleton::_getCoeff(int, int) const athos@2324: { athos@2324: return 0; athos@2324: } athos@2324: athos@1431: alpar@1362: void LpSkeleton::_setColLowerBound(int, Value) alpar@1254: { alpar@1254: } alpar@1254: deba@2366: LpSkeleton::Value LpSkeleton::_getColLowerBound(int) const athos@2328: { athos@2328: return 0; athos@2328: } athos@2328: alpar@1362: void LpSkeleton::_setColUpperBound(int, Value) alpar@1254: { alpar@1254: } athos@2328: deba@2366: LpSkeleton::Value LpSkeleton::_getColUpperBound(int) const athos@2328: { athos@2328: return 0; athos@2328: } alpar@1254: athos@1405: // void LpSkeleton::_setRowLowerBound(int, Value) athos@1405: // { athos@1405: // } alpar@1254: athos@1405: // void LpSkeleton::_setRowUpperBound(int, Value) athos@1405: // { athos@1405: // } athos@1389: alpar@1390: void LpSkeleton::_setRowBounds(int, Value, Value) athos@1389: { athos@1389: } athos@2328: deba@2366: void LpSkeleton::_getRowBounds(int, Value&, Value&) const athos@2328: { athos@2328: } alpar@1254: alpar@1362: void LpSkeleton::_setObjCoeff(int, Value) alpar@1254: { alpar@1254: } alpar@1263: deba@2366: LpSkeleton::Value LpSkeleton::_getObjCoeff(int) const deba@2366: { athos@2324: return 0; athos@2324: } athos@2324: alpar@1313: void LpSkeleton::_setMax() alpar@1312: { alpar@1312: } alpar@1390: alpar@1313: void LpSkeleton::_setMin() alpar@1312: { alpar@1312: } alpar@1312: deba@2366: bool LpSkeleton::_isMax() const athos@2324: { athos@2324: return true; athos@2324: } athos@2324: athos@2324: alpar@1390: void LpSkeleton::_clearObj() alpar@1390: { alpar@1390: } alpar@1390: alpar@1313: LpSkeleton::SolveExitStatus LpSkeleton::_solve() alpar@1263: { alpar@1293: return SOLVED; alpar@1263: } alpar@1263: deba@2366: LpSkeleton::Value LpSkeleton::_getPrimal(int) const alpar@1263: { alpar@1263: return 0; alpar@1263: } alpar@1254: deba@2366: LpSkeleton::Value LpSkeleton::_getDual(int) const klao@1796: { klao@1796: return 0; klao@1796: } klao@1796: deba@2366: LpSkeleton::Value LpSkeleton::_getPrimalValue() const alpar@1312: { alpar@1312: return 0; alpar@1312: } alpar@1312: deba@2366: LpSkeleton::SolutionStatus LpSkeleton::_getPrimalStatus() const alpar@1294: { athos@1460: return UNDEFINED; athos@1460: } athos@1460: deba@2366: LpSkeleton::SolutionStatus LpSkeleton::_getDualStatus() const athos@1460: { athos@1460: return UNDEFINED; athos@1460: } athos@1460: deba@2366: LpSkeleton::ProblemTypes LpSkeleton::_getProblemType() const athos@1460: { athos@1460: return UNKNOWN; alpar@1294: } alpar@1843: deba@2366: bool LpSkeleton::_isBasicCol(int) const alpar@1843: { alpar@1843: return true; alpar@1843: } alpar@1843: alpar@1254: } //namespace lemon alpar@1254: