CoinUtils
trunk
|
00001 /* $Id$ */ 00002 // Copyright (C) 2002, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 // This code is licensed under the terms of the Eclipse Public License (EPL). 00005 00006 #ifndef CoinPresolveIsolated_H 00007 #define CoinPresolveIsolated_H 00008 00009 #include "CoinPresolveMatrix.hpp" 00010 00011 class isolated_constraint_action : public CoinPresolveAction { 00012 isolated_constraint_action(); 00013 isolated_constraint_action(const isolated_constraint_action& rhs); 00014 isolated_constraint_action& operator=(const isolated_constraint_action& rhs); 00015 00016 double rlo_; 00017 double rup_; 00018 int row_; 00019 int ninrow_; 00020 // the arrays are owned by the class and must be deleted at destruction 00021 const int *rowcols_; 00022 const double *rowels_; 00023 const double *costs_; 00024 00025 isolated_constraint_action(double rlo, 00026 double rup, 00027 int row, 00028 int ninrow, 00029 const int *rowcols, 00030 const double *rowels, 00031 const double *costs, 00032 const CoinPresolveAction *next) : 00033 CoinPresolveAction(next), 00034 rlo_(rlo), rup_(rup), row_(row), ninrow_(ninrow), 00035 rowcols_(rowcols), rowels_(rowels), costs_(costs) {} 00036 00037 public: 00038 const char *name() const; 00039 00040 static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob, 00041 int row, 00042 const CoinPresolveAction *next); 00043 00044 void postsolve(CoinPostsolveMatrix *prob) const; 00045 00046 virtual ~isolated_constraint_action(); 00047 }; 00048 00049 00050 00051 #endif