Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
Google.OrTools.Sat.ConstraintProto Class Referencesealed

Next id: 31. More...

Detailed Description

Next id: 31.

Definition at line 5346 of file CpModel.pb.cs.

Inheritance diagram for Google.OrTools.Sat.ConstraintProto:

Public Types

enum  ConstraintOneofCase {
  None = 0 , BoolOr = 3 , BoolAnd = 4 , AtMostOne = 26 ,
  ExactlyOne = 29 , BoolXor = 5 , IntDiv = 7 , IntMod = 8 ,
  IntProd = 11 , LinMax = 27 , Linear = 12 , AllDiff = 13 ,
  Element = 14 , Circuit = 15 , Routes = 23 , Table = 16 ,
  Automaton = 17 , Inverse = 18 , Reservoir = 24 , Interval = 19 ,
  NoOverlap = 20 , NoOverlap2D = 21 , Cumulative = 22 , DummyConstraint = 30
}
 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.
const int EnforcementLiteralFieldNumber = 2
 Field number for the "enforcement_literal" field.
const int BoolOrFieldNumber = 3
 Field number for the "bool_or" field.
const int BoolAndFieldNumber = 4
 Field number for the "bool_and" field.
const int AtMostOneFieldNumber = 26
 Field number for the "at_most_one" field.
const int ExactlyOneFieldNumber = 29
 Field number for the "exactly_one" field.
const int BoolXorFieldNumber = 5
 Field number for the "bool_xor" field.
const int IntDivFieldNumber = 7
 Field number for the "int_div" field.
const int IntModFieldNumber = 8
 Field number for the "int_mod" field.
const int IntProdFieldNumber = 11
 Field number for the "int_prod" field.
const int LinMaxFieldNumber = 27
 Field number for the "lin_max" field.
const int LinearFieldNumber = 12
 Field number for the "linear" field.
const int AllDiffFieldNumber = 13
 Field number for the "all_diff" field.
const int ElementFieldNumber = 14
 Field number for the "element" field.
const int CircuitFieldNumber = 15
 Field number for the "circuit" field.
const int RoutesFieldNumber = 23
 Field number for the "routes" field.
const int TableFieldNumber = 16
 Field number for the "table" field.
const int AutomatonFieldNumber = 17
 Field number for the "automaton" field.
const int InverseFieldNumber = 18
 Field number for the "inverse" field.
const int ReservoirFieldNumber = 24
 Field number for the "reservoir" field.
const int IntervalFieldNumber = 19
 Field number for the "interval" field.
const int NoOverlapFieldNumber = 20
 Field number for the "no_overlap" field.
const int NoOverlap2DFieldNumber = 21
 Field number for the "no_overlap_2d" field.
const int CumulativeFieldNumber = 22
 Field number for the "cumulative" field.
const int DummyConstraintFieldNumber = 30
 Field number for the "dummy_constraint" field.

Properties

static pb::MessageParser< ConstraintProtoParser [get]
static pbr::MessageDescriptor Descriptor [get]
string Name [get, set]
 For debug/logging only. Can be empty.
pbc::RepeatedField< int > 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.
global::Google.OrTools.Sat.BoolArgumentProto BoolOr [get, set]
 The bool_or constraint forces at least one literal to be true.
global::Google.OrTools.Sat.BoolArgumentProto BoolAnd [get, set]
 The bool_and constraint forces all of the literals to be true.
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.
global::Google.OrTools.Sat.BoolArgumentProto ExactlyOne [get, set]
 The exactly_one constraint force exactly one literal to true and no more.
global::Google.OrTools.Sat.BoolArgumentProto BoolXor [get, set]
 The bool_xor constraint forces an odd number of the literals to be true.
global::Google.OrTools.Sat.LinearArgumentProto IntDiv [get, set]
 The int_div constraint forces the target to equal exprs[0] / exprs[1]. The division is "rounded" towards zero, so we can have for instance (2 = 12 / 5) or (-3 = -10 / 3). If you only want exact integer division, then you should use instead of t = a / b, the int_prod constraint a = b * t.
global::Google.OrTools.Sat.LinearArgumentProto IntMod [get, set]
 The int_mod constraint forces the target to equal exprs[0] % exprs[1]. The domain of exprs[1] must be strictly positive. The sign of the target is the same as the sign of exprs[0].
global::Google.OrTools.Sat.LinearArgumentProto IntProd [get, set]
 The int_prod constraint forces the target to equal the product of all variables. By convention, because we can just remove term equal to one, the empty product forces the target to be one.
