Clp 1.17.5
Loading...
Searching...
No Matches
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
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
24
25public:
27 ClpPEPrimalColumnDantzig(double psi = 0.5);
29
32
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 //---------------------------------------------------------------------------
51private:
52 /* this PESimplex object is used to identify the compatible variables */
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 */
62
63 /* record if previous iterations concluded that compatibles should not be checked */
67};
68#endif
69
70/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
71*/
~ClpPEPrimalColumnDantzig()
destructor
ClpPEPrimalColumnDantzig(const ClpPEPrimalColumnDantzig &)
ClpPEPrimalColumnDantzig & operator=(const ClpPEPrimalColumnDantzig &rhs)
assignment operator
ClpPrimalColumnPivot * clone(bool copyData=true) const
clone
virtual int pivotColumn(CoinIndexedVector *updates, CoinIndexedVector *spareRow1, CoinIndexedVector *spareRow2, CoinIndexedVector *spareColumn1, CoinIndexedVector *spareColumn2)
Returns pivot column, -1 if none.
virtual void saveWeights(ClpSimplex *model, int mode)
Save weights - this may initialize weights as well This is as parent but may initialize ClpPESimplex.
ClpPEPrimalColumnDantzig(double psi=0.5)
constructors
BASE CLASS FOR THE IMPROVED SIMPLEX.
Primal Column Pivot Dantzig Algorithm Class.
Primal Column Pivot Abstract Base Class.
ClpSimplex * model()
Returns model.
This solves LPs using the simplex method.