Loading...
Searching...
No Matches
AbcDualRowDantzig.hpp
Go to the documentation of this file.
/* $Id$ */
// Copyright (C) 2002, International Business Machines
// Corporation and others, Copyright (C) 2012, FasterCoin. All Rights Reserved.
// This code is licensed under the terms of the Eclipse Public License (EPL).
#ifndef AbcDualRowDantzig_H
#define AbcDualRowDantzig_H
#include "AbcDualRowPivot.hpp"
//#############################################################################
class AbcDualRowDantzig : public AbcDualRowPivot {
public:
virtual int pivotRow();
virtual double updateWeights(CoinIndexedVector &input, CoinIndexedVector &updatedColumn);
virtual double updateWeights1(CoinIndexedVector &input, CoinIndexedVector &updateColumn);
virtual void updateWeightsOnly(CoinIndexedVector & /*input*/) {};
virtual void updateWeights2(CoinIndexedVector &input, CoinIndexedVector & /*updateColumn*/) { input.clear(); };
virtual void updatePrimalSolution(CoinIndexedVector &input,
double theta);
virtual void saveWeights(AbcSimplex *model, int mode);
virtual void recomputeInfeasibilities();
AbcDualRowDantzig();
AbcDualRowDantzig(const AbcDualRowDantzig &);
AbcDualRowDantzig &operator=(const AbcDualRowDantzig &rhs);
virtual ~AbcDualRowDantzig();
virtual AbcDualRowPivot *clone(bool copyData = true) const;
//---------------------------------------------------------------------------
private:
CoinIndexedVector *infeasible_;
};
#endif
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
*/
AbcDualRowPivot.hpp
AbcSimplex
#define AbcSimplex
Definition AbcWarmStart.hpp:16
AbcDualRowDantzig::infeasible_
CoinIndexedVector * infeasible_
Definition AbcDualRowDantzig.hpp:80
AbcDualRowDantzig::updateWeights
virtual double updateWeights(CoinIndexedVector &input, CoinIndexedVector &updatedColumn)
Updates weights and returns pivot alpha.
AbcDualRowDantzig::operator=
AbcDualRowDantzig & operator=(const AbcDualRowDantzig &rhs)
Assignment operator.
AbcDualRowDantzig::~AbcDualRowDantzig
virtual ~AbcDualRowDantzig()
Destructor.
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::updateWeightsOnly
virtual void updateWeightsOnly(CoinIndexedVector &)
Definition AbcDualRowDantzig.hpp:32
AbcDualRowDantzig::AbcDualRowDantzig
AbcDualRowDantzig(const AbcDualRowDantzig &)
Copy constructor.
AbcDualRowDantzig::clone
virtual AbcDualRowPivot * clone(bool copyData=true) const
Clone.
AbcDualRowDantzig::updateWeights2
virtual void updateWeights2(CoinIndexedVector &input, CoinIndexedVector &)
Actually updates weights.
Definition AbcDualRowDantzig.hpp:34
AbcDualRowDantzig::updateWeights1
virtual double updateWeights1(CoinIndexedVector &input, CoinIndexedVector &updateColumn)
Does most of work for weights and returns pivot alpha.
AbcDualRowDantzig::recomputeInfeasibilities
virtual void recomputeInfeasibilities()
Recompute infeasibilities.
AbcDualRowDantzig::AbcDualRowDantzig
AbcDualRowDantzig()
Default Constructor.
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::pivotRow
virtual int pivotRow()
Returns pivot row, -1 if none.
AbcDualRowPivot::model
AbcSimplex * model()
Returns model.
Definition AbcDualRowPivot.hpp:97
AbcDualRowPivot::AbcDualRowPivot
AbcDualRowPivot()
Default Constructor.