global::Google.OrTools.Sat.LinearArgumentProto LinMax [get, set]
 The lin_max constraint forces the target to equal the maximum of all linear expressions.
global::Google.OrTools.Sat.LinearConstraintProto Linear [get, set]
 The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10.
global::Google.OrTools.Sat.AllDifferentConstraintProto AllDiff [get, set]
 The all_diff constraint forces all variables to take different values.
global::Google.OrTools.Sat.ElementConstraintProto Element [get, set]
 The element constraint forces the variable with the given index to be equal to the target.
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.
global::Google.OrTools.Sat.RoutesConstraintProto Routes [get, set]
 The routes constraint implements the vehicle routing problem.
global::Google.OrTools.Sat.TableConstraintProto Table [get, set]
 The table constraint enforces what values a tuple of variables may take.
global::Google.OrTools.Sat.AutomatonConstraintProto Automaton [get, set]
 The automaton constraint forces a sequence of variables to be accepted by an automaton.
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.
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.
global::Google.OrTools.Sat.IntervalConstraintProto Interval [get, set]
 The interval constraint takes a start, end, and size, and forces start + size == end.
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.
global::Google.OrTools.Sat.NoOverlap2DConstraintProto NoOverlap2D [get, set]
 The no_overlap_2d constraint prevents a set of boxes from overlapping.
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.
global::Google.OrTools.Sat.ListOfVariablesProto DummyConstraint [get, set]
 This constraint is not meant to be used and will be rejected by the solver. It is meant to mark variable when testing the presolve code.
ConstraintOneofCase ConstraintCase [get]

Member Enumeration Documentation

◆ ConstraintOneofCase

Enum of possible cases for the "constraint" oneof.

Enumerator
None 
BoolOr 
BoolAnd 
AtMostOne 
ExactlyOne 
BoolXor 
IntDiv 
IntMod 
IntProd 
LinMax 
Linear 
AllDiff 
Element 
Circuit 
Routes 
Table 
Automaton 
Inverse 
Reservoir 
Interval 
NoOverlap 
NoOverlap2D 
Cumulative 
DummyConstraint 

Definition at line 5907 of file CpModel.pb.cs.

Constructor & Destructor Documentation

◆ ConstraintProto() [1/2]

Google.OrTools.Sat.ConstraintProto.ConstraintProto ( )
inline

Definition at line 5371 of file CpModel.pb.cs.

◆ ConstraintProto() [2/2]

Google.OrTools.Sat.ConstraintProto.ConstraintProto ( ConstraintProto other)
inline

Definition at line 5379 of file CpModel.pb.cs.

Member Function Documentation

◆ CalculateSize()

int Google.OrTools.Sat.ConstraintProto.CalculateSize ( )
inline

Definition at line 6251 of file CpModel.pb.cs.

◆ ClearConstraint()

void Google.OrTools.Sat.ConstraintProto.ClearConstraint ( )
inline

Definition at line 5942 of file CpModel.pb.cs.

◆ Clone()

ConstraintProto Google.OrTools.Sat.ConstraintProto.Clone ( )
inline

Definition at line 5459 of file CpModel.pb.cs.

◆ Equals() [1/2]

bool Google.OrTools.Sat.ConstraintProto.Equals ( ConstraintProto other)
inline

Definition at line 5955 of file CpModel.pb.cs.

◆ Equals() [2/2]

override bool Google.OrTools.Sat.ConstraintProto.Equals ( object other)
inline

Definition at line 5949 of file CpModel.pb.cs.

◆ GetHashCode()

override int Google.OrTools.Sat.ConstraintProto.GetHashCode ( )
inline

Definition at line 5993 of file CpModel.pb.cs.

◆ MergeFrom() [1/2]

void Google.OrTools.Sat.ConstraintProto.MergeFrom ( ConstraintProto other)
inline

Definition at line 6334 of file CpModel.pb.cs.

◆ MergeFrom() [2/2]

void Google.OrTools.Sat.ConstraintProto.MergeFrom ( pb.CodedInputStream input)
inline

Definition at line 6488 of file CpModel.pb.cs.

◆ ToString()

override string Google.OrTools.Sat.ConstraintProto.ToString ( )
inline

Definition at line 6029 of file CpModel.pb.cs.

◆ WriteTo()

void Google.OrTools.Sat.ConstraintProto.WriteTo ( pb.CodedOutputStream output)
inline

Definition at line 6035 of file CpModel.pb.cs.

Member Data Documentation

◆ AllDiffFieldNumber

const int Google.OrTools.Sat.ConstraintProto.AllDiffFieldNumber = 13
static

