DotNet Reference
DotNet Reference
Detailed Description
Next id: 29
Definition at line 3562 of file CpModel.pb.cs.
Public Types | |
| enum | ConstraintOneofCase { None = 0, BoolOr = 3, BoolAnd = 4, AtMostOne = 26, BoolXor = 5, IntDiv = 7, IntMod = 8, IntMax = 9, LinMax = 27, IntMin = 10, LinMin = 28, IntProd = 11, Linear = 12, AllDiff = 13, Element = 14, Circuit = 15, Routes = 23, CircuitCovering = 25, Table = 16, Automaton = 17, Inverse = 18, Reservoir = 24, Interval = 19, NoOverlap = 20, NoOverlap2D = 21, Cumulative = 22 } |
| Enum of possible cases for the "constraint" oneof. More... | |
Public Member Functions | |
| ConstraintProto () | |
| ConstraintProto (ConstraintProto other) | |
| ConstraintProto | Clone () |
| void | ClearConstraint () |
| override bool | Equals (object other) |
| bool | Equals (ConstraintProto other) |
| override int | GetHashCode () |
| override string | ToString () |
| void | WriteTo (pb::CodedOutputStream output) |
| int | CalculateSize () |
| void | MergeFrom (ConstraintProto other) |
| void | MergeFrom (pb::CodedInputStream input) |
Static Public Attributes | |
| const int | NameFieldNumber = 1 |
| Field number for the "name" field. More... | |
| const int | EnforcementLiteralFieldNumber = 2 |
| Field number for the "enforcement_literal" field. More... | |
| const int | BoolOrFieldNumber = 3 |
| Field number for the "bool_or" field. More... | |
| const int | BoolAndFieldNumber = 4 |
| Field number for the "bool_and" field. More... | |
| const int | AtMostOneFieldNumber = 26 |
| Field number for the "at_most_one" field. More... | |
| const int | BoolXorFieldNumber = 5 |
| Field number for the "bool_xor" field. More... | |
| const int | IntDivFieldNumber = 7 |
| Field number for the "int_div" field. More... | |
| const int | IntModFieldNumber = 8 |
| Field number for the "int_mod" field. More... | |
| const int | IntMaxFieldNumber = 9 |
| Field number for the "int_max" field. More... | |
| const int | LinMaxFieldNumber = 27 |
| Field number for the "lin_max" field. More... | |
| const int | IntMinFieldNumber = 10 |
| Field number for the "int_min" field. More... | |
| const int | LinMinFieldNumber = 28 |
| Field number for the "lin_min" field. More... | |
| const int | IntProdFieldNumber = 11 |
| Field number for the "int_prod" field. More... | |
| const int | LinearFieldNumber = 12 |
| Field number for the "linear" field. More... | |
| const int | AllDiffFieldNumber = 13 |
| Field number for the "all_diff" field. More... | |
| const int | ElementFieldNumber = 14 |
| Field number for the "element" field. More... | |
| const int | CircuitFieldNumber = 15 |
| Field number for the "circuit" field. More... | |
| const int | RoutesFieldNumber = 23 |
| Field number for the "routes" field. More... | |
| const int | CircuitCoveringFieldNumber = 25 |
| Field number for the "circuit_covering" field. More... | |
| const int | TableFieldNumber = 16 |
| Field number for the "table" field. More... | |
| const int | AutomatonFieldNumber = 17 |
| Field number for the "automaton" field. More... | |
| const int | InverseFieldNumber = 18 |
| Field number for the "inverse" field. More... | |
| const int | ReservoirFieldNumber = 24 |
| Field number for the "reservoir" field. More... | |
| const int | IntervalFieldNumber = 19 |
| Field number for the "interval" field. More... | |
| const int | NoOverlapFieldNumber = 20 |
| Field number for the "no_overlap" field. More... | |
| const int | NoOverlap2DFieldNumber = 21 |
| Field number for the "no_overlap_2d" field. More... | |
| const int | CumulativeFieldNumber = 22 |
| Field number for the "cumulative" field. More... | |
Properties | |
| static pb::MessageParser< ConstraintProto > | Parser [get] |
| static pbr::MessageDescriptor | Descriptor [get] |
| string | Name [get, set] |
| For debug/logging only. More... | |
| pbc::RepeatedField< int > | EnforcementLiteral [get] |
| The constraint will be enforced iff all literals listed here are true. More... | |
| global::Google.OrTools.Sat.BoolArgumentProto?? | BoolOr [get, set] |
| The bool_or constraint forces at least one literal to be true. More... | |
| global::Google.OrTools.Sat.BoolArgumentProto?? | BoolAnd [get, set] |
| The bool_and constraint forces all of the literals to be true. More... | |
| global::Google.OrTools.Sat.BoolArgumentProto?? | AtMostOne [get, set] |
| The at_most_one constraint enforces that no more than one literal is true at the same time. More... | |
| global::Google.OrTools.Sat.BoolArgumentProto?? | BoolXor [get, set] |
| The bool_xor constraint forces an odd number of the literals to be true. More... | |
| global::Google.OrTools.Sat.IntegerArgumentProto?? | IntDiv [get, set] |
| The int_div constraint forces the target to equal vars[0] / vars[1]. More... | |
| global::Google.OrTools.Sat.IntegerArgumentProto?? | IntMod [get, set] |
| The int_mod constraint forces the target to equal vars[0] % vars[1]. More... | |
| global::Google.OrTools.Sat.IntegerArgumentProto?? | IntMax [get, set] |
| The int_max constraint forces the target to equal the maximum of all variables. More... | |
| global::Google.OrTools.Sat.LinearArgumentProto?? | LinMax [get, set] |
| The lin_max constraint forces the target to equal the maximum of all linear expressions. More... | |
| global::Google.OrTools.Sat.IntegerArgumentProto?? | IntMin [get, set] |
| The int_min constraint forces the target to equal the minimum of all variables. More... | |
| global::Google.OrTools.Sat.LinearArgumentProto?? | LinMin [get, set] |
| The lin_min constraint forces the target to equal the minimum of all linear expressions. More... | |
| global::Google.OrTools.Sat.IntegerArgumentProto?? | IntProd [get, set] |
| The int_prod constraint forces the target to equal the product of all variables. More... | |
| global::Google.OrTools.Sat.LinearConstraintProto?? | Linear [get, set] |
| The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10. More... | |
| global::Google.OrTools.Sat.AllDifferentConstraintProto?? | AllDiff [get, set] |
| The all_diff constraint forces all variables to take different values. More... | |
| global::Google.OrTools.Sat.ElementConstraintProto?? | Element [get, set] |
| The element constraint forces the variable with the given index to be equal to the target. More... | |
| global::Google.OrTools.Sat.CircuitConstraintProto?? | Circuit [get, set] |
| The circuit constraint takes a graph and forces the arcs present (with arc presence indicated by a literal) to form a unique cycle. More... | |
| global::Google.OrTools.Sat.RoutesConstraintProto?? | Routes [get, set] |
| The routes constraint implements the vehicle routing problem. More... | |
| global::Google.OrTools.Sat.CircuitCoveringConstraintProto?? | CircuitCovering [get, set] |
| The circuit_covering constraint is similar to the circuit constraint, but allows multiple non-overlapping cycles instead of just one. More... | |
| global::Google.OrTools.Sat.TableConstraintProto?? | Table [get, set] |
| The table constraint enforces what values a tuple of variables may take. More... | |
| global::Google.OrTools.Sat.AutomatonConstraintProto?? | Automaton [get, set] |
| The automaton constraint forces a sequence of variables to be accepted by an automaton. More... | |
| global::Google.OrTools.Sat.InverseConstraintProto?? | Inverse [get, set] |
| The inverse constraint forces two arrays to be inverses of each other: the values of one are the indices of the other, and vice versa. More... | |
| global::Google.OrTools.Sat.ReservoirConstraintProto?? | Reservoir [get, set] |
| The reservoir constraint forces the sum of a set of active demands to always be between a specified minimum and maximum value during specific times. More... | |
| global::Google.OrTools.Sat.IntervalConstraintProto?? | Interval [get, set] |
| The interval constraint takes a start, end, and size, and forces start + size == end. More... | |
| global::Google.OrTools.Sat.NoOverlapConstraintProto?? | NoOverlap [get, set] |
| The no_overlap constraint prevents a set of intervals from overlapping; in scheduling, this is called a disjunctive constraint. More... | |
| global::Google.OrTools.Sat.NoOverlap2DConstraintProto?? | NoOverlap2D [get, set] |
| The no_overlap_2d constraint prevents a set of boxes from overlapping. More... | |
| global::Google.OrTools.Sat.CumulativeConstraintProto?? | Cumulative [get, set] |
| The cumulative constraint ensures that for any integer point, the sum of the demands of the intervals containing that point does not exceed the capacity. More... | |
| ConstraintOneofCase | ConstraintCase [get] |
Member Enumeration Documentation
◆ ConstraintOneofCase
|
strong |
Enum of possible cases for the "constraint" oneof.
Definition at line 4096 of file CpModel.pb.cs.
Constructor & Destructor Documentation
◆ ConstraintProto() [1/2]
|
inline |
Definition at line 3579 of file CpModel.pb.cs.
◆ ConstraintProto() [2/2]
|
inline |
Definition at line 3586 of file CpModel.pb.cs.
Member Function Documentation
◆ CalculateSize()
|
inline |
Definition at line 4335 of file CpModel.pb.cs.
◆ ClearConstraint()
|
inline |
Definition at line 4131 of file CpModel.pb.cs.
◆ Clone()
|
inline |
Definition at line 3671 of file CpModel.pb.cs.
◆ Equals() [1/2]
|
inline |
Definition at line 4142 of file CpModel.pb.cs.
◆ Equals() [2/2]
|
inline |
Definition at line 4137 of file CpModel.pb.cs.
◆ GetHashCode()
|
inline |
Definition at line 4181 of file CpModel.pb.cs.
◆ MergeFrom() [1/2]
|
inline |
Definition at line 4423 of file CpModel.pb.cs.
◆ MergeFrom() [2/2]
|
inline |
Definition at line 4588 of file CpModel.pb.cs.
◆ ToString()
|
inline |
Definition at line 4218 of file CpModel.pb.cs.
◆ WriteTo()
|
inline |
Definition at line 4223 of file CpModel.pb.cs.
Member Data Documentation
◆ AllDiffFieldNumber
|
static |
Field number for the "all_diff" field.
Definition at line 3900 of file CpModel.pb.cs.
◆ AtMostOneFieldNumber
|
static |
Field number for the "at_most_one" field.
Definition at line 3748 of file CpModel.pb.cs.
◆ AutomatonFieldNumber
|
static |
Field number for the "automaton" field.
Definition at line 3988 of file CpModel.pb.cs.
◆ BoolAndFieldNumber
|
static |
Field number for the "bool_and" field.
Definition at line 3730 of file CpModel.pb.cs.
◆ BoolOrFieldNumber
|
static |
Field number for the "bool_or" field.
Definition at line 3716 of file CpModel.pb.cs.
◆ BoolXorFieldNumber
|
static |
Field number for the "bool_xor" field.
Definition at line 3766 of file CpModel.pb.cs.
◆ CircuitCoveringFieldNumber
|
static |
Field number for the "circuit_covering" field.
Definition at line 3958 of file CpModel.pb.cs.
◆ CircuitFieldNumber
|
static |
Field number for the "circuit" field.
Definition at line 3929 of file CpModel.pb.cs.
◆ CumulativeFieldNumber
|
static |
Field number for the "cumulative" field.
Definition at line 4079 of file CpModel.pb.cs.
◆ ElementFieldNumber
|
static |
Field number for the "element" field.
Definition at line 3914 of file CpModel.pb.cs.
◆ EnforcementLiteralFieldNumber
|
static |
Field number for the "enforcement_literal" field.
Definition at line 3690 of file CpModel.pb.cs.
◆ IntDivFieldNumber
|
static |
Field number for the "int_div" field.
Definition at line 3780 of file CpModel.pb.cs.
◆ IntervalFieldNumber
|
static |
Field number for the "interval" field.
Definition at line 4034 of file CpModel.pb.cs.
◆ IntMaxFieldNumber
|
static |
Field number for the "int_max" field.
Definition at line 3808 of file CpModel.pb.cs.
◆ IntMinFieldNumber
|
static |
Field number for the "int_min" field.
Definition at line 3839 of file CpModel.pb.cs.
◆ IntModFieldNumber
|
static |
Field number for the "int_mod" field.
Definition at line 3794 of file CpModel.pb.cs.
◆ IntProdFieldNumber
|
static |
Field number for the "int_prod" field.
Definition at line 3870 of file CpModel.pb.cs.
◆ InverseFieldNumber
|
static |
Field number for the "inverse" field.
Definition at line 4003 of file CpModel.pb.cs.
◆ LinearFieldNumber
|
static |
Field number for the "linear" field.
Definition at line 3885 of file CpModel.pb.cs.
◆ LinMaxFieldNumber
|
static |
Field number for the "lin_max" field.
Definition at line 3824 of file CpModel.pb.cs.
◆ LinMinFieldNumber
|
static |
Field number for the "lin_min" field.
Definition at line 3855 of file CpModel.pb.cs.
◆ NameFieldNumber
|
static |
Field number for the "name" field.
Definition at line 3676 of file CpModel.pb.cs.
◆ NoOverlap2DFieldNumber
|
static |
Field number for the "no_overlap_2d" field.
Definition at line 4065 of file CpModel.pb.cs.
◆ NoOverlapFieldNumber
|
static |
Field number for the "no_overlap" field.
Definition at line 4049 of file CpModel.pb.cs.
◆ ReservoirFieldNumber
|
static |
Field number for the "reservoir" field.
Definition at line 4018 of file CpModel.pb.cs.
◆ RoutesFieldNumber
|
static |
Field number for the "routes" field.
Definition at line 3944 of file CpModel.pb.cs.
◆ TableFieldNumber
|
static |
Field number for the "table" field.
Definition at line 3973 of file CpModel.pb.cs.
Property Documentation
◆ AllDiff
|
getset |
The all_diff constraint forces all variables to take different values.
Definition at line 3905 of file CpModel.pb.cs.
◆ AtMostOne
|
getset |
The at_most_one constraint enforces that no more than one literal is true at the same time.
Note that an at most one constraint of length n could be encoded with n bool_and constraint with n-1 term on the right hand side. So in a sense, this constraint contribute directly to the "implication-graph" or the 2-SAT part of the model.
Definition at line 3757 of file CpModel.pb.cs.
◆ Automaton
|
getset |
The automaton constraint forces a sequence of variables to be accepted by an automaton.
Definition at line 3994 of file CpModel.pb.cs.
◆ BoolAnd
|
getset |
The bool_and constraint forces all of the literals to be true.
This is a "redundant" constraint in the sense that this can easily be encoded with many bool_or. It is just more space efficient and handled slightly differently internally.
Definition at line 3739 of file CpModel.pb.cs.
◆ BoolOr
|
getset |
The bool_or constraint forces at least one literal to be true.
Definition at line 3721 of file CpModel.pb.cs.
◆ BoolXor
|
getset |
The bool_xor constraint forces an odd number of the literals to be true.
Definition at line 3771 of file CpModel.pb.cs.
◆ Circuit
|
getset |
The circuit constraint takes a graph and forces the arcs present (with arc presence indicated by a literal) to form a unique cycle.
Definition at line 3935 of file CpModel.pb.cs.
◆ CircuitCovering
|
getset |
The circuit_covering constraint is similar to the circuit constraint, but allows multiple non-overlapping cycles instead of just one.
Definition at line 3964 of file CpModel.pb.cs.
◆ ConstraintCase
|
get |
Definition at line 4126 of file CpModel.pb.cs.
◆ Cumulative
|
getset |
The cumulative constraint ensures that for any integer point, the sum of the demands of the intervals containing that point does not exceed the capacity.
Definition at line 4086 of file CpModel.pb.cs.
◆ Descriptor
|
staticget |
Definition at line 3569 of file CpModel.pb.cs.
◆ Element
|
getset |
The element constraint forces the variable with the given index to be equal to the target.
Definition at line 3920 of file CpModel.pb.cs.
◆ EnforcementLiteral
|
get |
The constraint will be enforced iff all literals listed here are true.
If this is empty, then the constraint will always be enforced. An enforced constraint must be satisfied, and an un-enforced one will simply be ignored.
This is also called half-reification. To have an equivalence between a literal and a constraint (full reification), one must add both a constraint (controlled by a literal l) and its negation (controlled by the negation of l).
Important: as of September 2018, only a few constraint support enforcement:
- bool_or, bool_and, linear: fully supported.
- interval: only support a single enforcement literal.
- other: no support (but can be added on a per-demand basis).
Definition at line 3711 of file CpModel.pb.cs.
◆ IntDiv
|
getset |
The int_div constraint forces the target to equal vars[0] / vars[1].
Definition at line 3785 of file CpModel.pb.cs.
◆ Interval
|
getset |
The interval constraint takes a start, end, and size, and forces start + size == end.
Definition at line 4040 of file CpModel.pb.cs.
◆ IntMax
|
getset |
The int_max constraint forces the target to equal the maximum of all variables.
TODO(user): Remove int_max in favor of lin_max.
Definition at line 3815 of file CpModel.pb.cs.
◆ IntMin
|
getset |
The int_min constraint forces the target to equal the minimum of all variables.
TODO(user): Remove int_min in favor of lin_min.
Definition at line 3846 of file CpModel.pb.cs.
◆ IntMod
|
getset |
The int_mod constraint forces the target to equal vars[0] % vars[1].
Definition at line 3799 of file CpModel.pb.cs.
◆ IntProd
|
getset |
The int_prod constraint forces the target to equal the product of all variables.
Definition at line 3876 of file CpModel.pb.cs.
◆ Inverse
|
getset |
The inverse constraint forces two arrays to be inverses of each other: the values of one are the indices of the other, and vice versa.
Definition at line 4009 of file CpModel.pb.cs.
◆ Linear
|
getset |
The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10.
Definition at line 3891 of file CpModel.pb.cs.
◆ LinMax
|
getset |
The lin_max constraint forces the target to equal the maximum of all linear expressions.
Definition at line 3830 of file CpModel.pb.cs.
◆ LinMin
|
getset |
The lin_min constraint forces the target to equal the minimum of all linear expressions.
Definition at line 3861 of file CpModel.pb.cs.
◆ Name
|
getset |
◆ NoOverlap
|
getset |
The no_overlap constraint prevents a set of intervals from overlapping; in scheduling, this is called a disjunctive constraint.
Definition at line 4056 of file CpModel.pb.cs.
◆ NoOverlap2D
|
getset |
The no_overlap_2d constraint prevents a set of boxes from overlapping.
Definition at line 4070 of file CpModel.pb.cs.
◆ Parser
|
staticget |
Definition at line 3566 of file CpModel.pb.cs.
◆ Reservoir
|
getset |
The reservoir constraint forces the sum of a set of active demands to always be between a specified minimum and maximum value during specific times.
Definition at line 4025 of file CpModel.pb.cs.
◆ Routes
|
getset |
The routes constraint implements the vehicle routing problem.
Definition at line 3949 of file CpModel.pb.cs.
◆ Table
|
getset |
The table constraint enforces what values a tuple of variables may take.
Definition at line 3979 of file CpModel.pb.cs.
The documentation for this class was generated from the following file: