![]() |
OR-Tools
8.2
|
Enumerations | |
| enum class | ProblemStatus : int8 { OPTIMAL , PRIMAL_INFEASIBLE , DUAL_INFEASIBLE , INFEASIBLE_OR_UNBOUNDED , PRIMAL_UNBOUNDED , DUAL_UNBOUNDED , INIT , PRIMAL_FEASIBLE , DUAL_FEASIBLE , ABNORMAL , INVALID_PROBLEM , IMPRECISE } |
| enum class | VariableType : int8 { UNCONSTRAINED , LOWER_BOUNDED , UPPER_BOUNDED , UPPER_AND_LOWER_BOUNDED , FIXED_VARIABLE } |
| enum class | VariableStatus : int8 { BASIC , FIXED_VALUE , AT_LOWER_BOUND , AT_UPPER_BOUND , FREE } |
| enum class | ConstraintStatus : int8 { BASIC , FIXED_VALUE , AT_LOWER_BOUND , AT_UPPER_BOUND , FREE } |
Functions | |
| void | FixConstraintWithFixedStatuses (const DenseColumn &row_lower_bounds, const DenseColumn &row_upper_bounds, ProblemSolution *solution) |
| int | RunLinearExample () |
| std::string | GetErrorCodeString (Status::ErrorCode error_code) |
| bool | AreBoundsValid (Fractional lower_bound, Fractional upper_bound) |
| void | ComputeSlackVariablesValues (const LinearProgram &linear_program, DenseRow *values) |
| void | Scale (LinearProgram *lp, SparseMatrixScaler *scaler) |
| void | Scale (LinearProgram *lp, SparseMatrixScaler *scaler, GlopParameters::ScalingAlgorithm scaling_method) |
| std::string | StringifyRational (const double x, const double precision) |
| std::string | Stringify (const Fractional x, bool fraction) |
| std::string | StringifyMonomial (const Fractional a, const std::string &x, bool fraction) |
| std::string | Stringify (const float a) |
| std::string | Stringify (const double a) |
| std::string | Stringify (const long double a) |
| std::string | GetProblemStatusString (ProblemStatus problem_status) |
| std::string | GetVariableTypeString (VariableType variable_type) |
| std::string | GetVariableStatusString (VariableStatus status) |
| std::string | GetConstraintStatusString (ConstraintStatus status) |
| ConstraintStatus | VariableToConstraintStatus (VariableStatus status) |
| DEFINE_INT_TYPE (ColIndex, Index) | |
| DEFINE_INT_TYPE (RowIndex, Index) | |
| ColIndex | RowToColIndex (RowIndex row) |
| RowIndex | ColToRowIndex (ColIndex col) |
| Index | ColToIntIndex (ColIndex col) |
| Index | RowToIntIndex (RowIndex row) |
| DEFINE_INT_TYPE (EntryIndex, int64) | |
| static double | ToDouble (double f) |
| static double | ToDouble (long double f) |
| bool | IsFinite (Fractional value) |
| const RowIndex | kInvalidRow (-1) |
| const ColIndex | kInvalidCol (-1) |
| std::ostream & | operator<< (std::ostream &os, ProblemStatus status) |
| std::ostream & | operator<< (std::ostream &os, VariableType type) |
| std::ostream & | operator<< (std::ostream &os, VariableStatus status) |
| std::ostream & | operator<< (std::ostream &os, ConstraintStatus status) |
| static double | DeterministicTimeForFpOperations (int64 n) |
| template<typename SparseColumnLike > | |
| Fractional | SquaredNormTemplate (const SparseColumnLike &column) |
| Fractional | SquaredNorm (const SparseColumn &v) |
| Fractional | SquaredNorm (const ColumnView &v) |
| Fractional | PreciseSquaredNorm (const SparseColumn &v) |
| Fractional | PreciseSquaredNorm (const ScatteredColumn &v) |
| Fractional | SquaredNorm (const DenseColumn &column) |
| Fractional | PreciseSquaredNorm (const DenseColumn &column) |
| Fractional | InfinityNorm (const DenseColumn &v) |
| template<typename SparseColumnLike > | |
| Fractional | InfinityNormTemplate (const SparseColumnLike &column) |
| Fractional | InfinityNorm (const SparseColumn &v) |
| Fractional | InfinityNorm (const ColumnView &v) |
| double | Density (const DenseRow &row) |
| void | RemoveNearZeroEntries (Fractional threshold, DenseRow *row) |
| void | RemoveNearZeroEntries (Fractional threshold, DenseColumn *column) |
| Fractional | RestrictedInfinityNorm (const ColumnView &column, const DenseBooleanColumn &rows_to_consider, RowIndex *row_index) |
| void | SetSupportToFalse (const ColumnView &column, DenseBooleanColumn *b) |
| bool | IsDominated (const ColumnView &column, const DenseColumn &radius) |
| Fractional | Square (Fractional f) |
| static Fractional | Fractionality (Fractional f) |
| template<class DenseRowOrColumn1 , class DenseRowOrColumn2 > | |
| Fractional | ScalarProduct (const DenseRowOrColumn1 &u, const DenseRowOrColumn2 &v) |
| template<class DenseRowOrColumn > | |
| Fractional | ScalarProduct (const DenseRowOrColumn &u, const SparseColumn &v) |
| template<class DenseRowOrColumn , class DenseRowOrColumn2 > | |
| Fractional | PreciseScalarProduct (const DenseRowOrColumn &u, const DenseRowOrColumn2 &v) |
| template<class DenseRowOrColumn > | |
| Fractional | PreciseScalarProduct (const DenseRowOrColumn &u, const SparseColumn &v) |
| template<class DenseRowOrColumn > | |
| Fractional | PreciseScalarProduct (const DenseRowOrColumn &u, const ScatteredColumn &v) |
| template<class DenseRowOrColumn > | |
| Fractional | PartialScalarProduct (const DenseRowOrColumn &u, const SparseColumn &v, int max_index) |
| const DenseRow & | Transpose (const DenseColumn &col) |
| const DenseColumn & | Transpose (const DenseRow &row) |
| template<typename IndexType > | |
| void | ComputeNonZeros (const StrictITIVector< IndexType, Fractional > &input, std::vector< IndexType > *non_zeros) |
| template<typename Container > | |
| bool | IsAllZero (const Container &input) |
| template<typename BoolVector > | |
| bool | IsAllFalse (const BoolVector &v) |
| template<typename IndexType , typename PermutationIndexType > | |
| void | PermuteWithScratchpad (const Permutation< PermutationIndexType > &permutation, StrictITIVector< IndexType, Fractional > *zero_scratchpad, StrictITIVector< IndexType, Fractional > *input_output) |
| template<typename IndexType > | |
| void | PermuteWithKnownNonZeros (const Permutation< IndexType > &permutation, StrictITIVector< IndexType, Fractional > *zero_scratchpad, StrictITIVector< IndexType, Fractional > *output, std::vector< IndexType > *non_zeros) |
| template<typename IndexType , typename ScatteredRowOrCol > | |
| void | ClearAndResizeVectorWithNonZeros (IndexType size, ScatteredRowOrCol *v) |
| template<typename IndexType > | |
| void | ChangeSign (StrictITIVector< IndexType, Fractional > *data) |
| ColMapping | FindProportionalColumns (const SparseMatrix &matrix, Fractional tolerance) |
| ColMapping | FindProportionalColumnsUsingSimpleAlgorithm (const SparseMatrix &matrix, Fractional tolerance) |
| bool | AreFirstColumnsAndRowsExactlyEquals (RowIndex num_rows, ColIndex num_cols, const SparseMatrix &matrix_a, const CompactSparseMatrix &matrix_b) |
| bool | IsRightMostSquareMatrixIdentity (const SparseMatrix &matrix) |
| bool | LoadMPModelProtoFromModelOrRequest (const std::string &input_file_path, MPModelProto *model) |
| bool | LoadLinearProgramFromModelOrRequest (const std::string &input_file_path, LinearProgram *linear_program) |
| template<typename IndexType , typename ITIVectorType > | |
| void | ApplyPermutation (const Permutation< IndexType > &perm, const ITIVectorType &b, ITIVectorType *result) |
| template<typename IndexType , typename ITIVectorType > | |
| void | ApplyInversePermutation (const Permutation< IndexType > &perm, const ITIVectorType &b, ITIVectorType *result) |
| template<typename RowIndexedVector > | |
| void | ApplyColumnPermutationToRowIndexedVector (const Permutation< ColIndex > &col_perm, RowIndexedVector *v) |
| void | LinearProgramToMPModelProto (const LinearProgram &input, MPModelProto *output) |
| void | MPModelProtoToLinearProgram (const MPModelProto &input, LinearProgram *output) |
| const ScatteredRow & | TransposedView (const ScatteredColumn &c) |
| const ScatteredColumn & | TransposedView (const ScatteredRow &r) |
| const RowIndex | kNonPivotal (-1) |
Variables | |
| constexpr const uint64 | kDeterministicSeed = 42 |
| const double | kRangeMax = std::numeric_limits<double>::max() |
| const double | kInfinity = std::numeric_limits<double>::infinity() |
| const double | kEpsilon = std::numeric_limits<double>::epsilon() |
| typedef std::vector<ColIndex> ColIndexVector |
Definition at line 308 of file lp_types.h.
| typedef StrictITIVector<ColIndex, ColIndex> ColMapping |
Definition at line 305 of file lp_types.h.
| typedef StrictITIVector<ColIndex, RowIndex> ColToRowMapping |
Definition at line 314 of file lp_types.h.
| typedef Permutation<ColIndex> ColumnPermutation |
Definition at line 95 of file lp_data/permutation.h.
| typedef StrictITIVector<RowIndex, ConstraintStatus> ConstraintStatusColumn |
Definition at line 345 of file lp_types.h.
| typedef Bitset64<RowIndex> DenseBitColumn |
Definition at line 334 of file lp_types.h.
| typedef Bitset64<ColIndex> DenseBitRow |
Definition at line 323 of file lp_types.h.
| typedef StrictITIVector<RowIndex, bool> DenseBooleanColumn |
Definition at line 331 of file lp_types.h.
| typedef StrictITIVector<ColIndex, bool> DenseBooleanRow |
Definition at line 302 of file lp_types.h.
| typedef StrictITIVector<RowIndex, Fractional> DenseColumn |
Definition at line 328 of file lp_types.h.
| typedef StrictITIVector<ColIndex, Fractional> DenseRow |
Definition at line 299 of file lp_types.h.
| typedef double Fractional |
Definition at line 77 of file lp_types.h.
Definition at line 37 of file lp_types.h.
| typedef AccurateSum<Fractional> KahanSum |
Definition at line 32 of file lp_data/lp_utils.h.
| typedef std::vector<RowIndex> RowIndexVector |
Definition at line 309 of file lp_types.h.
| typedef absl::StrongVector<RowIndex, SparseRow> RowMajorSparseMatrix |
Definition at line 61 of file sparse_row.h.
| typedef StrictITIVector<RowIndex, RowIndex> RowMapping |
Definition at line 337 of file lp_types.h.
| typedef Permutation<RowIndex> RowPermutation |
Definition at line 94 of file lp_data/permutation.h.
| typedef StrictITIVector<RowIndex, ColIndex> RowToColMapping |
Definition at line 342 of file lp_types.h.
Definition at line 187 of file scattered_vector.h.
Definition at line 188 of file scattered_vector.h.
Definition at line 38 of file sparse_column.h.
Definition at line 36 of file sparse_row.h.
| typedef SumWithOneMissing<false> SumWithNegativeInfiniteAndOneMissing |
Definition at line 361 of file lp_data/lp_utils.h.
| typedef SumWithOneMissing<true> SumWithPositiveInfiniteAndOneMissing |
Definition at line 360 of file lp_data/lp_utils.h.
| typedef StrictITIVector<ColIndex, VariableStatus> VariableStatusRow |
Definition at line 320 of file lp_types.h.
| typedef StrictITIVector<ColIndex, VariableType> VariableTypeRow |
Definition at line 317 of file lp_types.h.
|
strong |
| Enumerator | |
|---|---|
| BASIC | |
| FIXED_VALUE | |
| AT_LOWER_BOUND | |
| AT_UPPER_BOUND | |
| FREE | |
Definition at line 227 of file lp_types.h.
|
strong |
| Enumerator | |
|---|---|
| OPTIMAL | |
| PRIMAL_INFEASIBLE | |
| DUAL_INFEASIBLE | |
| INFEASIBLE_OR_UNBOUNDED | |
| PRIMAL_UNBOUNDED | |
| DUAL_UNBOUNDED | |
| INIT | |
| PRIMAL_FEASIBLE | |
| DUAL_FEASIBLE | |
| ABNORMAL | |
| INVALID_PROBLEM | |
| IMPRECISE | |
Definition at line 101 of file lp_types.h.
|
strong |
| Enumerator | |
|---|---|
| BASIC | |
| FIXED_VALUE | |
| AT_LOWER_BOUND | |
| AT_UPPER_BOUND | |
| FREE | |
Definition at line 196 of file lp_types.h.
|
strong |
| Enumerator | |
|---|---|
| UNCONSTRAINED | |
| LOWER_BOUNDED | |
| UPPER_BOUNDED | |
| UPPER_AND_LOWER_BOUNDED | |
| FIXED_VARIABLE | |
Definition at line 174 of file lp_types.h.
| void ApplyColumnPermutationToRowIndexedVector | ( | const Permutation< ColIndex > & | col_perm, |
| RowIndexedVector * | v | ||
| ) |
Definition at line 116 of file lp_data/permutation.h.
| void ApplyInversePermutation | ( | const Permutation< IndexType > & | perm, |
| const ITIVectorType & | b, | ||
| ITIVectorType * | result | ||
| ) |
Definition at line 207 of file lp_data/permutation.h.
| void ApplyPermutation | ( | const Permutation< IndexType > & | perm, |
| const ITIVectorType & | b, | ||
| ITIVectorType * | result | ||
| ) |
Definition at line 192 of file lp_data/permutation.h.
|
inline |
| bool AreFirstColumnsAndRowsExactlyEquals | ( | RowIndex | num_rows, |
| ColIndex | num_cols, | ||
| const SparseMatrix & | matrix_a, | ||
| const CompactSparseMatrix & | matrix_b | ||
| ) |
Definition at line 190 of file matrix_utils.cc.
|
inline |
Definition at line 300 of file lp_data/lp_utils.h.
|
inline |
Definition at line 278 of file lp_data/lp_utils.h.
|
inline |
Definition at line 54 of file lp_types.h.
|
inline |
Definition at line 51 of file lp_types.h.
|
inline |
Definition at line 209 of file lp_data/lp_utils.h.
| void ComputeSlackVariablesValues | ( | const LinearProgram & | linear_program, |
| DenseRow * | values | ||
| ) |
Definition at line 19 of file lp_data_utils.cc.
| DEFINE_INT_TYPE | ( | ColIndex | , |
| Index | |||
| ) |
| DEFINE_INT_TYPE | ( | EntryIndex | , |
| int64 | |||
| ) |
| DEFINE_INT_TYPE | ( | RowIndex | , |
| Index | |||
| ) |
| double Density | ( | const DenseRow & | row | ) |
Definition at line 106 of file lp_data/lp_utils.cc.
|
inlinestatic |
Definition at line 379 of file lp_types.h.
| ColMapping FindProportionalColumns | ( | const SparseMatrix & | matrix, |
| Fractional | tolerance | ||
| ) |
Definition at line 115 of file matrix_utils.cc.
| ColMapping FindProportionalColumnsUsingSimpleAlgorithm | ( | const SparseMatrix & | matrix, |
| Fractional | tolerance | ||
| ) |
Definition at line 171 of file matrix_utils.cc.
| void FixConstraintWithFixedStatuses | ( | const DenseColumn & | row_lower_bounds, |
| const DenseColumn & | row_upper_bounds, | ||
| ProblemSolution * | solution | ||
| ) |
Definition at line 3201 of file preprocessor.cc.
|
inlinestatic |
Definition at line 40 of file lp_data/lp_utils.h.
| std::string GetConstraintStatusString | ( | ConstraintStatus | status | ) |
Definition at line 90 of file lp_types.cc.
| std::string GetErrorCodeString | ( | Status::ErrorCode | error_code | ) |
| std::string GetProblemStatusString | ( | ProblemStatus | problem_status | ) |
Definition at line 19 of file lp_types.cc.
| std::string GetVariableStatusString | ( | VariableStatus | status | ) |
Definition at line 71 of file lp_types.cc.
| std::string GetVariableTypeString | ( | VariableType | variable_type | ) |
Definition at line 52 of file lp_types.cc.
| Fractional InfinityNorm | ( | const ColumnView & | v | ) |
Definition at line 102 of file lp_data/lp_utils.cc.
| Fractional InfinityNorm | ( | const DenseColumn & | v | ) |
Definition at line 81 of file lp_data/lp_utils.cc.
| Fractional InfinityNorm | ( | const SparseColumn & | v | ) |
Definition at line 98 of file lp_data/lp_utils.cc.
| Fractional InfinityNormTemplate | ( | const SparseColumnLike & | column | ) |
Definition at line 90 of file lp_data/lp_utils.cc.
| bool IsAllFalse | ( | const BoolVector & | v | ) |
Definition at line 231 of file lp_data/lp_utils.h.
|
inline |
Definition at line 222 of file lp_data/lp_utils.h.
| bool IsDominated | ( | const ColumnView & | column, |
| const DenseColumn & | radius | ||
| ) |
Definition at line 154 of file lp_data/lp_utils.cc.
|
inline |
Definition at line 90 of file lp_types.h.
| bool IsRightMostSquareMatrixIdentity | ( | const SparseMatrix & | matrix | ) |
Definition at line 231 of file matrix_utils.cc.
| const ColIndex kInvalidCol | ( | - | 1 | ) |
| const RowIndex kInvalidRow | ( | - | 1 | ) |
| const RowIndex kNonPivotal | ( | - | 1 | ) |
| void LinearProgramToMPModelProto | ( | const LinearProgram & | input, |
| MPModelProto * | output | ||
| ) |
Definition at line 20 of file proto_utils.cc.
| bool LoadLinearProgramFromModelOrRequest | ( | const std::string & | input_file_path, |
| LinearProgram * | linear_program | ||
| ) |
Definition at line 56 of file model_reader.cc.
| bool LoadMPModelProtoFromModelOrRequest | ( | const std::string & | input_file_path, |
| MPModelProto * | model | ||
| ) |
Definition at line 24 of file model_reader.cc.
| void MPModelProtoToLinearProgram | ( | const MPModelProto & | input, |
| LinearProgram * | output | ||
| ) |
Definition at line 51 of file proto_utils.cc.
|
inline |
Definition at line 238 of file lp_types.h.
|
inline |
Definition at line 168 of file lp_types.h.
|
inline |
Definition at line 216 of file lp_types.h.
|
inline |
Definition at line 185 of file lp_types.h.
| Fractional PartialScalarProduct | ( | const DenseRowOrColumn & | u, |
| const SparseColumn & | v, | ||
| int | max_index | ||
| ) |
Definition at line 130 of file lp_data/lp_utils.h.
|
inline |
Definition at line 259 of file lp_data/lp_utils.h.
|
inline |
Definition at line 237 of file lp_data/lp_utils.h.
| Fractional PreciseScalarProduct | ( | const DenseRowOrColumn & | u, |
| const DenseRowOrColumn2 & | v | ||
| ) |
Definition at line 92 of file lp_data/lp_utils.h.
| Fractional PreciseScalarProduct | ( | const DenseRowOrColumn & | u, |
| const ScatteredColumn & | v | ||
| ) |
Definition at line 114 of file lp_data/lp_utils.h.
| Fractional PreciseScalarProduct | ( | const DenseRowOrColumn & | u, |
| const SparseColumn & | v | ||
| ) |
Definition at line 103 of file lp_data/lp_utils.h.
| Fractional PreciseSquaredNorm | ( | const DenseColumn & | column | ) |
Definition at line 73 of file lp_data/lp_utils.cc.
| Fractional PreciseSquaredNorm | ( | const ScatteredColumn & | v | ) |
Definition at line 46 of file lp_data/lp_utils.cc.
| Fractional PreciseSquaredNorm | ( | const SparseColumn & | v | ) |
Definition at line 38 of file lp_data/lp_utils.cc.
| void RemoveNearZeroEntries | ( | Fractional | threshold, |
| DenseColumn * | column | ||
| ) |
Definition at line 124 of file lp_data/lp_utils.cc.
| void RemoveNearZeroEntries | ( | Fractional | threshold, |
| DenseRow * | row | ||
| ) |
Definition at line 115 of file lp_data/lp_utils.cc.
| Fractional RestrictedInfinityNorm | ( | const ColumnView & | column, |
| const DenseBooleanColumn & | rows_to_consider, | ||
| RowIndex * | row_index | ||
| ) |
Definition at line 133 of file lp_data/lp_utils.cc.
|
inline |
Definition at line 48 of file lp_types.h.
|
inline |
Definition at line 57 of file lp_types.h.
| int RunLinearExample | ( | ) |
Definition at line 25 of file simple_glop_program.cc.
| Fractional ScalarProduct | ( | const DenseRowOrColumn & | u, |
| const SparseColumn & | v | ||
| ) |
Definition at line 82 of file lp_data/lp_utils.h.
| Fractional ScalarProduct | ( | const DenseRowOrColumn1 & | u, |
| const DenseRowOrColumn2 & | v | ||
| ) |
Definition at line 47 of file lp_data/lp_utils.h.
| void Scale | ( | LinearProgram * | lp, |
| SparseMatrixScaler * | scaler | ||
| ) |
Definition at line 52 of file lp_data_utils.cc.
| void Scale | ( | LinearProgram * | lp, |
| SparseMatrixScaler * | scaler, | ||
| GlopParameters::ScalingAlgorithm | scaling_method | ||
| ) |
Definition at line 60 of file lp_data_utils.cc.
| void SetSupportToFalse | ( | const ColumnView & | column, |
| DenseBooleanColumn * | b | ||
| ) |
Definition at line 146 of file lp_data/lp_utils.cc.
|
inline |
Definition at line 36 of file lp_data/lp_utils.h.
| Fractional SquaredNorm | ( | const ColumnView & | v | ) |
Definition at line 34 of file lp_data/lp_utils.cc.
| Fractional SquaredNorm | ( | const DenseColumn & | column | ) |
Definition at line 57 of file lp_data/lp_utils.cc.
| Fractional SquaredNorm | ( | const SparseColumn & | v | ) |
Definition at line 30 of file lp_data/lp_utils.cc.
| Fractional SquaredNormTemplate | ( | const SparseColumnLike & | column | ) |
Definition at line 22 of file lp_data/lp_utils.cc.
|
inline |
Definition at line 34 of file lp_print_utils.h.
|
inline |
Definition at line 30 of file lp_print_utils.h.
| std::string Stringify | ( | const Fractional | x, |
| bool | fraction | ||
| ) |
Definition at line 45 of file lp_print_utils.cc.
|
inline |
Definition at line 38 of file lp_print_utils.h.
| std::string StringifyMonomial | ( | const Fractional | a, |
| const std::string & | x, | ||
| bool | fraction | ||
| ) |
Definition at line 53 of file lp_print_utils.cc.
| std::string StringifyRational | ( | const double | x, |
| const double | precision | ||
| ) |
Definition at line 32 of file lp_print_utils.cc.
|
inlinestatic |
Definition at line 68 of file lp_types.h.
|
inlinestatic |
Definition at line 70 of file lp_types.h.
|
inline |
Definition at line 192 of file lp_data/lp_utils.h.
|
inline |
Definition at line 200 of file lp_data/lp_utils.h.
|
inline |
Definition at line 194 of file scattered_vector.h.
|
inline |
Definition at line 197 of file scattered_vector.h.
| ConstraintStatus VariableToConstraintStatus | ( | VariableStatus | status | ) |
Definition at line 109 of file lp_types.cc.
|
constexpr |
Definition at line 76 of file revised_simplex.cc.
| const double kEpsilon = std::numeric_limits<double>::epsilon() |
Definition at line 86 of file lp_types.h.
| const double kInfinity = std::numeric_limits<double>::infinity() |
Definition at line 83 of file lp_types.h.
| const double kRangeMax = std::numeric_limits<double>::max() |
Definition at line 80 of file lp_types.h.