<ahref="BinPackingProblemSat_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">
<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_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_1CpSolver_html_a529ec05c15cfb3ecdb30f3331e32fd4b"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver.html#a529ec05c15cfb3ecdb30f3331e32fd4b">com.google.ortools.sat.CpSolver.numConflicts</a></div><divclass="ttdeci">long numConflicts()</div><divclass="ttdoc">Returns the number of conflicts created during search.</div><divclass="ttdef"><b>Definition:</b><ahref="CpSolver_8java_source.html#l00104">CpSolver.java:104</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel_html_aa1b6332d3c8a47f50381b356717c0ddc"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#aa1b6332d3c8a47f50381b356717c0ddc">com.google.ortools.sat.CpModel.addGreaterOrEqual</a></div><divclass="ttdeci">Constraint addGreaterOrEqual(LinearExpr expr, long value)</div><divclass="ttdoc">Adds.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00194">CpModel.java:194</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_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_acb34d552ea6355d29e95f087cf0da722"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpModel.html#acb34d552ea6355d29e95f087cf0da722">com.google.ortools.sat.CpModel.maximize</a></div><divclass="ttdeci">void maximize(LinearExpr expr)</div><divclass="ttdoc">Adds a maximization objective of a linear expression.</div><divclass="ttdef"><b>Definition:</b><ahref="CpModel_8java_source.html#l00967">CpModel.java:967</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver_html_a3d6654a7d7606fe5f81ab3be7a3f8cfa"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver.html#a3d6654a7d7606fe5f81ab3be7a3f8cfa">com.google.ortools.sat.CpSolver.numBranches</a></div><divclass="ttdeci">long numBranches()</div><divclass="ttdoc">Returns the number of branches explored during search.</div><divclass="ttdef"><b>Definition:</b><ahref="CpSolver_8java_source.html#l00099">CpSolver.java:99</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver_html_a25f9fb12f1b0d0cd22a71763b470b4d9"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1sat_1_1CpSolver.html#a25f9fb12f1b0d0cd22a71763b470b4d9">com.google.ortools.sat.CpSolver.wallTime</a></div><divclass="ttdeci">double wallTime()</div><divclass="ttdoc">Returns the wall time of the search.</div><divclass="ttdef"><b>Definition:</b><ahref="CpSolver_8java_source.html#l00109">CpSolver.java:109</a></div></div>
<divclass="ttc"id="classBinPackingProblemSat_html"><divclass="ttname"><ahref="classBinPackingProblemSat.html">BinPackingProblemSat</a></div><divclass="ttdoc">Solves a bin packing problem with the CP-SAT solver.</div><divclass="ttdef"><b>Definition:</b><ahref="BinPackingProblemSat_8java_source.html#l00021">BinPackingProblemSat.java:21</a></div></div>
<divclass="ttc"id="interfacecom_1_1google_1_1ortools_1_1sat_1_1LinearExpr_html_a91bf9e3c160333c55934d430c4b6a763"><divclass="ttname"><ahref="interfacecom_1_1google_1_1ortools_1_1sat_1_1LinearExpr.html#a91bf9e3c160333c55934d430c4b6a763">com.google.ortools.sat.LinearExpr.sum</a></div><divclass="ttdeci">static LinearExpr sum(IntVar[] variables)</div><divclass="ttdoc">Creates a sum expression.</div><divclass="ttdef"><b>Definition:</b><ahref="LinearExpr_8java_source.html#l00028">LinearExpr.java:28</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>