- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/Osi-0.98.1/Clp/src/ClpNetworkBasis.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2003, International Business Machines
    00002 // Corporation and others.  All Rights Reserved.
    00003
    00004 /*
    00005    Authors
    00006
    00007    John Forrest
    00008
    00009  */
    00010 #ifndef ClpNetworkBasis_H
    00011 #define ClpNetworkBasis_H
    00012
    00013 class ClpMatrixBase;
    00014 class CoinIndexedVector;
    00015 class ClpSimplex;
    00016 #include "CoinFinite.hpp"
    00017
    00022 class ClpNetworkBasis {
    00023
    00024 public:
    00025
    00028
    00029     ClpNetworkBasis (  );
    00031   ClpNetworkBasis(const ClpSimplex * model,
    00032                   int numberRows, const double * pivotRegion,
    00033                   const int * permuteBack,const CoinBigIndex * startColumn,
    00034                   const int * numberInColumn,
    00035                   const int * indexRow, const double * element);
    00037   ClpNetworkBasis ( const ClpNetworkBasis &other);
    00038
    00040    ~ClpNetworkBasis (  );
    00042     ClpNetworkBasis & operator = ( const ClpNetworkBasis & other );
    00044
    00055   int factorize ( const ClpMatrixBase * matrix,
    00056                   int rowIsBasic[], int columnIsBasic[]);
    00058
    00061
    00065   int replaceColumn ( CoinIndexedVector * column,
    00066                       int pivotRow);
    00068
    00075   double updateColumn ( CoinIndexedVector * regionSparse,
    00076                         CoinIndexedVector * regionSparse2,
    00077                         int pivotRow);
    00083   int updateColumn (  CoinIndexedVector * regionSparse,
    00084                       double array[] ) const;
    00091   int updateColumnTranspose (  CoinIndexedVector * regionSparse,
    00092                                double array[] ) const;
    00094   int updateColumnTranspose (  CoinIndexedVector * regionSparse,
    00095                                CoinIndexedVector * regionSparse2) const;
    00097
    00098 private:
    00099
    00100   // checks looks okay
    00101   void check();
    00102   // prints data
    00103   void print();
    00106
    00107   double slackValue_;
    00109   int numberRows_;
    00111   int numberColumns_;
    00113   const ClpSimplex * model_;
    00115   int * parent_;
    00117   int * descendant_;
    00119   int * pivot_;
    00121   int * rightSibling_;
    00123   int * leftSibling_;
    00125   double * sign_;
    00127   int * stack_;
    00129   int * permute_;
    00131   int * permuteBack_;
    00133   int * stack2_;
    00135   int * depth_;
    00137   char * mark_;
    00139 };
    00140 #endif