Field number for the "all_diff" field.

Definition at line 5698 of file CpModel.pb.cs.

◆ AtMostOneFieldNumber

const int Google.OrTools.Sat.ConstraintProto.AtMostOneFieldNumber = 26
static

Field number for the "at_most_one" field.

Definition at line 5543 of file CpModel.pb.cs.

◆ AutomatonFieldNumber

const int Google.OrTools.Sat.ConstraintProto.AutomatonFieldNumber = 17
static

Field number for the "automaton" field.

Definition at line 5776 of file CpModel.pb.cs.

◆ BoolAndFieldNumber

const int Google.OrTools.Sat.ConstraintProto.BoolAndFieldNumber = 4
static

Field number for the "bool_and" field.

Definition at line 5523 of file CpModel.pb.cs.

◆ BoolOrFieldNumber

const int Google.OrTools.Sat.ConstraintProto.BoolOrFieldNumber = 3
static

Field number for the "bool_or" field.

Definition at line 5508 of file CpModel.pb.cs.

◆ BoolXorFieldNumber

const int Google.OrTools.Sat.ConstraintProto.BoolXorFieldNumber = 5
static

Field number for the "bool_xor" field.

Definition at line 5588 of file CpModel.pb.cs.

◆ CircuitFieldNumber

const int Google.OrTools.Sat.ConstraintProto.CircuitFieldNumber = 15
static

Field number for the "circuit" field.

Definition at line 5729 of file CpModel.pb.cs.

◆ CumulativeFieldNumber

const int Google.OrTools.Sat.ConstraintProto.CumulativeFieldNumber = 22
static

Field number for the "cumulative" field.

Definition at line 5873 of file CpModel.pb.cs.

◆ DummyConstraintFieldNumber

const int Google.OrTools.Sat.ConstraintProto.DummyConstraintFieldNumber = 30
static

Field number for the "dummy_constraint" field.

Definition at line 5890 of file CpModel.pb.cs.

◆ ElementFieldNumber

const int Google.OrTools.Sat.ConstraintProto.ElementFieldNumber = 14
static

Field number for the "element" field.

Definition at line 5713 of file CpModel.pb.cs.

◆ EnforcementLiteralFieldNumber

const int Google.OrTools.Sat.ConstraintProto.EnforcementLiteralFieldNumber = 2
static

Field number for the "enforcement_literal" field.

Definition at line 5479 of file CpModel.pb.cs.

◆ ExactlyOneFieldNumber

const int Google.OrTools.Sat.ConstraintProto.ExactlyOneFieldNumber = 29
static

Field number for the "exactly_one" field.

Definition at line 5565 of file CpModel.pb.cs.

◆ IntDivFieldNumber

const int Google.OrTools.Sat.ConstraintProto.IntDivFieldNumber = 7
static

Field number for the "int_div" field.

Definition at line 5603 of file CpModel.pb.cs.

◆ IntervalFieldNumber

const int Google.OrTools.Sat.ConstraintProto.IntervalFieldNumber = 19
static

Field number for the "interval" field.

Definition at line 5825 of file CpModel.pb.cs.

◆ IntModFieldNumber

const int Google.OrTools.Sat.ConstraintProto.IntModFieldNumber = 8
static

Field number for the "int_mod" field.

Definition at line 5625 of file CpModel.pb.cs.

◆ IntProdFieldNumber

const int Google.OrTools.Sat.ConstraintProto.IntProdFieldNumber = 11
static

Field number for the "int_prod" field.

Definition at line 5642 of file CpModel.pb.cs.

◆ InverseFieldNumber

const int Google.OrTools.Sat.ConstraintProto.InverseFieldNumber = 18
static

Field number for the "inverse" field.

Definition at line 5792 of file CpModel.pb.cs.

◆ LinearFieldNumber

const int Google.OrTools.Sat.ConstraintProto.LinearFieldNumber = 12
static

Field number for the "linear" field.

Definition at line 5682 of file CpModel.pb.cs.

◆ LinMaxFieldNumber

const int Google.OrTools.Sat.ConstraintProto.LinMaxFieldNumber = 27
static

Field number for the "lin_max" field.

Definition at line 5665 of file CpModel.pb.cs.

◆ NameFieldNumber

const int Google.OrTools.Sat.ConstraintProto.NameFieldNumber = 1
static

Field number for the "name" field.

Definition at line 5464 of file CpModel.pb.cs.

◆ NoOverlap2DFieldNumber

const int Google.OrTools.Sat.ConstraintProto.NoOverlap2DFieldNumber = 21
static

