![]() |
Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
|
#include "ortools/sat/cuts.h"
#include <algorithm>
#include <array>
#include <cmath>
#include <cstdint>
#include <functional>
#include <limits>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
#include "absl/base/attributes.h"
#include "absl/container/btree_map.h"
#include "absl/container/btree_set.h"
#include "absl/container/flat_hash_map.h"
#include "absl/container/flat_hash_set.h"
#include "absl/log/check.h"
#include "absl/meta/type_traits.h"
#include "absl/numeric/int128.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "absl/types/span.h"
#include "ortools/base/logging.h"
#include "ortools/base/stl_util.h"
#include "ortools/base/strong_vector.h"
#include "ortools/lp_data/lp_types.h"
#include "ortools/sat/clause.h"
#include "ortools/sat/implied_bounds.h"
#include "ortools/sat/integer.h"
#include "ortools/sat/integer_base.h"
#include "ortools/sat/linear_constraint.h"
#include "ortools/sat/linear_constraint_manager.h"
#include "ortools/sat/model.h"
#include "ortools/sat/sat_base.h"
#include "ortools/sat/synchronization.h"
#include "ortools/util/saturated_arithmetic.h"
#include "ortools/util/sorted_interval_list.h"
#include "ortools/util/strong_integers.h"
Go to the source code of this file.
Namespaces | |
namespace | operations_research |
In SWIG mode, we don't want anything besides these top-level includes. | |
namespace | operations_research::sat |
Functions | |
IntegerValue | operations_research::sat::GetFactorT (IntegerValue rhs_remainder, IntegerValue divisor, IntegerValue max_magnitude) |
std::function< IntegerValue(IntegerValue)> | operations_research::sat::GetSuperAdditiveRoundingFunction (IntegerValue rhs_remainder, IntegerValue divisor, IntegerValue t, IntegerValue max_scaling) |
std::function< IntegerValue(IntegerValue)> | operations_research::sat::GetSuperAdditiveStrengtheningFunction (IntegerValue positive_rhs, IntegerValue min_magnitude) |
std::function< IntegerValue(IntegerValue)> | operations_research::sat::GetSuperAdditiveStrengtheningMirFunction (IntegerValue positive_rhs, IntegerValue scaling) |
CutGenerator | operations_research::sat::CreatePositiveMultiplicationCutGenerator (AffineExpression z, AffineExpression x, AffineExpression y, int linearization_level, Model *model) |
A cut generator for z = x * y (x and y >= 0). | |
LinearConstraint | operations_research::sat::ComputeHyperplanAboveSquare (AffineExpression x, AffineExpression square, IntegerValue x_lb, IntegerValue x_ub, Model *model) |
LinearConstraint | operations_research::sat::ComputeHyperplanBelowSquare (AffineExpression x, AffineExpression square, IntegerValue x_value, Model *model) |
CutGenerator | operations_research::sat::CreateSquareCutGenerator (AffineExpression y, AffineExpression x, int linearization_level, Model *model) |
CutGenerator | operations_research::sat::CreateAllDifferentCutGenerator (absl::Span< const AffineExpression > exprs, Model *model) |
CutGenerator | operations_research::sat::CreateLinMaxCutGenerator (const IntegerVariable target, absl::Span< const LinearExpression > exprs, absl::Span< const IntegerVariable > z_vars, Model *model) |
bool | operations_research::sat::BuildMaxAffineUpConstraint (const LinearExpression &target, IntegerVariable var, absl::Span< const std::pair< IntegerValue, IntegerValue > > affines, Model *model, LinearConstraintBuilder *builder) |
CutGenerator | operations_research::sat::CreateMaxAffineCutGenerator (LinearExpression target, IntegerVariable var, std::vector< std::pair< IntegerValue, IntegerValue > > affines, const std::string cut_name, Model *model) |
CutGenerator | operations_research::sat::CreateCliqueCutGenerator (absl::Span< const IntegerVariable > base_variables, Model *model) |