Clp 1.17.6

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

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ClpPEPrimalColumnDantzig.hpp
Go to the documentation of this file.
1 /*
2 Authors
3
4 Jeremy Omer, Mehdi Towhidi
5
6 Last update: april 10, 2015
7
8 */
9
10 #ifndef ClpPEPrimalColumnDantzig_H
11 #define ClpPEPrimalColumnDantzig_H
12
13 #include "ClpPrimalColumnDantzig.hpp"
14 #include "ClpPrimalColumnPivot.hpp"
15 #include "ClpSimplex.hpp"
16 #include "CoinIndexedVector.hpp"
17 #include "ClpFactorization.hpp"
18 #include "ClpNonLinearCost.hpp"
19 #include "ClpSimplexPrimal.hpp"
20 #include "ClpPackedMatrix.hpp"
21 #include "ClpPESimplex.hpp"
22
23 class ClpPEPrimalColumnDantzig : public ClpPrimalColumnDantzig {
24
25 public:
27 ClpPEPrimalColumnDantzig(double psi = 0.5);
28 ClpPEPrimalColumnDantzig(const ClpPEPrimalColumnDantzig &); //copy constructor
29
31 ~ClpPEPrimalColumnDantzig();
32
34 ClpPEPrimalColumnDantzig &operator=(const ClpPEPrimalColumnDantzig &rhs);
35
37 ClpPrimalColumnPivot *clone(bool copyData = true) const;
38
39 virtual int pivotColumn(CoinIndexedVector *updates,
40 CoinIndexedVector *spareRow1,
41 CoinIndexedVector *spareRow2,
42 CoinIndexedVector *spareColumn1,
43 CoinIndexedVector *spareColumn2);
44
46
49 virtual void saveWeights(ClpSimplex *model, int mode);
50 //---------------------------------------------------------------------------
51 private:
52 /* this PESimplex object is used to identify the compatible variables */
53 ClpPESimplex *modelPE_;
54
55 /* psi is the factor used in the bi-dimensional pricing, it is < 1 and
56 1/psi grows with the priority given to compatible variables */
57 double psi_;
58
59 /* useful counters for the update of the set of compatible variables */
60 int iCurrent_;
61 int iInterval_;
62
63 /* record if previous iterations concluded that compatibles should not be checked */
64 int coDegenCompatibles_;
65 int coConsecutiveCompatibles_;
66 bool updateCompatibles_;
67 };
68 #endif
69
70 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
71 */
ClpSimplex.hpp
ClpPEPrimalColumnDantzig::modelPE_
ClpPESimplex * modelPE_
Definition: ClpPEPrimalColumnDantzig.hpp:53
ClpPrimalColumnPivot
Primal Column Pivot Abstract Base Class.
Definition: ClpPrimalColumnPivot.hpp:25
ClpPEPrimalColumnDantzig
Definition: ClpPEPrimalColumnDantzig.hpp:23
ClpPEPrimalColumnDantzig::pivotColumn
virtual int pivotColumn(CoinIndexedVector *updates, CoinIndexedVector *spareRow1, CoinIndexedVector *spareRow2, CoinIndexedVector *spareColumn1, CoinIndexedVector *spareColumn2)
Returns pivot column, -1 if none.
ClpPEPrimalColumnDantzig::saveWeights
virtual void saveWeights(ClpSimplex *model, int mode)
Save weights - this may initialize weights as well This is as parent but may initialize ClpPESimplex...
ClpPEPrimalColumnDantzig::ClpPEPrimalColumnDantzig
ClpPEPrimalColumnDantzig(double psi=0.5)
constructors
ClpPrimalColumnDantzig
Primal Column Pivot Dantzig Algorithm Class.
Definition: ClpPrimalColumnDantzig.hpp:19
ClpPEPrimalColumnDantzig::coConsecutiveCompatibles_
int coConsecutiveCompatibles_
Definition: ClpPEPrimalColumnDantzig.hpp:65
ClpFactorization.hpp
ClpSimplex
This solves LPs using the simplex method.
Definition: ClpSimplex.hpp:106
ClpPrimalColumnDantzig.hpp
CoinIndexedVector
Indexed Vector.
Definition: CoinIndexedVector.hpp:104
ClpPESimplex.hpp
ClpPEPrimalColumnDantzig::updateCompatibles_
bool updateCompatibles_
Definition: ClpPEPrimalColumnDantzig.hpp:66
ClpPEPrimalColumnDantzig::operator=
ClpPEPrimalColumnDantzig & operator=(const ClpPEPrimalColumnDantzig &rhs)
assignment operator
ClpPEPrimalColumnDantzig::coDegenCompatibles_
int coDegenCompatibles_
Definition: ClpPEPrimalColumnDantzig.hpp:64
ClpPrimalColumnPivot::model
ClpSimplex * model()
Returns model.
Definition: ClpPrimalColumnPivot.hpp:117
ClpPEPrimalColumnDantzig::iCurrent_
int iCurrent_
Definition: ClpPEPrimalColumnDantzig.hpp:60
ClpPackedMatrix.hpp
ClpPrimalColumnPivot.hpp
ClpPEPrimalColumnDantzig::clone
ClpPrimalColumnPivot * clone(bool copyData=true) const
clone
CoinIndexedVector.hpp
ClpPEPrimalColumnDantzig::iInterval_
int iInterval_
Definition: ClpPEPrimalColumnDantzig.hpp:61
ClpNonLinearCost.hpp
ClpPEPrimalColumnDantzig::psi_
double psi_
Definition: ClpPEPrimalColumnDantzig.hpp:57
ClpSimplexPrimal.hpp
ClpPESimplex
BASE CLASS FOR THE IMPROVED SIMPLEX.
Definition: ClpPESimplex.hpp:42
ClpPEPrimalColumnDantzig::~ClpPEPrimalColumnDantzig
~ClpPEPrimalColumnDantzig()
destructor