14#ifndef OR_TOOLS_GLOP_UPDATE_ROW_H_
15#define OR_TOOLS_GLOP_UPDATE_ROW_H_
20#include "ortools/glop/parameters.pb.h"
64 const bool IsComputed()
const {
return !compute_update_row_; }
71 return coefficient_[
col];
82 std::string
StatString()
const {
return stats_.StatString(); }
90 const std::string& algorithm);
110 void ComputeUpdatesRowWise();
111 void ComputeUpdatesRowWiseHypersparse();
112 void ComputeUpdatesColumnWise();
126 std::vector<ColIndex> unit_row_left_inverse_filtered_non_zeros_;
135 bool compute_update_row_;
136 RowIndex update_row_computed_for_;
142 unit_row_left_inverse_density(
"unit_row_left_inverse_density", this),
143 unit_row_left_inverse_accuracy(
"unit_row_left_inverse_accuracy",
145 update_row_density(
"update_row_density", this) {}
153 int64_t num_operations_;
156 GlopParameters parameters_;
const ScatteredRow & GetUnitRowLeftInverse() const
const ScatteredRow & ComputeAndGetUnitRowLeftInverse(RowIndex leaving_row)
const DenseRow & GetCoefficients() const
void ComputeUpdateRowForBenchmark(const DenseRow &lhs, const std::string &algorithm)
void ComputeUnitRowLeftInverse(RowIndex leaving_row)
UpdateRow(const CompactSparseMatrix &matrix, const CompactSparseMatrix &transposed_matrix, const VariablesInfo &variables_info, const RowToColMapping &basis, const BasisFactorization &basis_factorization)
void RecomputeFullUpdateRow(RowIndex leaving_row)
const bool IsComputed() const
const Fractional GetCoefficient(ColIndex col) const
void ComputeUpdateRow(RowIndex leaving_row)
void SetParameters(const GlopParameters ¶meters)
double DeterministicTime() const
const ColIndexVector & GetNonZeroPositions() const
std::string StatString() const
std::vector< ColIndex > ColIndexVector
static double DeterministicTimeForFpOperations(int64_t n)
Collection of objects used to extend the Constraint Solver library.