# ClpPrimalColumnPivot.hpp

Go to the documentation of this file.

    00001 /* $Id: ClpPrimalColumnPivot.hpp 1732 2011-05-31 08:09:41Z forrest $ */
    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 ClpPrimalcolumnPivot_H
    00007 #define ClpPrimalcolumnPivot_H
    00008
    00009 class ClpSimplex;
    00010 class CoinIndexedVector;
    00011
    00012 //#############################################################################
    00013
    00025 class ClpPrimalColumnPivot  {
    00026
    00027 public:
    00028
    00030
    00031
    00050      virtual int pivotColumn(CoinIndexedVector * updates,
    00051                              CoinIndexedVector * spareRow1,
    00052                              CoinIndexedVector * spareRow2,
    00053                              CoinIndexedVector * spareColumn1,
    00054                              CoinIndexedVector * spareColumn2) = 0;
    00055
    00057      virtual void updateWeights(CoinIndexedVector * input);
    00058
    00070      virtual void saveWeights(ClpSimplex * model, int mode) = 0;
    00076      virtual int pivotRow(double & way) {
    00077           way = 0;
    00078           return -2;
    00079      }
    00081      virtual void clearArrays();
    00083      virtual bool looksOptimal() const {
    00084           return looksOptimal_;
    00085      }
    00087      virtual void setLooksOptimal(bool flag) {
    00088           looksOptimal_ = flag;
    00089      }
    00091
    00092
    00094
    00095
    00096      ClpPrimalColumnPivot();
    00097
    00099      ClpPrimalColumnPivot(const ClpPrimalColumnPivot &);
    00100
    00102      ClpPrimalColumnPivot & operator=(const ClpPrimalColumnPivot& rhs);
    00103
    00105      virtual ~ClpPrimalColumnPivot ();
    00106
    00108      virtual ClpPrimalColumnPivot * clone(bool copyData = true) const = 0;
    00109
    00111
    00113
    00114
    00115      inline ClpSimplex * model() {
    00116           return model_;
    00117      }
    00119      inline void setModel(ClpSimplex * newmodel) {
    00120           model_ = newmodel;
    00121      }
    00122
    00124      inline int type() {
    00125           return type_;
    00126      }
    00127
    00131      virtual int numberSprintColumns(int & numberIterations) const;
    00133      virtual void switchOffSprint();
    00135      virtual void maximumPivotsChanged() {}
    00136
    00138
    00139      //---------------------------------------------------------------------------
    00140
    00141 protected:
    00143
    00144
    00145      ClpSimplex * model_;
    00147      int type_;
    00149      bool looksOptimal_;
    00151 };
    00152 #ifndef CLP_PRIMAL_SLACK_MULTIPLIER
    00153 #define CLP_PRIMAL_SLACK_MULTIPLIER 1.01
    00154 #endif
    00155 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines