1.1 --- a/src/lemon/lp_cplex.h Sat May 21 21:04:57 2005 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,112 +0,0 @@
1.4 -/* -*- C++ -*-
1.5 - * src/lemon/lp_cplex.h - Part of LEMON, a generic C++ optimization library
1.6 - *
1.7 - * Copyright (C) 2005 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
1.8 - * (Egervary Research Group on Combinatorial Optimization, EGRES).
1.9 - *
1.10 - * Permission to use, modify and distribute this software is granted
1.11 - * provided that this copyright notice appears in all copies. For
1.12 - * precise terms see the accompanying LICENSE file.
1.13 - *
1.14 - * This software is provided "AS IS" with no warranty of any kind,
1.15 - * express or implied, and with no claim as to its suitability for any
1.16 - * purpose.
1.17 - *
1.18 - */
1.19 -
1.20 -#ifndef LEMON_LP_CPLEX_H
1.21 -#define LEMON_LP_CPLEX_H
1.22 -
1.23 -///\file
1.24 -///\brief Header of the LEMON-CPLEX lp solver interface.
1.25 -
1.26 -#include <lemon/lp_base.h>
1.27 -
1.28 -extern "C" {
1.29 -#include <ilcplex/cplex.h>
1.30 -}
1.31 -
1.32 -namespace lemon {
1.33 -
1.34 -
1.35 - /// \brief Interface for the CPLEX solver
1.36 - ///
1.37 - /// This class implements an interface for the CPLEX LP solver.
1.38 - class LpCplex : public LpSolverBase {
1.39 -
1.40 - public:
1.41 -
1.42 - typedef LpSolverBase Parent;
1.43 -
1.44 - /// \e
1.45 - int status;
1.46 - CPXENVptr env;
1.47 - CPXLPptr lp;
1.48 -
1.49 -
1.50 - /// \e
1.51 - LpCplex();
1.52 - /// \e
1.53 - ~LpCplex();
1.54 -
1.55 - protected:
1.56 - virtual LpSolverBase &_newLp();
1.57 - virtual LpSolverBase &_copyLp();
1.58 -
1.59 - virtual int _addCol();
1.60 - virtual int _addRow();
1.61 - virtual void _eraseCol(int i);
1.62 - virtual void _eraseRow(int i);
1.63 - virtual void _setRowCoeffs(int i,
1.64 - int length,
1.65 - const int * indices,
1.66 - const Value * values );
1.67 - virtual void _setColCoeffs(int i,
1.68 - int length,
1.69 - const int * indices,
1.70 - const Value * values);
1.71 - virtual void _setCoeff(int row, int col, Value value);
1.72 - virtual void _setColLowerBound(int i, Value value);
1.73 - virtual void _setColUpperBound(int i, Value value);
1.74 -// virtual void _setRowLowerBound(int i, Value value);
1.75 -// virtual void _setRowUpperBound(int i, Value value);
1.76 - virtual void _setRowBounds(int i, Value lower, Value upper);
1.77 - virtual void _setObjCoeff(int i, Value obj_coef);
1.78 - virtual void _clearObj();
1.79 - ///\e
1.80 -
1.81 - ///\bug Unimplemented
1.82 - ///
1.83 - virtual SolveExitStatus _solve();
1.84 - ///\e
1.85 -
1.86 - ///\bug Unimplemented
1.87 - ///
1.88 - virtual Value _getPrimal(int i);
1.89 - ///\e
1.90 -
1.91 - ///\bug Unimplemented
1.92 - ///
1.93 - virtual Value _getPrimalValue();
1.94 - ///\e
1.95 -
1.96 - ///\bug Unimplemented
1.97 - ///
1.98 - virtual SolutionStatus _getPrimalStatus();
1.99 -
1.100 - ///\e
1.101 -
1.102 - ///\bug Unimplemented
1.103 - ///
1.104 - virtual void _setMax();
1.105 - ///\e
1.106 -
1.107 - ///\bug Unimplemented
1.108 - ///
1.109 - virtual void _setMin();
1.110 -
1.111 - };
1.112 -} //END OF NAMESPACE LEMON
1.113 -
1.114 -#endif //LEMON_LP_CPLEX_H
1.115 -