Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
lp_types.h File Reference
#include <cmath>
#include <cstdint>
#include <limits>
#include <ostream>
#include <string>
#include <type_traits>
#include <vector>
#include "absl/log/check.h"
#include "ortools/base/logging.h"
#include "ortools/base/strong_vector.h"
#include "ortools/base/types.h"
#include "ortools/util/bitset.h"
#include "ortools/util/strong_integers.h"

Go to the source code of this file.

Classes

class  operations_research::glop::StrictITISpan< IntType, T >
 
class  operations_research::glop::StrictITIVector< IntType, T >
 
class  operations_research::glop::VectorIterator< EntryType >
 

Namespaces

namespace  operations_research
 In SWIG mode, we don't want anything besides these top-level includes.
 
namespace  operations_research::glop
 

Typedefs

typedef int32_t operations_research::glop::Index
 
typedef double operations_research::glop::Fractional
 
typedef StrictITIVector< ColIndex, Fractionaloperations_research::glop::DenseRow
 Row-vector types. Row-vector types are indexed by a column index.
 
typedef StrictITIVector< ColIndex, bool > operations_research::glop::DenseBooleanRow
 Row of booleans.
 
typedef StrictITIVector< ColIndex, ColIndex > operations_research::glop::ColMapping
 Row of column indices. Used to represent mappings between columns.
 
typedef std::vector< ColIndex > operations_research::glop::ColIndexVector
 Vector of row or column indices. Useful to list the non-zero positions.
 
typedef std::vector< RowIndex > operations_research::glop::RowIndexVector
 
typedef StrictITIVector< ColIndex, RowIndex > operations_research::glop::ColToRowMapping
 
typedef StrictITIVector< ColIndex, VariableTypeoperations_research::glop::VariableTypeRow
 Row of variable types.
 
typedef StrictITIVector< ColIndex, VariableStatusoperations_research::glop::VariableStatusRow
 Row of variable statuses.
 
typedef Bitset64< ColIndex > operations_research::glop::DenseBitRow
 Row of bits.
 
typedef StrictITIVector< RowIndex, Fractionaloperations_research::glop::DenseColumn
 Column-vector types. Column-vector types are indexed by a row index.
 
typedef StrictITIVector< RowIndex, bool > operations_research::glop::DenseBooleanColumn
 Column of booleans.
 
typedef Bitset64< RowIndex > operations_research::glop::DenseBitColumn
 Column of bits.
 
typedef StrictITIVector< RowIndex, RowIndex > operations_research::glop::RowMapping
 Column of row indices. Used to represent mappings between rows.
 
typedef StrictITIVector< RowIndex, ColIndex > operations_research::glop::RowToColMapping
 
typedef StrictITIVector< RowIndex, ConstraintStatusoperations_research::glop::ConstraintStatusColumn
 Column of constraints (slack variables) statuses.
 

Enumerations

enum class  operations_research::glop::ProblemStatus : int8_t {
  operations_research::glop::OPTIMAL , operations_research::glop::PRIMAL_INFEASIBLE , operations_research::glop::DUAL_INFEASIBLE , operations_research::glop::INFEASIBLE_OR_UNBOUNDED ,
  operations_research::glop::PRIMAL_UNBOUNDED , operations_research::glop::DUAL_UNBOUNDED , operations_research::glop::INIT , operations_research::glop::PRIMAL_FEASIBLE ,
  operations_research::glop::DUAL_FEASIBLE , operations_research::glop::ABNORMAL , operations_research::glop::INVALID_PROBLEM , operations_research::glop::IMPRECISE
}
 Different statuses for a given problem. More...
 
enum class  operations_research::glop::VariableType : int8_t {
  operations_research::glop::UNCONSTRAINED , operations_research::glop::LOWER_BOUNDED , operations_research::glop::UPPER_BOUNDED , operations_research::glop::UPPER_AND_LOWER_BOUNDED ,
  operations_research::glop::FIXED_VARIABLE
}
 Different types of variables. More...
 
enum class  operations_research::glop::VariableStatus : int8_t {
  operations_research::glop::BASIC , operations_research::glop::FIXED_VALUE , operations_research::glop::AT_LOWER_BOUND , operations_research::glop::AT_UPPER_BOUND ,
  operations_research::glop::FREE
}
 
enum class  operations_research::glop::ConstraintStatus : int8_t {
  operations_research::glop::BASIC , operations_research::glop::FIXED_VALUE , operations_research::glop::AT_LOWER_BOUND , operations_research::glop::AT_UPPER_BOUND ,
  operations_research::glop::FREE
}
 

Functions

 operations_research::glop::DEFINE_STRONG_INDEX_TYPE (ColIndex)
 
 operations_research::glop::DEFINE_STRONG_INDEX_TYPE (RowIndex)
 
ColIndex operations_research::glop::RowToColIndex (RowIndex row)
 Get the ColIndex corresponding to the column # row.
 
RowIndex operations_research::glop::ColToRowIndex (ColIndex col)
 Get the RowIndex corresponding to the row # col.
 
Index operations_research::glop::ColToIntIndex (ColIndex col)
 Get the integer index corresponding to the col.
 
Index operations_research::glop::RowToIntIndex (RowIndex row)
 Get the integer index corresponding to the row.
 
 operations_research::glop::DEFINE_STRONG_INT64_TYPE (EntryIndex)
 
static double operations_research::glop::ToDouble (double f)
 
static double operations_research::glop::ToDouble (long double f)
 
bool operations_research::glop::IsFinite (Fractional value)
 
constexpr RowIndex operations_research::glop::kInvalidRow (-1)
 
constexpr ColIndex operations_research::glop::kInvalidCol (-1)
 
std::string operations_research::glop::GetProblemStatusString (ProblemStatus problem_status)
 Returns the string representation of the ProblemStatus enum.
 
std::ostream & operations_research::glop::operator<< (std::ostream &os, ProblemStatus status)
 
std::string operations_research::glop::GetVariableTypeString (VariableType variable_type)
 Returns the string representation of the VariableType enum.
 
std::ostream & operations_research::glop::operator<< (std::ostream &os, VariableType type)
 
std::string operations_research::glop::GetVariableStatusString (VariableStatus status)
 Returns the string representation of the VariableStatus enum.
 
std::ostream & operations_research::glop::operator<< (std::ostream &os, VariableStatus status)
 
std::string operations_research::glop::GetConstraintStatusString (ConstraintStatus status)
 Returns the string representation of the ConstraintStatus enum.
 
std::ostream & operations_research::glop::operator<< (std::ostream &os, ConstraintStatus status)
 
ConstraintStatus operations_research::glop::VariableToConstraintStatus (VariableStatus status)
 Returns the ConstraintStatus corresponding to a given VariableStatus.
 
static double operations_research::glop::DeterministicTimeForFpOperations (int64_t n)
 

Variables

constexpr double operations_research::glop::kRangeMax = std::numeric_limits<double>::max()
 Range max for type Fractional. DBL_MAX for double for example.
 
constexpr double operations_research::glop::kInfinity = std::numeric_limits<double>::infinity()
 Infinity for type Fractional.
 
constexpr double operations_research::glop::kEpsilon = std::numeric_limits<double>::epsilon()
 Epsilon for type Fractional, i.e. the smallest e such that 1.0 + e != 1.0 .