Field number for the "no_overlap_2d" field.

Definition at line 5858 of file CpModel.pb.cs.

◆ NoOverlapFieldNumber

const int Google.OrTools.Sat.ConstraintProto.NoOverlapFieldNumber = 20
static

Field number for the "no_overlap" field.

Definition at line 5841 of file CpModel.pb.cs.

◆ ReservoirFieldNumber

const int Google.OrTools.Sat.ConstraintProto.ReservoirFieldNumber = 24
static

Field number for the "reservoir" field.

Definition at line 5808 of file CpModel.pb.cs.

◆ RoutesFieldNumber

const int Google.OrTools.Sat.ConstraintProto.RoutesFieldNumber = 23
static

Field number for the "routes" field.

Definition at line 5745 of file CpModel.pb.cs.

◆ TableFieldNumber

const int Google.OrTools.Sat.ConstraintProto.TableFieldNumber = 16
static

Field number for the "table" field.

Definition at line 5760 of file CpModel.pb.cs.

Property Documentation

◆ AllDiff

global.Google.OrTools.Sat.AllDifferentConstraintProto Google.OrTools.Sat.ConstraintProto.AllDiff
getset

The all_diff constraint forces all variables to take different values.

Definition at line 5704 of file CpModel.pb.cs.

◆ AtMostOne

global.Google.OrTools.Sat.BoolArgumentProto Google.OrTools.Sat.ConstraintProto.AtMostOne
getset

The at_most_one constraint enforces that no more than one literal is true at the same time.

Note
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 5556 of file CpModel.pb.cs.

◆ Automaton

global.Google.OrTools.Sat.AutomatonConstraintProto Google.OrTools.Sat.ConstraintProto.Automaton
getset

The automaton constraint forces a sequence of variables to be accepted by an automaton.

Definition at line 5783 of file CpModel.pb.cs.

◆ BoolAnd

global.Google.OrTools.Sat.BoolArgumentProto Google.OrTools.Sat.ConstraintProto.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 or at_most_one. It is just more space efficient and handled slightly differently internally.

Definition at line 5534 of file CpModel.pb.cs.

◆ BoolOr

global.Google.OrTools.Sat.BoolArgumentProto Google.OrTools.Sat.ConstraintProto.BoolOr
getset

The bool_or constraint forces at least one literal to be true.

Definition at line 5514 of file CpModel.pb.cs.

◆ BoolXor

global.Google.OrTools.Sat.BoolArgumentProto Google.OrTools.Sat.ConstraintProto.BoolXor
getset

The bool_xor constraint forces an odd number of the literals to be true.

Definition at line 5594 of file CpModel.pb.cs.

◆ Circuit

global.Google.OrTools.Sat.CircuitConstraintProto Google.OrTools.Sat.ConstraintProto.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 5736 of file CpModel.pb.cs.

◆ ConstraintCase

ConstraintOneofCase Google.OrTools.Sat.ConstraintProto.ConstraintCase
get

Definition at line 5936 of file CpModel.pb.cs.

◆ Cumulative

global.Google.OrTools.Sat.CumulativeConstraintProto Google.OrTools.Sat.ConstraintProto.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 5881 of file CpModel.pb.cs.

◆ Descriptor

pbr.MessageDescriptor Google.OrTools.Sat.ConstraintProto.Descriptor
staticget

Definition at line 5359 of file CpModel.pb.cs.

◆ DummyConstraint

global.Google.OrTools.Sat.ListOfVariablesProto Google.OrTools.Sat.ConstraintProto.DummyConstraint
getset

This constraint is not meant to be used and will be rejected by the solver. It is meant to mark variable when testing the presolve code.

Definition at line 5897 of file CpModel.pb.cs.

◆ Element

global.Google.OrTools.Sat.ElementConstraintProto Google.OrTools.Sat.ConstraintProto.Element
getset

The element constraint forces the variable with the given index to be equal to the target.

Definition at line 5720 of file CpModel.pb.cs.

◆ EnforcementLiteral

pbc.RepeatedField<int> Google.OrTools.Sat.ConstraintProto.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 2025, some constraints might be less efficient with enforcement than without: circuit, routes, no_overlap, no_overlap_2d, and cumulative. If performance is not great, consider using a model without these constraints enforced.

Definition at line 5503 of file CpModel.pb.cs.

◆ ExactlyOne

global.Google.OrTools.Sat.BoolArgumentProto Google.OrTools.Sat.ConstraintProto.ExactlyOne
getset

