![]() |
Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
|
EXPERIMENTAL. For now, this is meant to be used by the solver and not filled by clients. More...
Public Member Functions | |
SymmetryProto () | |
SymmetryProto (SymmetryProto other) | |
SymmetryProto | Clone () |
override bool | Equals (object other) |
bool | Equals (SymmetryProto other) |
override int | GetHashCode () |
override string | ToString () |
void | WriteTo (pb::CodedOutputStream output) |
int | CalculateSize () |
void | MergeFrom (SymmetryProto other) |
void | MergeFrom (pb::CodedInputStream input) |
Static Public Attributes | |
const int | PermutationsFieldNumber = 1 |
Field number for the "permutations" field. | |
const int | OrbitopesFieldNumber = 2 |
Field number for the "orbitopes" field. | |
Properties | |
static pb::MessageParser< SymmetryProto > | Parser [get] |
static pbr::MessageDescriptor | Descriptor [get] |
pbc::RepeatedField< global::Google.OrTools.Sat.SparsePermutationProto > | Permutations [get] |
A list of variable indices permutations that leave the feasible space of solution invariant. Usually, we only encode a set of generators of the group. | |
pbc::RepeatedField< global::Google.OrTools.Sat.DenseMatrixProto > | Orbitopes [get] |
An orbitope is a special symmetry structure of the solution space. If the variable indices are arranged in a matrix (with no duplicates), then any permutation of the columns will be a valid permutation of the feasible space. | |
EXPERIMENTAL. For now, this is meant to be used by the solver and not filled by clients.
Hold symmetry information about the set of feasible solutions. If we permute the variable values of any feasible solution using one of the permutation described here, we should always get another feasible solution. We usually also enforce that the objective of the new solution is the same. The group of permutations encoded here is usually computed from the encoding of the model, so it is not meant to be a complete representation of the feasible solution symmetries, just a valid subgroup.
Definition at line 8643 of file CpModel.pb.cs.
|
inline |
Definition at line 8668 of file CpModel.pb.cs.
|
inline |
Definition at line 8676 of file CpModel.pb.cs.
|
inline |
Definition at line 8793 of file CpModel.pb.cs.
|
inline |
Definition at line 8684 of file CpModel.pb.cs.
|
inline |
Definition at line 8729 of file CpModel.pb.cs.
|
inline |
Definition at line 8735 of file CpModel.pb.cs.
|
inline |
Definition at line 8749 of file CpModel.pb.cs.
|
inline |
Definition at line 8816 of file CpModel.pb.cs.
|
inline |
Definition at line 8805 of file CpModel.pb.cs.
|
inline |
Definition at line 8761 of file CpModel.pb.cs.
|
inline |
Definition at line 8767 of file CpModel.pb.cs.
|
static |
Field number for the "orbitopes" field.
Definition at line 8705 of file CpModel.pb.cs.
|
static |
Field number for the "permutations" field.
Definition at line 8689 of file CpModel.pb.cs.
|
staticget |
Definition at line 8656 of file CpModel.pb.cs.
|
get |
An orbitope is a special symmetry structure of the solution space. If the variable indices are arranged in a matrix (with no duplicates), then any permutation of the columns will be a valid permutation of the feasible space.
This arise quite often. The typical example is a graph coloring problem where for each node i, you have j booleans to indicate its color. If the variables color_of_i_is_j are arranged in a matrix[i][j], then any columns permutations leave the problem invariant.
Definition at line 8723 of file CpModel.pb.cs.
|
staticget |
Definition at line 8652 of file CpModel.pb.cs.
|
get |
A list of variable indices permutations that leave the feasible space of solution invariant. Usually, we only encode a set of generators of the group.
Definition at line 8700 of file CpModel.pb.cs.