Clp  1.17.8
List of all members
AbcDualRowDantzig Class Reference

Dual Row Pivot Dantzig Algorithm Class. More...

#include <AbcDualRowDantzig.hpp>

+ Inheritance diagram for AbcDualRowDantzig:
+ Collaboration diagram for AbcDualRowDantzig:

Public Member Functions

Algorithmic methods
virtual int pivotRow ()
 Returns pivot row, -1 if none. More...
 
virtual double updateWeights (CoinIndexedVector &input, CoinIndexedVector &updatedColumn)
 Updates weights and returns pivot alpha. More...
 
virtual double updateWeights1 (CoinIndexedVector &input, CoinIndexedVector &updateColumn)
 Does most of work for weights and returns pivot alpha. More...
 
virtual void updateWeightsOnly (CoinIndexedVector &)
 
virtual void updateWeights2 (CoinIndexedVector &input, CoinIndexedVector &)
 Actually updates weights. More...
 
virtual void updatePrimalSolution (CoinIndexedVector &input, double theta)
 Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Computes change in objective function. More...
 
virtual void saveWeights (AbcSimplex *model, int mode)
 Saves any weights round factorization as pivot rows may change Will be empty unless steepest edge (will save model) May also recompute infeasibility stuff 1) before factorization 2) after good factorization (if weights empty may initialize) 3) after something happened but no factorization (e.g. More...
 
virtual void recomputeInfeasibilities ()
 Recompute infeasibilities. More...
 
Constructors and destructors
 AbcDualRowDantzig ()
 Default Constructor. More...
 
 AbcDualRowDantzig (const AbcDualRowDantzig &)
 Copy constructor. More...
 
AbcDualRowDantzigoperator= (const AbcDualRowDantzig &rhs)
 Assignment operator. More...
 
virtual ~AbcDualRowDantzig ()
 Destructor. More...
 
virtual AbcDualRowPivotclone (bool copyData=true) const
 Clone. More...
 
- Public Member Functions inherited from AbcDualRowPivot
virtual void updatePrimalSolutionAndWeights (CoinIndexedVector &weightsVector, CoinIndexedVector &updateColumn, double theta)
 
virtual void checkAccuracy ()
 checks accuracy and may re-initialize (may be empty) More...
 
virtual void clearArrays ()
 Gets rid of all arrays (may be empty) More...
 
virtual bool looksOptimal () const
 Returns true if would not find any row. More...
 
 AbcDualRowPivot ()
 Default Constructor. More...
 
 AbcDualRowPivot (const AbcDualRowPivot &)
 Copy constructor. More...
 
AbcDualRowPivotoperator= (const AbcDualRowPivot &rhs)
 Assignment operator. More...
 
virtual ~AbcDualRowPivot ()
 Destructor. More...
 
AbcSimplexmodel ()
 Returns model. More...
 
void setModel (AbcSimplex *newmodel)
 Sets model (normally to NULL) More...
 
int type ()
 Returns type (above 63 is extra information) More...
 

Private Attributes

Private member data

infeasibility array (just for infeasible rows)

CoinIndexedVector * infeasible_
 

Additional Inherited Members

- Protected Attributes inherited from AbcDualRowPivot
AbcSimplexmodel_
 Pointer to model. More...
 
int type_
 Type of row pivot algorithm. More...
 

Detailed Description

Dual Row Pivot Dantzig Algorithm Class.

This is simplest choice - choose largest infeasibility

Definition at line 19 of file AbcDualRowDantzig.hpp.

Constructor & Destructor Documentation

◆ AbcDualRowDantzig() [1/2]

AbcDualRowDantzig::AbcDualRowDantzig ( )

Default Constructor.

◆ AbcDualRowDantzig() [2/2]

AbcDualRowDantzig::AbcDualRowDantzig ( const AbcDualRowDantzig )

Copy constructor.

◆ ~AbcDualRowDantzig()

virtual AbcDualRowDantzig::~AbcDualRowDantzig ( )
virtual

Destructor.

Member Function Documentation

◆ pivotRow()

virtual int AbcDualRowDantzig::pivotRow ( )
virtual

Returns pivot row, -1 if none.

Implements AbcDualRowPivot.

◆ updateWeights()

virtual double AbcDualRowDantzig::updateWeights ( CoinIndexedVector &  input,
CoinIndexedVector &  updatedColumn 
)
virtual

Updates weights and returns pivot alpha.

Also does FT update

Implements AbcDualRowPivot.

◆ updateWeights1()

virtual double AbcDualRowDantzig::updateWeights1 ( CoinIndexedVector &  input,
CoinIndexedVector &  updateColumn 
)
virtual

Does most of work for weights and returns pivot alpha.

Also does FT update

Implements AbcDualRowPivot.

◆ updateWeightsOnly()

virtual void AbcDualRowDantzig::updateWeightsOnly ( CoinIndexedVector &  )
inlinevirtual

Implements AbcDualRowPivot.

Definition at line 32 of file AbcDualRowDantzig.hpp.

◆ updateWeights2()

virtual void AbcDualRowDantzig::updateWeights2 ( CoinIndexedVector &  input,
CoinIndexedVector &   
)
inlinevirtual

Actually updates weights.

Implements AbcDualRowPivot.

Definition at line 34 of file AbcDualRowDantzig.hpp.

◆ updatePrimalSolution()

virtual void AbcDualRowDantzig::updatePrimalSolution ( CoinIndexedVector &  input,
double  theta 
)
virtual

Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Computes change in objective function.

Implements AbcDualRowPivot.

◆ saveWeights()

virtual void AbcDualRowDantzig::saveWeights ( AbcSimplex model,
int  mode 
)
virtual

Saves any weights round factorization as pivot rows may change Will be empty unless steepest edge (will save model) May also recompute infeasibility stuff 1) before factorization 2) after good factorization (if weights empty may initialize) 3) after something happened but no factorization (e.g.

check for infeasible) 4) as 2 but restore weights from previous snapshot 5) for strong branching - initialize , infeasibilities

Reimplemented from AbcDualRowPivot.

◆ recomputeInfeasibilities()

virtual void AbcDualRowDantzig::recomputeInfeasibilities ( )
virtual

Recompute infeasibilities.

Reimplemented from AbcDualRowPivot.

◆ operator=()

AbcDualRowDantzig& AbcDualRowDantzig::operator= ( const AbcDualRowDantzig rhs)

Assignment operator.

◆ clone()

virtual AbcDualRowPivot* AbcDualRowDantzig::clone ( bool  copyData = true) const
virtual

Clone.

Implements AbcDualRowPivot.

Member Data Documentation

◆ infeasible_

CoinIndexedVector* AbcDualRowDantzig::infeasible_
private

Definition at line 80 of file AbcDualRowDantzig.hpp.


The documentation for this class was generated from the following file: