source: branches/devel-1/include/ClpFactorization.hpp @ 15

Last change on this file since 15 was 2, checked in by forrest, 18 years ago

Adding Clp to development branch

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.6 KB
Line 
1// Copyright (C) 2002, International Business Machines
2// Corporation and others.  All Rights Reserved.
3#ifndef ClpFactorization_H
4#define ClpFactorization_H
5
6#if defined(_MSC_VER)
7// Turn off compiler warning about long names
8#  pragma warning(disable:4786)
9#endif
10
11#include "OsiFactorization.hpp"
12
13/** This just implements OsiFactorization when an ClpMatrixBase object
14    is passed.  It has no data.
15*/
16class ClpMatrixBase;
17class ClpSimplex;
18
19class ClpFactorization : public OsiFactorization {
20 
21public:
22  /**@name factorization */
23   //@{
24  /** When part of LP - given by basic variables.
25  Actually does factorization.
26  Arrays passed in have non negative value to say basic.
27  If status is okay, basic variables have pivot row - this is only needed
28  if increasingRows_ >1.
29  Allows scaling
30  If status is singular, then basic variables have pivot row
31  and ones thrown out have -1
32  returns 0 -okay, -1 singular, -2 too many in basis, -99 memory */
33  int factorize (const ClpSimplex * model, 
34                 const ClpMatrixBase * matrix, 
35                  int numberRows, int numberColumns,
36                  int rowIsBasic[], int columnIsBasic[] , 
37                 double areaFactor = 0.0);
38   //@}
39
40
41  /**@name Constructors, destructor */
42   //@{
43   /** Default constructor. */
44   ClpFactorization();
45   /** Destructor */
46   ~ClpFactorization();
47   //@}
48
49   /**@name Copy method */
50   //@{
51   /** The copy constructor. */
52   ClpFactorization(const ClpFactorization&);
53   /** The copy constructor from an OsiFactorization. */
54   ClpFactorization(const OsiFactorization&);
55
56   ClpFactorization& operator=(const ClpFactorization&);
57   //@}
58   
59   
60};
61
62#endif
Note: See TracBrowser for help on using the repository browser.