![]() |
Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
|
#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/meta/type_traits.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 |
In SWIG mode, we don't want anything besides these top-level includes. | |
namespace | operations_research::sat |
Macros | |
#define | RETURN_IF_NOT_EMPTY(statement) |
If the string returned by "statement" is not empty, returns it. |
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 ¶ms, 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) |
Verifies some invariants that any optimal solution must satisfy. |
#define RETURN_IF_NOT_EMPTY | ( | statement | ) |
If the string returned by "statement" is not empty, returns it.
CpModelProto validation.
Definition at line 60 of file cp_model_checker.cc.
ABSL_FLAG | ( | bool | , |
cp_model_check_dependent_variables | , | ||
false | , | ||
"When | true, | ||
check that solutions can be computed only from their " "free variables." | ) |
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.