<ahref="arc__flow__solver_8cc.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">#include "<aclass="code"href="arc__flow__solver_8h.html">ortools/packing/arc_flow_solver.h</a>"</span></div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> </div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="preprocessor">#include <string></span></div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> </div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="preprocessor">#include "absl/container/btree_map.h"</span></div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> <spanclass="preprocessor">#include "absl/flags/flag.h"</span></div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="preprocessor">#include "<aclass="code"href="commandlineflags_8h.html">ortools/base/commandlineflags.h</a>"</span></div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="preprocessor">#include "<aclass="code"href="base_2file_8h.html">ortools/base/file.h</a>"</span></div><divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> <spanclass="preprocessor">#include "<aclass="code"href="timer_8h.html">ortools/base/timer.h</a>"</span></div><divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="preprocessor">#include "<aclass="code"href="arc__flow__builder_8h.html">ortools/packing/arc_flow_builder.h</a>"</span></div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> <spanclass="preprocessor">#include "<aclass="code"href="vector__bin__packing_8pb_8h.html">ortools/packing/vector_bin_packing.pb.h</a>"</span></div><divclass="
<divclass="ttc"id="structoperations__research_1_1packing_1_1_arc_flow_graph_html_a405100e4926c5c9e6f758d909ce466d6"><divclass="ttname"><ahref="structoperations__research_1_1packing_1_1_arc_flow_graph.html#a405100e4926c5c9e6f758d909ce466d6">operations_research::packing::ArcFlowGraph::nodes</a></div><divclass="ttdeci">std::vector< std::vector< int >> nodes</div><divclass="ttdef"><b>Definition:</b><ahref="arc__flow__builder_8h_source.html#l00072">arc_flow_builder.h:72</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1packing_html_a36688ca99be485c512316b4d27ccd409"><divclass="ttname"><ahref="namespaceoperations__research_1_1packing.html#a36688ca99be485c512316b4d27ccd409">operations_research::packing::SolveVectorBinPackingWithArcFlow</a></div><divclass="ttdeci">vbp::VectorBinPackingSolution SolveVectorBinPackingWithArcFlow(const vbp::VectorBinPackingProblem &problem, MPSolver::OptimizationProblemType solver_type, const std::string &mip_params, double time_limit, int num_threads, int max_bins)</div><divclass="ttdef"><b>Definition:</b><ahref="arc__flow__solver_8cc_source.html#l00075">arc_flow_solver.cc:75</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_a8554e97d98d05016f16300cedf2be9f6"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a8554e97d98d05016f16300cedf2be9f6">operations_research::MPObjective::Value</a></div><divclass="ttdeci">double Value() const</div><divclass="ttdoc">Returns the objective value of the best solution found so far.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00254">linear_solver.cc:254</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_a2def997791a2a5119c3502aa68c34181"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a2def997791a2a5119c3502aa68c34181">operations_research::MPObjective::SetCoefficient</a></div><divclass="ttdeci">void SetCoefficient(const MPVariable *const var, double coeff)</div><divclass="ttdoc">Sets the coefficient of the variable in the objective.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00182">linear_solver.cc:182</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a76c87990aabadd148304b95332a60ff8"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a76c87990aabadd148304b95332a60ff8">operations_research::MPSolver::OptimizationProblemType</a></div><divclass="ttdeci">OptimizationProblemType</div><divclass="ttdoc">The type of problems (LP or MIP) that will be solved and the underlying solver (GLOP,...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00191">linear_solver.h:191</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html">operations_research::MPObjective</a></div><divclass="ttdoc">A class to express a linear objective.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00960">linear_solver.h:960</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html">operations_research::MPVariable</a></div><divclass="ttdoc">The class for variables of a Mathematical Programming (MP) model.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01087">linear_solver.h:1087</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a77083241e8bdb93b619c7b9feaf82dec"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a77083241e8bdb93b619c7b9feaf82dec">operations_research::MPSolver::SetSolverSpecificParametersAsString</a></div><divclass="ttdeci">bool SetSolverSpecificParametersAsString(const std::string &parameters)</div><divclass="ttdoc">Advanced usage: pass solver specific parameters in text format.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00351">linear_solver.cc:351</a></div></div>
<divclass="ttc"id="arc__flow__solver_8cc_html_a6339fe56643271ddfa529e262e86ee12"><divclass="ttname"><ahref="arc__flow__solver_8cc.html#a6339fe56643271ddfa529e262e86ee12">ABSL_FLAG</a></div><divclass="ttdeci">ABSL_FLAG(std::string, arc_flow_dump_model, "", "File to store the solver specific optimization proto.")</div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a849bf49baad56df58c018e8ab09456fb"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a849bf49baad56df58c018e8ab09456fb">operations_research::MPSolver::SetNumThreads</a></div><divclass="ttdeci">absl::Status SetNumThreads(int num_threads)</div><divclass="ttdoc">Sets the number of threads to use by the underlying solver.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00340">linear_solver.cc:340</a></div></div>
<divclass="ttc"id="parser_8yy_8cc_html_a5a634cf4429798b1c921a81de8250051"><divclass="ttname"><ahref="parser_8yy_8cc.html#a5a634cf4429798b1c921a81de8250051">input</a></div><divclass="ttdeci">static int input(yyscan_t yyscanner)</div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html">operations_research::MPConstraint</a></div><divclass="ttdoc">The class for constraints of a Mathematical Programming (MP) model.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01212">linear_solver.h:1212</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a573d479910e373f5d771d303e440587da03f919221217f95d21a593a7120165e1"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a573d479910e373f5d771d303e440587da03f919221217f95d21a593a7120165e1">operations_research::MPSolver::FEASIBLE</a></div><divclass="ttdoc">feasible, or stopped by limit.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00443">linear_solver.h:443</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_acede9075c58cb2f506c99a9fe6f20303"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#acede9075c58cb2f506c99a9fe6f20303">operations_research::MPSolver::Solve</a></div><divclass="ttdeci">ResultStatus Solve()</div><divclass="ttdoc">Solves the problem using the default parameter values.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01390">linear_solver.cc:1390</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html">operations_research::MPSolver</a></div><divclass="ttdoc">This mathematical programming (MP) solver class is the main class though which users build and solve ...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00183">linear_solver.h:183</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="classoperations__research_1_1_m_p_solver_html_a880227c1bbe5a1a2a21796a947804615"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a880227c1bbe5a1a2a21796a947804615">operations_research::MPSolver::ExportModelToProto</a></div><divclass="ttdeci">void ExportModelToProto(MPModelProto *output_model) const</div><divclass="ttdoc">Exports model to protocol buffer.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01043">linear_solver.cc:1043</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1packing_html_abf4185c48db1dd3fb87f9d05081de446"><divclass="ttname"><ahref="namespaceoperations__research_1_1packing.html#abf4185c48db1dd3fb87f9d05081de446">operations_research::packing::BuildArcFlowGraph</a></div><divclass="ttdeci">ArcFlowGraph BuildArcFlowGraph(const std::vector< int >&bin_dimensions, const std::vector< std::vector< int >>&item_dimensions_by_type, const std::vector< int >&demand_by_type)</div><divclass="ttdef"><b>Definition:</b><ahref="arc__flow__builder_8cc_source.html#l00399">arc_flow_builder.cc:399</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a43d6ca2f978ca6f622a16117166ff69a"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a43d6ca2f978ca6f622a16117166ff69a">operations_research::MPSolver::MakeRowConstraint</a></div><divclass="ttdeci">MPConstraint * MakeRowConstraint(double lb, double ub)</div><divclass="ttdoc">Creates a linear constraint with given bounds.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01313">linear_solver.cc:1313</a></div></div>