![]() |
Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
|
#include "ortools/sat/cp_model_symmetries.h"#include <stddef.h>#include <algorithm>#include <cstdint>#include <cstdlib>#include <functional>#include <limits>#include <memory>#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/log/check.h"#include "absl/meta/type_traits.h"#include "absl/status/status.h"#include "absl/strings/str_cat.h"#include "absl/strings/str_join.h"#include "absl/types/span.h"#include "google/protobuf/message.h"#include "ortools/algorithms/binary_search.h"#include "ortools/algorithms/find_graph_symmetries.h"#include "ortools/algorithms/sparse_permutation.h"#include "ortools/base/hash.h"#include "ortools/base/logging.h"#include "ortools/graph/graph.h"#include "ortools/sat/cp_model.pb.h"#include "ortools/sat/cp_model_checker.h"#include "ortools/sat/cp_model_mapping.h"#include "ortools/sat/cp_model_utils.h"#include "ortools/sat/model.h"#include "ortools/sat/presolve_context.h"#include "ortools/sat/sat_base.h"#include "ortools/sat/sat_parameters.pb.h"#include "ortools/sat/sat_solver.h"#include "ortools/sat/solution_crush.h"#include "ortools/sat/symmetry_util.h"#include "ortools/sat/util.h"#include "ortools/util/affine_relation.h"#include "ortools/util/logging.h"#include "ortools/util/saturated_arithmetic.h"#include "ortools/util/sorted_interval_list.h"#include "ortools/util/time_limit.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 | |
| void | operations_research::sat::FindCpModelSymmetries (const SatParameters ¶ms, const CpModelProto &problem, std::vector< std::unique_ptr< SparsePermutation > > *generators, SolverLogger *logger, TimeLimit *solver_time_limit) |
| void | operations_research::sat::DetectAndAddSymmetryToProto (const SatParameters ¶ms, CpModelProto *proto, SolverLogger *logger, TimeLimit *solver_time_limit) |
| Detects symmetries and fill the symmetry field. | |
| bool | operations_research::sat::DetectAndExploitSymmetriesInPresolve (PresolveContext *context) |
| bool | operations_research::sat::FilterOrbitOnUnusedOrFixedVariables (SymmetryProto *symmetry, PresolveContext *context) |