Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
pb_constraint.h File Reference
#include <algorithm>
#include <cstdint>
#include <limits>
#include <memory>
#include <ostream>
#include <string>
#include <vector>
#include "absl/container/flat_hash_map.h"
#include "absl/log/check.h"
#include "absl/strings/string_view.h"
#include "absl/types/span.h"
#include "ortools/base/logging.h"
#include "ortools/base/strong_vector.h"
#include "ortools/base/types.h"
#include "ortools/sat/model.h"
#include "ortools/sat/sat_base.h"
#include "ortools/sat/sat_parameters.pb.h"
#include "ortools/util/bitset.h"
#include "ortools/util/stats.h"
#include "ortools/util/strong_integers.h"

Go to the source code of this file.

Classes

struct  operations_research::sat::LiteralWithCoeff
 Represents a term in a pseudo-Boolean formula. More...
 
class  operations_research::sat::CanonicalBooleanLinearProblem
 
class  operations_research::sat::MutableUpperBoundedLinearConstraint
 
struct  operations_research::sat::PbConstraintsEnqueueHelper
 
struct  operations_research::sat::PbConstraintsEnqueueHelper::ReasonInfo
 
class  operations_research::sat::UpperBoundedLinearConstraint
 
class  operations_research::sat::PbConstraints
 
class  operations_research::sat::VariableWithSameReasonIdentifier
 

Namespaces

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

Functions

 operations_research::sat::DEFINE_STRONG_INT64_TYPE (Coefficient)
 
const Coefficient operations_research::sat::kCoefficientMax (std::numeric_limits< Coefficient::ValueType >::max())
 
template<typename H >
operations_research::sat::AbslHashValue (H h, const LiteralWithCoeff &term)
 
std::ostream & operations_research::sat::operator<< (std::ostream &os, LiteralWithCoeff term)
 
bool operations_research::sat::ComputeBooleanLinearExpressionCanonicalForm (std::vector< LiteralWithCoeff > *cst, Coefficient *bound_shift, Coefficient *max_value)
 
bool operations_research::sat::ApplyLiteralMapping (const util_intops::StrongVector< LiteralIndex, LiteralIndex > &mapping, std::vector< LiteralWithCoeff > *cst, Coefficient *bound_shift, Coefficient *max_value)
 
Coefficient operations_research::sat::ComputeCanonicalRhs (Coefficient upper_bound, Coefficient bound_shift, Coefficient max_value)
 
Coefficient operations_research::sat::ComputeNegatedCanonicalRhs (Coefficient lower_bound, Coefficient bound_shift, Coefficient max_value)
 
bool operations_research::sat::BooleanLinearExpressionIsCanonical (absl::Span< const LiteralWithCoeff > cst)
 Returns true iff the Boolean linear expression is in canonical form.
 
void operations_research::sat::SimplifyCanonicalBooleanLinearConstraint (std::vector< LiteralWithCoeff > *cst, Coefficient *rhs)