Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: class SymmetryBreaker
Note: This documentation is automatically generated.
A symmetry breaker is an object that will visit a decision and
create the 'symmetrical' decision in return.
Each symmetry breaker represents one class of symmetry.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-06 UTC."],[[["\u003cp\u003eA SymmetryBreaker object in constraint programming helps avoid exploring redundant, symmetrical solutions by identifying and excluding them.\u003c/p\u003e\n"],["\u003cp\u003eIt achieves this by visiting a decision and generating its symmetrical counterpart, essentially representing a class of symmetry.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSymmetryBreaker\u003c/code\u003e class offers methods like \u003ccode\u003eAddIntegerVariableEqualValueClause\u003c/code\u003e, \u003ccode\u003eAddIntegerVariableGreaterOrEqualValueClause\u003c/code\u003e, and \u003ccode\u003eAddIntegerVariableLessOrEqualValueClause\u003c/code\u003e to define constraints related to integer variables and their values, which contribute to breaking symmetries.\u003c/p\u003e\n"]]],["A `SymmetryBreaker` object identifies and creates symmetrical decisions. Each `SymmetryBreaker` represents a class of symmetry. Key methods include: `AddIntegerVariableEqualValueClause`, `AddIntegerVariableGreaterOrEqualValueClause`, and `AddIntegerVariableLessOrEqualValueClause`, all of which take an `IntVar` and an `int64_t` value to manage constraints. There is also a constructor `SymmetryBreaker` and a destructor `~SymmetryBreaker`. These methods manage decisions related to integer variables.\n"],null,["# SymmetryBreaker\n\nC++ Reference: class SymmetryBreaker\n====================================\n\n\nNote: This documentation is automatically generated.\nA symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in return. Each symmetry breaker represents one class of symmetry.\n\n| Method ||\n|----------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------|\n| [`AddIntegerVariableEqualValueClause`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2014) | Return type: `void ` Arguments: `IntVar* const var, int64_t value` \u003cbr /\u003e |\n| [`AddIntegerVariableGreaterOrEqualValueClause`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2015) | Return type: `void ` Arguments: `IntVar* const var, int64_t value` \u003cbr /\u003e |\n| [`AddIntegerVariableLessOrEqualValueClause`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2017) | Return type: `void ` Arguments: `IntVar* const var, int64_t value` \u003cbr /\u003e |\n| [`SymmetryBreaker`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2010) | \u003cbr /\u003e |\n| [`~SymmetryBreaker`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2012) | \u003cbr /\u003e |"]]