The exactly_one constraint force exactly one literal to true and no more.

Anytime a bool_or (it could have been called at_least_one) is included into an at_most_one, then the bool_or is actually an exactly one constraint, and the extra literal in the at_most_one can be set to false. So in this sense, this constraint is not really needed. it is just here for a better description of the problem structure and to facilitate some algorithm.

Definition at line 5579 of file CpModel.pb.cs.

◆ IntDiv

global.Google.OrTools.Sat.LinearArgumentProto Google.OrTools.Sat.ConstraintProto.IntDiv
getset

The int_div constraint forces the target to equal exprs[0] / exprs[1]. The division is "rounded" towards zero, so we can have for instance (2 = 12 / 5) or (-3 = -10 / 3). If you only want exact integer division, then you should use instead of t = a / b, the int_prod constraint a = b * t.

If 0 belongs to the domain of exprs[1], then the model is deemed invalid.

Definition at line 5616 of file CpModel.pb.cs.

◆ Interval

global.Google.OrTools.Sat.IntervalConstraintProto Google.OrTools.Sat.ConstraintProto.Interval
getset

The interval constraint takes a start, end, and size, and forces start + size == end.

Definition at line 5832 of file CpModel.pb.cs.

◆ IntMod

global.Google.OrTools.Sat.LinearArgumentProto Google.OrTools.Sat.ConstraintProto.IntMod
getset

The int_mod constraint forces the target to equal exprs[0] % exprs[1]. The domain of exprs[1] must be strictly positive. The sign of the target is the same as the sign of exprs[0].

Definition at line 5633 of file CpModel.pb.cs.

◆ IntProd

global.Google.OrTools.Sat.LinearArgumentProto Google.OrTools.Sat.ConstraintProto.IntProd
getset

The int_prod constraint forces the target to equal the product of all variables. By convention, because we can just remove term equal to one, the empty product forces the target to be one.

Note
the solver checks for potential integer overflow. So the product of the maximum absolute value of all the terms (using the initial domain) should fit on an int64. Otherwise the model will be declared invalid.

Definition at line 5656 of file CpModel.pb.cs.

◆ Inverse

global.Google.OrTools.Sat.InverseConstraintProto Google.OrTools.Sat.ConstraintProto.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 5799 of file CpModel.pb.cs.

◆ Linear

global.Google.OrTools.Sat.LinearConstraintProto Google.OrTools.Sat.ConstraintProto.Linear
getset

The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10.

Definition at line 5689 of file CpModel.pb.cs.

◆ LinMax

global.Google.OrTools.Sat.LinearArgumentProto Google.OrTools.Sat.ConstraintProto.LinMax
getset

The lin_max constraint forces the target to equal the maximum of all linear expressions.

Note
this can model a minimum simply by negating all expressions.

Definition at line 5673 of file CpModel.pb.cs.

◆ Name

string Google.OrTools.Sat.ConstraintProto.Name
getset

For debug/logging only. Can be empty.

Definition at line 5471 of file CpModel.pb.cs.

◆ NoOverlap

global.Google.OrTools.Sat.NoOverlapConstraintProto Google.OrTools.Sat.ConstraintProto.NoOverlap
getset

The no_overlap constraint prevents a set of intervals from overlapping; in scheduling, this is called a disjunctive constraint.

Definition at line 5849 of file CpModel.pb.cs.

◆ NoOverlap2D

global.Google.OrTools.Sat.NoOverlap2DConstraintProto Google.OrTools.Sat.ConstraintProto.NoOverlap2D
getset

The no_overlap_2d constraint prevents a set of boxes from overlapping.

Definition at line 5864 of file CpModel.pb.cs.

◆ Parser

pb.MessageParser<ConstraintProto> Google.OrTools.Sat.ConstraintProto.Parser
staticget

Definition at line 5355 of file CpModel.pb.cs.

◆ Reservoir

global.Google.OrTools.Sat.ReservoirConstraintProto Google.OrTools.Sat.ConstraintProto.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 5816 of file CpModel.pb.cs.

◆ Routes

global.Google.OrTools.Sat.RoutesConstraintProto Google.OrTools.Sat.ConstraintProto.Routes
getset

The routes constraint implements the vehicle routing problem.

Definition at line 5751 of file CpModel.pb.cs.

◆ Table

global.Google.OrTools.Sat.TableConstraintProto Google.OrTools.Sat.ConstraintProto.Table
getset

The table constraint enforces what values a tuple of variables may take.

Definition at line 5767 of file CpModel.pb.cs.


The documentation for this class was generated from the following file: