17#ifndef OR_TOOLS_LP_DATA_LP_DATA_UTILS_H_
18#define OR_TOOLS_LP_DATA_LP_DATA_UTILS_H_
20#include "ortools/glop/parameters.pb.h"
42void Scale(LinearProgram* lp, SparseMatrixScaler* scaler,
43 GlopParameters::ScalingAlgorithm scaling_method);
47void Scale(LinearProgram* lp, SparseMatrixScaler* scaler);
93 return objective_scaling_factor_;
Fractional ObjectiveScalingFactor() const
void UnscaleUnitRowLeftSolve(ColIndex basis_col, ScatteredRow *left_inverse) const
Fractional ScaleVariableValue(ColIndex col, Fractional value) const
Transforms value from unscaled domain to the scaled one.
Fractional UnscaleDualValue(RowIndex row, Fractional value) const
Fractional UnscaleConstraintActivity(RowIndex row, Fractional value) const
void Clear()
Clear all scaling coefficients.
Fractional ScaleDualValue(RowIndex row, Fractional value) const
Fractional BoundsScalingFactor() const
void Scale(LinearProgram *lp)
Scale the given LP.
Fractional ScaleConstraintActivity(RowIndex row, Fractional value) const
Fractional UnscaleReducedCost(ColIndex col, Fractional value) const
Fractional VariableScalingFactor(ColIndex col) const
Fractional UnscaleVariableValue(ColIndex col, Fractional value) const
Transforms corresponding value from the scaled domain to the original one.
Fractional ScaleReducedCost(ColIndex col, Fractional value) const
void UnscaleColumnRightSolve(const RowToColMapping &basis, ColIndex col, ScatteredColumn *right_inverse) const
Unscale a col vector v such that B.c = matrix_column_col.
void ComputeSlackVariablesValues(const LinearProgram &linear_program, DenseRow *values)
void Scale(LinearProgram *lp, SparseMatrixScaler *scaler)
StrictITIVector< ColIndex, Fractional > DenseRow
Row-vector types. Row-vector types are indexed by a column index.
In SWIG mode, we don't want anything besides these top-level includes.