Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

/files2/home/rwaltz/Software/COIN/Clp/include/ClpFactorization.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2002, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef ClpFactorization_H
00004 #define ClpFactorization_H
00005 
00006 
00007 #include "CoinPragma.hpp"
00008 
00009 #include "CoinFactorization.hpp"
00010 
00015 class ClpMatrixBase;
00016 class ClpSimplex;
00017 class ClpNetworkBasis;
00018 
00019 class ClpFactorization : public CoinFactorization {
00020   
00021 public:
00033   int factorize (ClpSimplex * model,int solveType, bool valuesPass);
00035 
00036 
00040    ClpFactorization();
00042    ~ClpFactorization();
00044 
00048    ClpFactorization(const ClpFactorization&);
00050    ClpFactorization(const CoinFactorization&);
00051 
00052    ClpFactorization& operator=(const ClpFactorization&);
00054    
00055   /*  **** below here is so can use networkish basis */
00058 
00066   int replaceColumn ( const ClpSimplex * model,
00067                       CoinIndexedVector * regionSparse,
00068                       CoinIndexedVector * tableauColumn,
00069                       int pivotRow,
00070                       double pivotCheck ,
00071                       bool checkBeforeModifying=false);
00073 
00081   int updateColumnFT ( CoinIndexedVector * regionSparse,
00082                        CoinIndexedVector * regionSparse2);
00083   int updateColumn ( CoinIndexedVector * regionSparse,
00084                      CoinIndexedVector * regionSparse2,
00085                      bool noPermute=false) const;
00088   int updateColumnTranspose ( CoinIndexedVector * regionSparse,
00089                               CoinIndexedVector * regionSparse2) const;
00091     
00095   void goSparse();
00097   void cleanUp();
00099   bool needToReorder() const;
00101   bool inline networkBasis() const
00102   { return (networkBasis_!=NULL);};
00104 
00106 private:
00107 
00110 
00111   ClpNetworkBasis * networkBasis_;
00113 };
00114 
00115 #endif

Generated on Fri Aug 6 11:42:58 2004 by doxygen 1.3.5