00001 /* 00002 Copyright (C) 2000, 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 $Id$ 00007 */ 00008 00009 #ifndef __LPC_H__ 00010 #define __LPC_H__ 00011 00012 #include <vector> 00013 #include "VolVolume.hpp" 00014 00015 using std::vector; 00016 00017 class VOL_lp { 00018 public: 00019 int ncols, nrows, nels; 00020 int maxcols, nints; 00021 VOL_ivector mrow; 00022 VOL_ivector mcstrt; 00023 VOL_dvector dels; 00024 VOL_dvector dcost; 00025 VOL_dvector dloc; 00026 VOL_dvector dupc; 00027 VOL_dvector dlor; 00028 VOL_dvector dupr; 00029 VOL_ivector intnums; 00030 VOL_ivector check_col; 00031 vector<int> mr; 00032 vector<int> mc; 00033 vector<double> els; 00034 vector<double> cost; 00035 VOL_lp(); 00036 ~VOL_lp(){ } 00037 void build_col(int row, double el); 00038 void rhs(int row, double lb, double ub); 00039 void finish_up(); 00040 int n_cols(){ return ncols; } 00041 void set_nrows( const int n); 00042 void intcol(int j); 00043 void addobj( double xx); 00044 void addel(int row, double el); 00045 void startcol(); 00046 void ub(const int i, const double x); 00047 void lb(const int i, const double x); 00048 void init_bounds( const int n); 00049 }; 00050 00051 #endif