<ahref="CpModel_8cs.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">// Copyright 2010-2018 Google LLC</span></div><divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span></div><divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment">// you may not use this file except in compliance with the License.</span></div><divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment">// You may obtain a copy of the License at</span></div><divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> <spanclass="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><divclass="line"><aname="l00007"></a><spanclass="lineno"> 7</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> <spanclass="comment">// Unless required by applicable law or agreed to in writing, software</span></div><divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> <spanclass="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span></div><divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> <spanclass="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment">// See the License for the specific language governing permissions and</span></div><divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment">// limitations under the License.</span></div><divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> </div><divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> <spanclass="keyword">namespace </span><aclass="code"href="namespaceGoogle_1_1OrTools_1_1Sat.html">Google.OrTools.Sat</a></div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> {</div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="keyword">using</span> System;</div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="keyword">using</span> System.<aclass="code"href="namespaceSystem_1_1Collections.html">Collections</a>.Generic;</div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="keyword">using</span><aclass="code"href="namespaceGoogle.html">Google</a>.<aclass="code"href="namespaceGoogle_1_1OrTools.html">OrTools</a>.<aclass="code"href="namespaceGoogle_1_1OrTools_1_1Util.html">Util</a>;</div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> </div><divclass="line"><aname="l00023"></a><spanclass="lineno"><aclass="line"href="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html"> 23</a></span> <spanclass="keyword">public</span><spanclass="keyword">class </span><aclass="code"href="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html">CpModel</a></div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span>  {</div><divclass="line"><aname="l00025"></a><spanclass="lineno"><aclass="line"href="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a03528356626e97f8dbf0d52fde6eb69b"> 25</a></span> <spanclass="keyword">public</span><aclass="code"href="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a03528356626e97f8dbf0d52fde6eb69b">CpModel</a>()</div><divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span>  {</div><divclass="line"><aname="l00027"></a><spanclass="lineno"> 27</span>  model_ = <spanclass=
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_a3bf9edd062e3918aadbe7157e4525859"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a3bf9edd062e3918aadbe7157e4525859">Google.OrTools.Sat.CpModel.AddLinearConstraint</a></div><divclass="ttdeci">Constraint AddLinearConstraint(LinearExpr linear_expr, long lb, long ub)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00072">CpModel.cs:72</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1DecisionStrategyProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1DecisionStrategyProto.html">Google.OrTools.Sat.DecisionStrategyProto</a></div><divclass="ttdoc">Define the strategy to follow when the solver needs to take a new decision.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l04619">CpModel.pb.cs:4619</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_aa8f255d86ae38f2d901b7cf3e84a3c7f"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#aa8f255d86ae38f2d901b7cf3e84a3c7f">Google.OrTools.Sat.CpModel.AddDivisionEquality< T, N, D ></a></div><divclass="ttdeci">Constraint AddDivisionEquality< T, N, D >(T target, N num, D denom)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00462">CpModel.cs:462</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1BoolArgumentProto_html_ab3bf8135cf1d4a89b9bca024ba9d4925"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1BoolArgumentProto.html#ab3bf8135cf1d4a89b9bca024ba9d4925">Google.OrTools.Sat.BoolArgumentProto.Literals</a></div><divclass="ttdeci">pbc::RepeatedField< int > Literals</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l00434">CpModel.pb.cs:434</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1ConstraintProto_html_ac14110895c38f795f5a586ab76c0a6f6"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1ConstraintProto.html#ac14110895c38f795f5a586ab76c0a6f6">Google.OrTools.Sat.ConstraintProto.BoolOr</a></div><divclass="ttdeci">global::Google.OrTools.Sat.BoolArgumentProto?? BoolOr</div><divclass="ttdoc">The bool_or constraint forces at least one literal to be true.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l03339">CpModel.pb.cs:3339</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_ae0d7f8a276d1718fcc92ca1ad70fa8e7"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#ae0d7f8a276d1718fcc92ca1ad70fa8e7">Google.OrTools.Sat.CpModel.AddImplication</a></div><divclass="ttdeci">Constraint AddImplication(ILiteral a, ILiteral b)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00390">CpModel.cs:390</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1TableConstraintProto_html_a8b1b946b2659ad776d922a19e34205cd"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1TableConstraintProto.html#a8b1b946b2659ad776d922a19e34205cd">Google.OrTools.Sat.TableConstraintProto.Negated</a></div><divclass="ttdeci">bool Negated</div><divclass="ttdoc">If true, the meaning is "negated", that is we forbid any of the given tuple from a feasible assignmen...</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l02673">CpModel.pb.cs:2673</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_a5c5f25d9ec9b57e4a0c1f0baf62ff270"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a5c5f25d9ec9b57e4a0c1f0baf62ff270">Google.OrTools.Sat.CpModel.AddModuloEquality< T, V, M ></a></div><divclass="ttdeci">Constraint AddModuloEquality< T, V, M >(T target, V v, M m)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00484">CpModel.cs:484</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CircuitConstraintProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CircuitConstraintProto.html">Google.OrTools.Sat.CircuitConstraintProto</a></div><divclass="ttdoc">The circuit constraint is defined on a graph where the arc presence are controlled by literals.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l02057">CpModel.pb.cs:2057</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModelProto_html_a85c7da36bfbe5a12bc39fb9ff4ef7280"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModelProto.html#a85c7da36bfbe5a12bc39fb9ff4ef7280">Google.OrTools.Sat.CpModelProto.SearchStrategy</a></div><divclass="ttdeci">pbc::RepeatedField< global::Google.OrTools.Sat.DecisionStrategyProto > SearchStrategy</div><divclass="ttdoc">Defines the strategy that the solver should follow when the search_branching parameter is set to FIXE...</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l05306">CpModel.pb.cs:5306</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_a89b487097367c1b32de0a30a7d102652"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a89b487097367c1b32de0a30a7d102652">Google.OrTools.Sat.CpModel.AddReservoirConstraint< I ></a></div><divclass="ttdeci">Constraint AddReservoirConstraint< I >(IEnumerable< IntVar > times, IEnumerable< I > demands, long min_level, long max_level)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00311">CpModel.cs:311</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1ConstraintProto_html_a91f047f06140f58fe9d3594eeb9d3e96"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1ConstraintProto.html#a91f047f06140f58fe9d3594eeb9d3e96">Google.OrTools.Sat.ConstraintProto.EnforcementLiteral</a></div><divclass="ttdeci">pbc::RepeatedField< int > EnforcementLiteral</div><divclass="ttdoc">The constraint will be enforced iff all literals listed here are true.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l03329">CpModel.pb.cs:3329</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1IntegerArgumentProto_html_a0c8c0989c61736c5374cb1b5d7c13ba3"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1IntegerArgumentProto.html#a0c8c0989c61736c5374cb1b5d7c13ba3">Google.OrTools.Sat.IntegerArgumentProto.Vars</a></div><divclass="ttdeci">pbc::RepeatedField< int > Vars</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l00571">CpModel.pb.cs:571</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1DecisionStrategyProto_1_1Types_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1DecisionStrategyProto_1_1Types.html">Google.OrTools.Sat.DecisionStrategyProto.Types</a></div><divclass="ttdoc">Container for nested types declared in the DecisionStrategyProto message type.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l04823">CpModel.pb.cs:4823</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1DecisionStrategyProto_1_1Types_html_a855a897b1424cc769df01ae2aa6f2b80"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1DecisionStrategyProto_1_1Types.html#a855a897b1424cc769df01ae2aa6f2b80">Google.OrTools.Sat.DecisionStrategyProto.Types.DomainReductionStrategy</a></div><divclass="ttdeci">DomainReductionStrategy</div><divclass="ttdoc">Once a variable has been chosen, this enum describe what decision is taken on its domain.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l04844">CpModel.pb.cs:4844</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CumulativeConstraintProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CumulativeConstraintProto.html">Google.OrTools.Sat.CumulativeConstraintProto</a></div><divclass="ttdoc">The sum of the demands of the intervals at each interval point cannot exceed a capacity.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l01628">CpModel.pb.cs:1628</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1IntegerArgumentProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1IntegerArgumentProto.html">Google.OrTools.Sat.IntegerArgumentProto</a></div><divclass="ttdoc">Argument of the constraints of the form target_var = OP(vars).</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l00519">CpModel.pb.cs:519</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_aefe6a4b0462baa2fc4ac77639bb983da"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#aefe6a4b0462baa2fc4ac77639bb983da">Google.OrTools.Sat.CpModel.NewOptionalIntervalVar< S, D, E ></a></div><divclass="ttdeci">IntervalVar NewOptionalIntervalVar< S, D, E >(S start, D duration, E end, ILiteral is_present, string name)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00521">CpModel.cs:521</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1LinearConstraintProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1LinearConstraintProto.html">Google.OrTools.Sat.LinearConstraintProto</a></div><divclass="ttdoc">The linear sum vars[i] * coeffs[i] must fall in the given domain.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l00802">CpModel.pb.cs:802</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1AllDifferentConstraintProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1AllDifferentConstraintProto.html">Google.OrTools.Sat.AllDifferentConstraintProto</a></div><divclass="ttdoc">All variables must take different values.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l00672">CpModel.pb.cs:672</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1TableConstraintProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1TableConstraintProto.html">Google.OrTools.Sat.TableConstraintProto</a></div><divclass="ttdoc">The values of the n-tuple formed by the given variables can only be one of the listed n-tuples in val...</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l02609">CpModel.pb.cs:2609</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_a2e48bcce9dfe78b6921dde4403bebefd"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a2e48bcce9dfe78b6921dde4403bebefd">Google.OrTools.Sat.CpModel.AddMapDomain</a></div><divclass="ttdeci">void AddMapDomain(IntVar var, IEnumerable< IntVar > bool_vars, long offset=0)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00355">CpModel.cs:355</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1LinearConstraintProto_html_a697a3476adcdb5affbc1c2b25a4c68b8"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1LinearConstraintProto.html#a697a3476adcdb5affbc1c2b25a4c68b8">Google.OrTools.Sat.LinearConstraintProto.Domain</a></div><divclass="ttdeci">pbc::RepeatedField< long > Domain</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l00867">CpModel.pb.cs:867</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1ConstraintProto_html_a27a754b6a7592b05e7551db51f79985b"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1ConstraintProto.html#a27a754b6a7592b05e7551db51f79985b">Google.OrTools.Sat.ConstraintProto.IntMax</a></div><divclass="ttdeci">global::Google.OrTools.Sat.IntegerArgumentProto?? IntMax</div><divclass="ttdoc">The int_max constraint forces the target to equal the maximum of all variables.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l03432">CpModel.pb.cs:3432</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_a88da456d44a202a4484e56efdb201d21"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a88da456d44a202a4484e56efdb201d21">Google.OrTools.Sat.CpModel.AddElement</a></div><divclass="ttdeci">Constraint AddElement(IntVar index, IEnumerable< int > values, IntVar target)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00181">CpModel.cs:181</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_a6000f68508383b2f7eca52f7abb56776"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a6000f68508383b2f7eca52f7abb56776">Google.OrTools.Sat.CpModel.AddTermToObjective</a></div><divclass="ttdeci">void AddTermToObjective(IntVar var, long coeff)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00610">CpModel.cs:610</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1LinearConstraintProto_html_a562cca5e70ab97c9eb3d7e3249ce2866"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1LinearConstraintProto.html#a562cca5e70ab97c9eb3d7e3249ce2866">Google.OrTools.Sat.LinearConstraintProto.Coeffs</a></div><divclass="ttdeci">pbc::RepeatedField< long > Coeffs</div><divclass="ttdoc">Same size as vars.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l00857">CpModel.pb.cs:857</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html">Google.OrTools.Sat.CpModel</a></div><divclass="ttdoc">Wrapper class around the cp_model proto.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00023">CpModel.cs:23</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1ReservoirConstraintProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1ReservoirConstraintProto.html">Google.OrTools.Sat.ReservoirConstraintProto</a></div><divclass="ttdoc">Maintain a reservoir level within bounds.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l01818">CpModel.pb.cs:1818</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpObjectiveProto_html_a67046837a03cab2c35caa0b025bda845"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpObjectiveProto.html#a67046837a03cab2c35caa0b025bda845">Google.OrTools.Sat.CpObjectiveProto.Vars</a></div><divclass="ttdeci">pbc::RepeatedField< int > Vars</div><divclass="ttdoc">The linear terms of the objective to minimize.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l04425">CpModel.pb.cs:4425</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_afca7f92ff0a9399abf6ab508af81d8aa"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#afca7f92ff0a9399abf6ab508af81d8aa">Google.OrTools.Sat.CpModel.AddCumulative< D, C ></a></div><divclass="ttdeci">Constraint AddCumulative< D, C >(IEnumerable< IntervalVar > intervals, IEnumerable< D > demands, C capacity)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00562">CpModel.cs:562</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1LinearConstraintProto_html_a22635adebab0ab400f28c383934fd11a"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1LinearConstraintProto.html#a22635adebab0ab400f28c383934fd11a">Google.OrTools.Sat.LinearConstraintProto.Vars</a></div><divclass="ttdeci">pbc::RepeatedField< int > Vars</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l00844">CpModel.pb.cs:844</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1ConstraintProto_html_a79a68394143b94cfb290c8a4e8991e83"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1ConstraintProto.html#a79a68394143b94cfb290c8a4e8991e83">Google.OrTools.Sat.ConstraintProto.Table</a></div><divclass="ttdeci">global::Google.OrTools.Sat.TableConstraintProto?? Table</div><divclass="ttdoc">The table constraint enforces what values a tuple of variables may take.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l03565">CpModel.pb.cs:3565</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1InverseConstraintProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1InverseConstraintProto.html">Google.OrTools.Sat.InverseConstraintProto</a></div><divclass="ttdoc">The two arrays of variable each represent a function, the second is the inverse of the first: f_direc...</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l02788">CpModel.pb.cs:2788</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_a79c696289b1baa2acbe395cdda968a5f"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a79c696289b1baa2acbe395cdda968a5f">Google.OrTools.Sat.CpModel.NewIntervalVar< S, D, E ></a></div><divclass="ttdeci">IntervalVar NewIntervalVar< S, D, E >(S start, D duration, E end, string name)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00510">CpModel.cs:510</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1BoolArgumentProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1BoolArgumentProto.html">Google.OrTools.Sat.BoolArgumentProto</a></div><divclass="ttdoc">Argument of the constraints of the form OP(literals).</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l00394">CpModel.pb.cs:394</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1NoOverlapConstraintProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1NoOverlapConstraintProto.html">Google.OrTools.Sat.NoOverlapConstraintProto</a></div><divclass="ttdoc">All the intervals (index of IntervalConstraintProto) must be disjoint.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l01347">CpModel.pb.cs:1347</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1ConstraintProto_html_af2798e6051457cf25f33ae324889b172"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1ConstraintProto.html#af2798e6051457cf25f33ae324889b172">Google.OrTools.Sat.ConstraintProto.Linear</a></div><divclass="ttdeci">global::Google.OrTools.Sat.LinearConstraintProto?? Linear</div><divclass="ttdoc">The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l03477">CpModel.pb.cs:3477</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1LinearExpr_html_a6bbec6e37bb2106542b0574311d3b1cf"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1LinearExpr.html#a6bbec6e37bb2106542b0574311d3b1cf">Google.OrTools.Sat.LinearExpr.GetVarValueMap</a></div><divclass="ttdeci">static long GetVarValueMap(LinearExpr e, long initial_coeff, Dictionary< IntVar, long > dict)</div><divclass="ttdef"><b>Definition:</b><ahref="IntegerExpressions_8cs_source.html#l00228">IntegerExpressions.cs:228</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_a0e18eff29e93bba7a08513de5d4d1e72"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a0e18eff29e93bba7a08513de5d4d1e72">Google.OrTools.Sat.CpModel.AddReservoirConstraintWithActive< I ></a></div><divclass="ttdeci">Constraint AddReservoirConstraintWithActive< I >(IEnumerable< IntVar > times, IEnumerable< I > demands, IEnumerable< IntVar > actives, long min_level, long max_level)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00330">CpModel.cs:330</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModelProto_html_a0bb6118866bc5a784a464494359cfad6"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModelProto.html#a0bb6118866bc5a784a464494359cfad6">Google.OrTools.Sat.CpModelProto.Objective</a></div><divclass="ttdeci">global::Google.OrTools.Sat.CpObjectiveProto Objective</div><divclass="ttdoc">The objective to minimize.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l05281">CpModel.pb.cs:5281</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModel_html_a0e96e31fd021191475ec9008b1b8022f"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModel.html#a0e96e31fd021191475ec9008b1b8022f">Google.OrTools.Sat.CpModel.NewIntVar</a></div><divclass="ttdeci">IntVar NewIntVar(long lb, long ub, string name)</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8cs_source.html#l00045">CpModel.cs:45</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1AutomatonConstraintProto_html"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1AutomatonConstraintProto.html">Google.OrTools.Sat.AutomatonConstraintProto</a></div><divclass="ttdoc">This constraint forces a sequence of variables to be accepted by an automaton.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l02935">CpModel.pb.cs:2935</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1DecisionStrategyProto_1_1Types_html_af4bf1a876161cbdf793093bf5e029c18"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1DecisionStrategyProto_1_1Types.html#af4bf1a876161cbdf793093bf5e029c18">Google.OrTools.Sat.DecisionStrategyProto.Types.VariableSelectionStrategy</a></div><divclass="ttdeci">VariableSelectionStrategy</div><divclass="ttdoc">The order in which the variables above should be considered.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l04830">CpModel.pb.cs:4830</a></div></div>
<divclass="ttc"id="classGoogle_1_1OrTools_1_1Sat_1_1CpModelProto_html_a3ed73e84166eba9045912d9feda2c268"><divclass="ttname"><ahref="classGoogle_1_1OrTools_1_1Sat_1_1CpModelProto.html#a3ed73e84166eba9045912d9feda2c268">Google.OrTools.Sat.CpModelProto.Variables</a></div><divclass="ttdeci">pbc::RepeatedField< global::Google.OrTools.Sat.IntegerVariableProto > Variables</div><divclass="ttdoc">The associated Protos should be referred by their index in these fields.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8pb_8cs_source.html#l05260">CpModel.pb.cs:5260</a></div></div>