Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
cp_model_checker.cc File Reference
#include "ortools/sat/cp_model_checker.h"
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <limits>
#include <optional>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
#include "absl/algorithm/container.h"
#include "absl/container/btree_map.h"
#include "absl/container/flat_hash_map.h"
#include "absl/container/flat_hash_set.h"
#include "absl/flags/flag.h"
#include "absl/log/check.h"
#include "absl/strings/str_cat.h"
#include "absl/types/span.h"
#include "ortools/base/logging.h"
#include "ortools/port/proto_utils.h"
#include "ortools/sat/cp_model.pb.h"
#include "ortools/sat/cp_model_utils.h"
#include "ortools/sat/diffn_util.h"
#include "ortools/sat/primary_variables.h"
#include "ortools/sat/sat_parameters.pb.h"
#include "ortools/util/saturated_arithmetic.h"
#include "ortools/util/sorted_interval_list.h"

Go to the source code of this file.

Namespaces

namespace  operations_research
 OR-Tools root namespace.
namespace  operations_research::sat

Macros

#define RETURN_IF_NOT_EMPTY(statement)

Functions

 ABSL_FLAG (bool, cp_model_check_dependent_variables, false, "When true, check that solutions can be computed only from their " "free variables.")
bool operations_research::sat::PossibleIntegerOverflow (const CpModelProto &model, absl::Span< const int > vars, absl::Span< const int64_t > coeffs, int64_t offset, std::pair< int64_t, int64_t > *implied_domain)
std::string operations_research::sat::ValidateCpModel (const CpModelProto &model, bool after_presolve)
std::string operations_research::sat::ValidateInputCpModel (const SatParameters &params, const CpModelProto &model)
bool operations_research::sat::ConstraintIsFeasible (const CpModelProto &model, const ConstraintProto &constraint, absl::Span< const int64_t > variable_values)
bool operations_research::sat::SolutionIsFeasible (const CpModelProto &model, absl::Span< const int64_t > variable_values, const CpModelProto *mapping_proto, const std::vector< int > *postsolve_mapping)
bool operations_research::sat::SolutionCanBeOptimal (const CpModelProto &model, absl::Span< const int64_t > variable_values)

Macro Definition Documentation

◆ RETURN_IF_NOT_EMPTY

#define RETURN_IF_NOT_EMPTY ( statement)
Value:
do { \
const std::string error_message = statement; \
if (!error_message.empty()) return error_message; \
} while (false)

Definition at line 59 of file cp_model_checker.cc.

Function Documentation

◆ ABSL_FLAG()

ABSL_FLAG ( bool ,
cp_model_check_dependent_variables ,
false ,
"When true,
check that solutions can be computed only from their " "free variables."  )