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

- File List
- File Members

AbcDualRowDantzig.hpp
Go to the documentation of this file.
1 /* $Id: AbcDualRowDantzig.hpp 1910 2013-01-27 02:00:13Z stefan $ */
2 // Copyright (C) 2002, International Business Machines
3 // Corporation and others, Copyright (C) 2012, FasterCoin. All Rights Reserved.
4 // This code is licensed under the terms of the Eclipse Public License (EPL).
5
6 #ifndef AbcDualRowDantzig_H
7 #define AbcDualRowDantzig_H
8
9 #include "AbcDualRowPivot.hpp"
10
11 //#############################################################################
12
19 class AbcDualRowDantzig : public AbcDualRowPivot {
20
21 public:
22
24
25
27 virtual int pivotRow();
28
31 virtual double updateWeights(CoinIndexedVector & input,CoinIndexedVector & updatedColumn);
32 virtual double updateWeights1(CoinIndexedVector & input,CoinIndexedVector & updateColumn);
33 virtual void updateWeightsOnly(CoinIndexedVector & /*input*/) {};
35 virtual void updateWeights2(CoinIndexedVector & input,CoinIndexedVector & /*updateColumn*/) {input.clear();};
40 virtual void updatePrimalSolution(CoinIndexedVector & input,
41 double theta);
52 virtual void saveWeights(AbcSimplex * model, int mode);
54 virtual void recomputeInfeasibilities();
56
57
59
60 AbcDualRowDantzig();
62
64 AbcDualRowDantzig(const AbcDualRowDantzig &);
65
67 AbcDualRowDantzig & operator=(const AbcDualRowDantzig& rhs);
68
70 virtual ~AbcDualRowDantzig ();
71
73 virtual AbcDualRowPivot * clone(bool copyData = true) const;
74
76
77 //---------------------------------------------------------------------------
78
79 private:
82 CoinIndexedVector * infeasible_;
84 };
85
86 #endif
AbcSimplex
Definition: AbcSimplex.hpp:62
AbcDualRowDantzig::clone
virtual AbcDualRowPivot * clone(bool copyData=true) const
Clone.
AbcDualRowDantzig
Dual Row Pivot Dantzig Algorithm Class.
Definition: AbcDualRowDantzig.hpp:19
AbcDualRowDantzig::updateWeights1
virtual double updateWeights1(CoinIndexedVector &input, CoinIndexedVector &updateColumn)
Returns pivot row, -1 if none.
AbcDualRowPivot::model
AbcSimplex * model()
Returns model.
Definition: AbcDualRowPivot.hpp:97
AbcDualRowDantzig::updateWeights
virtual double updateWeights(CoinIndexedVector &input, CoinIndexedVector &updatedColumn)
Updates weights and returns pivot alpha.
AbcDualRowPivot.hpp
AbcDualRowDantzig::~AbcDualRowDantzig
virtual ~AbcDualRowDantzig()
Destructor.
AbcDualRowDantzig::updateWeightsOnly
virtual void updateWeightsOnly(CoinIndexedVector &)
Returns pivot row, -1 if none.
Definition: AbcDualRowDantzig.hpp:33
AbcDualRowDantzig::recomputeInfeasibilities
virtual void recomputeInfeasibilities()
Recompute infeasibilities.
AbcDualRowDantzig::infeasible_
CoinIndexedVector * infeasible_
Definition: AbcDualRowDantzig.hpp:82
CoinIndexedVector
Indexed Vector.
Definition: CoinIndexedVector.hpp:104
AbcDualRowPivot
Dual Row Pivot Abstract Base Class.
Definition: AbcDualRowPivot.hpp:23
AbcDualRowDantzig::updatePrimalSolution
virtual void updatePrimalSolution(CoinIndexedVector &input, double theta)
Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Computes ch...
AbcDualRowDantzig::operator=
AbcDualRowDantzig & operator=(const AbcDualRowDantzig &rhs)
Assignment operator.
AbcDualRowDantzig::pivotRow
virtual int pivotRow()
Returns pivot row, -1 if none.
AbcDualRowDantzig::saveWeights
virtual void saveWeights(AbcSimplex *model, int mode)
Saves any weights round factorization as pivot rows may change Will be empty unless steepest edge (wi...
AbcDualRowDantzig::AbcDualRowDantzig
AbcDualRowDantzig()
Default Constructor.
AbcDualRowDantzig::updateWeights2
virtual void updateWeights2(CoinIndexedVector &input, CoinIndexedVector &)
Actually updates weights.
Definition: AbcDualRowDantzig.hpp:35
CoinIndexedVector::clear
void clear()
Reset the vector (as if were just created an empty vector). This leaves arrays!