<ahref="RankingSampleSat_8java.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">import</span><aclass="code"href="namespacecom.html">com</a>.<aclass="code"href="namespacecom_1_1google.html">google</a>.<aclass="code"href="namespacecom_1_1google_1_1ortools.html">ortools</a>.<aclass="code"href="namespacecom_1_1google_1_1ortools_1_1sat.html">sat</a>.<aclass="code"href="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html">CpModel</a>;</div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="keyword">import</span><aclass="code"href="namespacecom.html">com</a>.<aclass="code"href="namespacecom_1_1google.html">google</a>.<aclass="code"href="namespacecom_1_1google_1_1ortools.html">ortools</a>.<aclass="code"href="namespacecom_1_1google_1_1ortools_1_1sat.html">sat</a>.<aclass="code"href="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver.html">CpSolver</a>;</div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="keyword">import</span><aclass="code"href="namespacecom.html">com</a>.<aclass="code"href="namespacecom_1_1google.html">google</a>.<aclass="code"href="namespacecom_1_1google_1_1ortools.html">ortools</a>.<aclass="code"href="namespacecom_1_1google_1_1ortools_1_1sat.html">sat</a>.<aclass="code"href="enumcom_1_1google_1_1ortools_1_1sat_1_1CpSolverStatus.html">CpSolverStatus</a>;</div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="keyword">import</span><aclass="code"href="namespacecom.html">com</a>.<aclass="code"href="namespacecom_1_1google.html">google</a>.<aclass="code"href="namespacecom_1_1google_1_1ortools.html">ortools</a>.<aclass="code"href="namespacecom_1_1google_1_1ortools_1_1sat.html">sat</a>.<aclass="code"href="classcom_1_1google_1_1ortools_1_1sat_1_1IntVar.html">IntVar</a>;</div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 1
<divclass="ttc"id="interfacecom_1_1google_1_1ortools_1_1sat_1_1LinearExpr_html"><divclass="ttname"><ahref="interfacecom_1_1google_1_1ortools_1_1sat_1_1LinearExpr.html">com.google.ortools.sat.LinearExpr</a></div><divclass="ttdoc">A linear expression interface that can be parsed.</div><divclass="ttdef"><b>Definition:</b><ahref="LinearExpr_8java_source.html#l00017">LinearExpr.java:17</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1Constraint_html_ac86aa1f6eb0c1e93c11162475c1b39f8"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1Constraint.html#ac86aa1f6eb0c1e93c11162475c1b39f8">com.google.ortools.sat.Constraint.onlyEnforceIf</a></div><divclass="ttdeci">void onlyEnforceIf(Literal lit)</div><divclass="ttdoc">Adds a literal to the constraint.</div><divclass="ttdef"><b>Definition:</b><ahref="com_2google_2ortools_2sat_2Constraint_8java_source.html#l00032">com/google/ortools/sat/Constraint.java:32</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_a0868f8bc35ae63fb326d569e50df1dea"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#a0868f8bc35ae63fb326d569e50df1dea">com.google.ortools.sat.CpModel.addEquality</a></div><divclass="ttdeci">Constraint addEquality(LinearExpr expr, long value)</div><divclass="ttdoc">Adds.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00153">CpModel.java:153</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_a0c289036d8b156ecb62ef7267405db0d"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#a0c289036d8b156ecb62ef7267405db0d">com.google.ortools.sat.CpModel.newConstant</a></div><divclass="ttdeci">IntVar newConstant(long value)</div><divclass="ttdoc">Creates a constant variable.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00090">CpModel.java:90</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver_html"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver.html">com.google.ortools.sat.CpSolver</a></div><divclass="ttdoc">Wrapper around the SAT solver.</div><divclass="ttdef"><b>Definition:</b><ahref="CpSolver_8java_source.html#l00026">CpSolver.java:26</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_a78e6aa0bcdec9be8fc0d39c46b94d851"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#a78e6aa0bcdec9be8fc0d39c46b94d851">com.google.ortools.sat.CpModel.newIntVar</a></div><divclass="ttdeci">IntVar newIntVar(long lb, long ub, String name)</div><divclass="ttdoc">Creates an integer variable with domain [lb, ub].</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00069">CpModel.java:69</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver_html_a9b7c07281602ed5206bf5eb7f57bd063"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver.html#a9b7c07281602ed5206bf5eb7f57bd063">com.google.ortools.sat.CpSolver.objectiveValue</a></div><divclass="ttdeci">double objectiveValue()</div><divclass="ttdoc">Returns the best objective value found during search.</div><divclass="ttdef"><b>Definition:</b><ahref="CpSolver_8java_source.html#l00066">CpSolver.java:66</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_a08ef439d15caa1e1a1a713d20edaa8a6"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#a08ef439d15caa1e1a1a713d20edaa8a6">com.google.ortools.sat.CpModel.newBoolVar</a></div><divclass="ttdeci">IntVar newBoolVar(String name)</div><divclass="ttdoc">Creates a Boolean variable with the given name.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00085">CpModel.java:85</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver_html_afec653ca08cdff3ec58642c199bbdb55"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver.html#afec653ca08cdff3ec58642c199bbdb55">com.google.ortools.sat.CpSolver.value</a></div><divclass="ttdeci">long value(IntVar var)</div><divclass="ttdoc">Returns the value of a variable in the last solution found.</div><divclass="ttdef"><b>Definition:</b><ahref="CpSolver_8java_source.html#l00079">CpSolver.java:79</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_ac453c4f4aa0bcbc76c722a077cf9be29"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#ac453c4f4aa0bcbc76c722a077cf9be29">com.google.ortools.sat.CpModel.addLessOrEqualWithOffset</a></div><divclass="ttdeci">Constraint addLessOrEqualWithOffset(LinearExpr left, LinearExpr right, long offset)</div><divclass="ttdoc">Adds.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00188">CpModel.java:188</a></div></div>
<divclass="ttc"id="classRankingSampleSat_html"><divclass="ttname"><ahref="classRankingSampleSat.html">RankingSampleSat</a></div><divclass="ttdoc">Code sample to demonstrates how to rank intervals.</div><divclass="ttdef"><b>Definition:</b><ahref="RankingSampleSat_8java_source.html#l00025">RankingSampleSat.java:25</a></div></div>
<divclass="ttc"id="interfacecom_1_1google_1_1ortools_1_1sat_1_1Literal_html"><divclass="ttname"><ahref="interfacecom_1_1google_1_1ortools_1_1sat_1_1Literal.html">com.google.ortools.sat.Literal</a></div><divclass="ttdoc">Interface to describe a boolean variable or its negation.</div><divclass="ttdef"><b>Definition:</b><ahref="Literal_8java_source.html#l00017">Literal.java:17</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver_html_a7c3c5dc674530a7989b0fdf3bf1af90a"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver.html#a7c3c5dc674530a7989b0fdf3bf1af90a">com.google.ortools.sat.CpSolver.booleanValue</a></div><divclass="ttdeci">Boolean booleanValue(Literal var)</div><divclass="ttdoc">Returns the Boolean value of a literal in the last solution found.</div><divclass="ttdef"><b>Definition:</b><ahref="CpSolver_8java_source.html#l00084">CpSolver.java:84</a></div></div>
<divclass="ttc"id="interfacecom_1_1google_1_1ortools_1_1sat_1_1LinearExpr_html_a3d9212f8954f9eab6a2c29fd7d5155cc"><divclass="ttname"><ahref="interfacecom_1_1google_1_1ortools_1_1sat_1_1LinearExpr.html#a3d9212f8954f9eab6a2c29fd7d5155cc">com.google.ortools.sat.LinearExpr.scalProd</a></div><divclass="ttdeci">static LinearExpr scalProd(IntVar[] variables, long[] coefficients)</div><divclass="ttdoc">Creates a scalar product.</div><divclass="ttdef"><b>Definition:</b><ahref="LinearExpr_8java_source.html#l00033">LinearExpr.java:33</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_af8d23febec663c6e482791233f417df4"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#af8d23febec663c6e482791233f417df4">com.google.ortools.sat.CpModel.minimize</a></div><divclass="ttdeci">void minimize(LinearExpr expr)</div><divclass="ttdoc">Adds a minimization objective of a linear expression.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00958">CpModel.java:958</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_a395b162ec07e48a0d47edeafb2c7321b"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#a395b162ec07e48a0d47edeafb2c7321b">com.google.ortools.sat.CpModel.newIntervalVar</a></div><divclass="ttdeci">IntervalVar newIntervalVar(IntVar start, IntVar size, IntVar end, String name)</div><divclass="ttdoc">Creates an interval variable from start, size, and end.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00712">CpModel.java:712</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_aa6ca2dd3953a03ee98a2e9d3a21b128d"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#aa6ca2dd3953a03ee98a2e9d3a21b128d">com.google.ortools.sat.CpModel.addLessOrEqual</a></div><divclass="ttdeci">Constraint addLessOrEqual(LinearExpr expr, long value)</div><divclass="ttdoc">Adds.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00168">CpModel.java:168</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_ae228690295f8e4470448e59f1bd34526"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#ae228690295f8e4470448e59f1bd34526">com.google.ortools.sat.CpModel.addImplication</a></div><divclass="ttdeci">Constraint addImplication(Literal a, Literal b)</div><divclass="ttdoc">Adds.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00127">CpModel.java:127</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_ae1919b96b22900f07543be2da12d0b98"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#ae1919b96b22900f07543be2da12d0b98">com.google.ortools.sat.CpModel.newOptionalIntervalVar</a></div><divclass="ttdeci">IntervalVar newOptionalIntervalVar(IntVar start, IntVar size, IntVar end, Literal isPresent, String name)</div><divclass="ttdoc">Creates an optional interval variable from start, size, end, and isPresent.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00769">CpModel.java:769</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver_html_aad90759e27de74339bfb97c3f31bc509"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver.html#aad90759e27de74339bfb97c3f31bc509">com.google.ortools.sat.CpSolver.solve</a></div><divclass="ttdeci">CpSolverStatus solve(CpModel model)</div><divclass="ttdoc">Solves the given module, and returns the solve status.</div><divclass="ttdef"><b>Definition:</b><ahref="CpSolver_8java_source.html#l00033">CpSolver.java:33</a></div></div>