<ahref="linear__relaxation_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">// Copyright 2010-2021 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="preprocessor">#ifndef OR_TOOLS_SAT_LINEAR_RELAXATION_H_</span></div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="preprocessor">#define OR_TOOLS_SAT_LINEAR_RELAXATION_H_</span></div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> </div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="preprocessor">#include <vector></span></div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> </div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> <spanclass="preprocessor">#include "<aclass="code"href="cp__model__mapping_8h.html">ortools/sat/cp_model_mapping.h</a>"</span></div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="preprocessor">#include "<aclass="code"href="integer_8h.html">ortools/sat/integer.h</a>"</span></div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="preprocessor">#include "<aclass="code"href="sat_2linear__constraint_8h.html">ortools/sat/linear_constraint.h</a>"</span></div><divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> <spanclass="preprocessor">#include "<aclass="code"href="linear__programming__constraint_8h.html">ortools/sat/linear_programming_constraint.h</a>"</span></div><divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="preprocessor">#include "<aclass="code"href="sat_2model_8h.html">ortools/sat/model.h</a>"</span></div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> </div><divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span> <spanclass="keyword">namespace </span><aclass="code"href="
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_a12d2d24c73fef12818b04df8d5cc368f"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#a12d2d24c73fef12818b04df8d5cc368f">operations_research::sat::AppendLinMaxRelaxationPart1</a></div><divclass="ttdeci">void AppendLinMaxRelaxationPart1(const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l00809">linear_relaxation.cc:809</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_a750b06e478ba967ec89e70fb3fa7394a"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#a750b06e478ba967ec89e70fb3fa7394a">operations_research::sat::AddIntProdCutGenerator</a></div><divclass="ttdeci">void AddIntProdCutGenerator(const ConstraintProto &ct, int linearization_level, Model *m, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l01160">linear_relaxation.cc:1160</a></div></div>
<divclass="ttc"id="classoperations__research_1_1sat_1_1_model_html"><divclass="ttname"><ahref="classoperations__research_1_1sat_1_1_model.html">operations_research::sat::Model</a></div><divclass="ttdoc">Class that owns everything related to a particular optimization model.</div><divclass="ttdef"><b>Definition:</b><ahref="sat_2model_8h_source.html#l00038">sat/model.h:38</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_ad8ea8c0f170334873faaa68785e3c636"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#ad8ea8c0f170334873faaa68785e3c636">operations_research::sat::AppendRelaxationForEqualityEncoding</a></div><divclass="ttdeci">void AppendRelaxationForEqualityEncoding(IntegerVariable var, const Model &model, LinearRelaxation *relaxation, int *num_tight, int *num_loose)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l00160">linear_relaxation.cc:160</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_a6acf605cd9a3d72b8e33e8d145c07da5"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#a6acf605cd9a3d72b8e33e8d145c07da5">operations_research::sat::AddNoOverlap2dCutGenerator</a></div><divclass="ttdeci">void AddNoOverlap2dCutGenerator(const ConstraintProto &ct, Model *m, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l01327">linear_relaxation.cc:1327</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_aff14a4092356fceea657393b7b234b7f"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#aff14a4092356fceea657393b7b234b7f">operations_research::sat::AppendPartialGreaterThanEncodingRelaxation</a></div><divclass="ttdeci">void AppendPartialGreaterThanEncodingRelaxation(IntegerVariable var, const Model &model, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l00266">linear_relaxation.cc:266</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_a5df2c2953d660d96c11967cd903a55fe"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#a5df2c2953d660d96c11967cd903a55fe">operations_research::sat::AppendLinearConstraintRelaxation</a></div><divclass="ttdeci">void AppendLinearConstraintRelaxation(const ConstraintProto &ct, bool linearize_enforced_constraints, Model *model, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l00940">linear_relaxation.cc:940</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_a53d4cc6dea5adf2353b4af43bc1bb2f0"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#a53d4cc6dea5adf2353b4af43bc1bb2f0">operations_research::sat::AppendBoolAndRelaxation</a></div><divclass="ttdeci">void AppendBoolAndRelaxation(const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l00410">linear_relaxation.cc:410</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_a1ccfd912c87b8ca68a7fe0d62d7f49bc"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#a1ccfd912c87b8ca68a7fe0d62d7f49bc">operations_research::sat::TryToLinearizeConstraint</a></div><divclass="ttdeci">void TryToLinearizeConstraint(const CpModelProto &model_proto, const ConstraintProto &ct, int linearization_level, Model *model, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l01014">linear_relaxation.cc:1014</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_a3bb33b0ea560d1818c283bacd4b3838e"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#a3bb33b0ea560d1818c283bacd4b3838e">operations_research::sat::AddNoOverlapCutGenerator</a></div><divclass="ttdeci">void AddNoOverlapCutGenerator(const ConstraintProto &ct, Model *m, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l01299">linear_relaxation.cc:1299</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_a8b2517dbe721a55849b77267941df8d1"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#a8b2517dbe721a55849b77267941df8d1">operations_research::sat::AppendExactlyOneRelaxation</a></div><divclass="ttdeci">void AppendExactlyOneRelaxation(const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l00451">linear_relaxation.cc:451</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_a87f6694cfc0f549668a974462118f99e"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#a87f6694cfc0f549668a974462118f99e">operations_research::sat::AppendMaxAffineRelaxation</a></div><divclass="ttdeci">void AppendMaxAffineRelaxation(const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l00831">linear_relaxation.cc:831</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_a14b7bbca8fef62918577fe4618090e66"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#a14b7bbca8fef62918577fe4618090e66">operations_research::sat::AppendBoolOrRelaxation</a></div><divclass="ttdeci">void AppendBoolOrRelaxation(const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l00396">linear_relaxation.cc:396</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html"><divclass="ttname"><ahref="namespaceoperations__research.html">operations_research</a></div><divclass="ttdoc">Collection of objects used to extend the Constraint Solver library.</div><divclass="ttdef"><b>Definition:</b><ahref="dense__doubly__linked__list_8h_source.html#l00021">dense_doubly_linked_list.h:21</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1sat_html_ac2091b9e5e6e887337a566d5ca547234"><divclass="ttname"><ahref="namespaceoperations__research_1_1sat.html#ac2091b9e5e6e887337a566d5ca547234">operations_research::sat::AppendRoutesRelaxation</a></div><divclass="ttdeci">void AppendRoutesRelaxation(const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__relaxation_8cc_source.html#l00554">linear_relaxation.cc:554</a></div></div>