Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: cp_model_symmetries
Note: This documentation is automatically generated.
Function |
Type |
Arguments |
Comments |
DetectAndAddSymmetryToProto | Return type: void Arguments: const SatParameters& params, CpModelProto* proto, SolverLogger* logger |
DetectAndExploitSymmetriesInPresolve | Return type: bool Arguments: PresolveContext* context |
FindCpModelSymmetries | Return type: void Arguments: const SatParameters& params, const CpModelProto& problem, std::vector<std::unique_ptr<SparsePermutation>>* generators, double deterministic_limit, SolverLogger* logger |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-08-06 UTC.
[null,null,["Last updated 2024-08-06 UTC."],[[["\u003cp\u003eThe C++ \u003ccode\u003ecp_model_symmetries\u003c/code\u003e library provides functionalities for detecting and handling symmetries in constraint programming models.\u003c/p\u003e\n"],["\u003cp\u003eIt offers functions to identify symmetries within a \u003ccode\u003eCpModelProto\u003c/code\u003e and add them to the problem definition using \u003ccode\u003eDetectAndAddSymmetryToProto\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eSymmetries can also be exploited during presolve to simplify the model with \u003ccode\u003eDetectAndExploitSymmetriesInPresolve\u003c/code\u003e, potentially improving solver performance.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFindCpModelSymmetries\u003c/code\u003e can be used to explicitly find and return symmetry generators for a given \u003ccode\u003eCpModelProto\u003c/code\u003e.\u003c/p\u003e\n"]]],["The `cp_model_symmetries` documentation outlines three core functions: `DetectAndAddSymmetryToProto` adds detected symmetries to a `CpModelProto`. `DetectAndExploitSymmetriesInPresolve` checks for and exploits symmetries during presolving. `FindCpModelSymmetries` identifies symmetries within a `CpModelProto` problem, storing them as `SparsePermutation` generators. These functions take parameters, model protocol buffers, logger and context for analysis. The functions are automatically generated.\n"],null,["# cp_model_symmetries\n\nC++ Reference: cp_model_symmetries\n==================================\n\n\nNote: This documentation is automatically generated.\n\n| Function | Type | Arguments | Comments |\n|------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|----------|\n| [`DetectAndAddSymmetryToProto`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/cp_model_symmetries.h#L51) | Return type: `void ` Arguments: `const SatParameters& params, CpModelProto* proto, SolverLogger* logger` \u003cbr /\u003e |\n| [`DetectAndExploitSymmetriesInPresolve`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/cp_model_symmetries.h#L58) | Return type: `bool ` Arguments: `PresolveContext* context` \u003cbr /\u003e |\n| [`FindCpModelSymmetries`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/cp_model_symmetries.h#L45) | Return type: `void ` Arguments: ` const SatParameters& params, const CpModelProto& problem, std::vector\u003cstd::unique_ptr\u003cSparsePermutation\u003e\u003e* generators, double deterministic_limit, SolverLogger* logger` \u003cbr /\u003e |"]]