src/work/athos/lp/lp_solver_skeleton.h
author alpar
Fri, 25 Mar 2005 16:19:03 +0000
changeset 1263 a490938ad0aa
parent 1254 c9558638fe42
child 1273 2b2ffa625775
permissions -rw-r--r--
- LpGlpk added to the makefile
- missing const_cast<>() added
- prop for two new functions (solve() and solution())
     1 /* -*- C++ -*-
     2  * src/lemon/lp_solver_skeleton.h
     3  * - Part of LEMON, a generic C++ optimization library
     4  *
     5  * Copyright (C) 2005 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     6  * (Egervary Combinatorial Optimization Research Group, EGRES).
     7  *
     8  * Permission to use, modify and distribute this software is granted
     9  * provided that this copyright notice appears in all copies. For
    10  * precise terms see the accompanying LICENSE file.
    11  *
    12  * This software is provided "AS IS" with no warranty of any kind,
    13  * express or implied, and with no claim as to its suitability for any
    14  * purpose.
    15  *
    16  */
    17 
    18 #ifndef LEMON_LP_SOLVER_SKELETON
    19 #define LEMON_LP_SOLVER_SKELETON
    20 
    21 #include"lp_base.h"
    22 
    23 ///\file
    24 ///\brief A skeleton file to implement LP solver interfaces
    25 namespace lemon {
    26   
    27   ///A skeleton class to implement LP solver interfaces
    28   class LpSolverSkeleton :public LpSolverBase {
    29 
    30   protected:
    31     virtual int _addCol();
    32     virtual int _addRow();
    33     virtual void _setRowCoeffs(int i, 
    34 			       int length,
    35                                int  const * indices, 
    36                                Value  const * values );
    37     virtual void _setColCoeffs(int i, 
    38 			       int length,
    39                                int  const * indices, 
    40                                Value  const * values);
    41     virtual void _setColLowerBound(int i, Value value);
    42     virtual void _setColUpperBound(int i, Value value);
    43     virtual void _setRowLowerBound(int i, Value value);
    44     virtual void _setRowUpperBound(int i, Value value);
    45     virtual void _setObjCoeff(int i, Value obj_coef);
    46     virtual SolutionType _solve();
    47     virtual Value _getSolution(int i);
    48 
    49   };  
    50 
    51 } //namespace lemon
    52 
    53 #endif // LEMON_LP_SOLVER_SKELETON