Files
ortools-clone/docs/cpp/knapsack__solver_8cc_source.html

261 lines
325 KiB
HTML
Raw Normal View History

2020-09-02 09:42:51 +02:00
<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
2022-01-16 18:02:36 +01:00
<meta name="generator" content="Doxygen 1.8.15"/>
2020-09-02 09:42:51 +02:00
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OR-Tools: knapsack_solver.cc Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
2022-01-16 18:02:36 +01:00
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
2020-09-02 09:42:51 +02:00
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="styleSheet.tmp.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="orLogo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">OR-Tools
2021-12-14 13:41:01 +01:00
&#160;<span id="projectnumber">9.2</span>
2020-09-02 09:42:51 +02:00
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
2022-01-16 18:02:36 +01:00
<!-- Generated by Doxygen 1.8.15 -->
2020-09-02 09:42:51 +02:00
<script type="text/javascript">
2022-01-16 18:02:36 +01:00
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
2020-09-02 09:42:51 +02:00
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
2022-01-16 18:02:36 +01:00
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
2020-09-02 09:42:51 +02:00
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
2022-01-16 18:02:36 +01:00
/* @license-end */</script>
2020-09-02 09:42:51 +02:00
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
2022-01-16 18:02:36 +01:00
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('knapsack__solver_8cc_source.html','');});
2020-09-02 09:42:51 +02:00
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
2022-01-16 18:02:36 +01:00
<div class="headertitle">
<div class="title">knapsack_solver.cc</div> </div>
2020-09-02 09:42:51 +02:00
</div><!--header-->
<div class="contents">
2022-01-16 18:02:36 +01:00
<a href="knapsack__solver_8cc.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2010-2021 Google LLC</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="knapsack__solver_8h.html">ortools/algorithms/knapsack_solver.h</a>&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &lt;cstdint&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;queue&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;absl/memory/memory.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="stl__util_8h.html">ortools/base/stl_util.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="linear__solver_8h.html">ortools/linear_solver/linear_solver.h</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_a1fa45af1bf0d6aa9d5f86e2ed9ae5323"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#a1fa45af1bf0d6aa9d5f86e2ed9ae5323">operations_research::KnapsackPropagator::CopyCurrentStateToSolution</a></div><div class="ttdeci">void CopyCurrentStateToSolution(bool has_one_propagator, std::vector&lt; bool &gt; *solution) const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00198">knapsack_solver.cc:198</a></div></div>
<div class="ttc" id="base_2logging_8h_html_a3e1cfef60e774a81f30eaddf26a3a274"><div class="ttname"><a href="base_2logging_8h.html#a3e1cfef60e774a81f30eaddf26a3a274">CHECK</a></div><div class="ttdeci">#define CHECK(condition)</div><div class="ttdef"><b>Definition:</b> <a href="base_2logging_8h_source.html#l00495">base/logging.h:495</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_node_html_afe9938cf4bbeb06ed8985c37646433fd"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_node.html#afe9938cf4bbeb06ed8985c37646433fd">operations_research::KnapsackSearchNode::parent</a></div><div class="ttdeci">const KnapsackSearchNode *const parent() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00344">knapsack_solver.h:344</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_state_html_a89aa280d2321c1316aa1305106f1bb49"><div class="ttname"><a href="classoperations__research_1_1_knapsack_state.html#a89aa280d2321c1316aa1305106f1bb49">operations_research::KnapsackState::is_bound</a></div><div class="ttdeci">bool is_bound(int id) const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00426">knapsack_solver.h:426</a></div></div>
<div class="ttc" id="classoperations__research_1_1_time_limit_html"><div class="ttname"><a href="classoperations__research_1_1_time_limit.html">operations_research::TimeLimit</a></div><div class="ttdoc">A simple class to enforce both an elapsed time limit and a deterministic time limit in the same threa...</div><div class="ttdef"><b>Definition:</b> <a href="time__limit_8h_source.html#l00106">time_limit.h:106</a></div></div>
<div class="ttc" id="revised__simplex_8cc_html_af01c50e388647c921aa7d9c77f2b72b2"><div class="ttname"><a href="revised__simplex_8cc.html#af01c50e388647c921aa7d9c77f2b72b2">ratio</a></div><div class="ttdeci">Fractional ratio</div><div class="ttdef"><b>Definition:</b> <a href="revised__simplex_8cc_source.html#l01981">revised_simplex.cc:1981</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_html_a64ae40793ade89d800a8c5646d2980fc"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item.html#a64ae40793ade89d800a8c5646d2980fc">operations_research::KnapsackItem::id</a></div><div class="ttdeci">const int id</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00325">knapsack_solver.h:325</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack64_items_solver_html_a788a597dac89a082d3ed4994d654dec1"><div class="ttname"><a href="classoperations__research_1_1_knapsack64_items_solver.html#a788a597dac89a082d3ed4994d654dec1">operations_research::Knapsack64ItemsSolver::Solve</a></div><div class="ttdeci">int64_t Solve(TimeLimit *time_limit, bool *is_solution_optimal) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00782">knapsack_solver.cc:782</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_ae29226a5be6204e26f1d563a6630ab9e"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#ae29226a5be6204e26f1d563a6630ab9e">operations_research::KnapsackPropagator::set_profit_lower_bound</a></div><div class="ttdeci">void set_profit_lower_bound(int64_t profit)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00501">knapsack_solver.h:501</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_with_efficiency_html_a4255f714cea26cdd64f6a0ee72d34a8c"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item_with_efficiency.html#a4255f714cea26cdd64f6a0ee72d34a8c">operations_research::KnapsackItemWithEfficiency::weight</a></div><div class="ttdeci">int64_t weight</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00668">knapsack_solver.cc:668</a></div></div>
<div class="ttc" id="alldiff__cst_8cc_html_ad10edae0a852d72fb76afb1c77735045"><div class="ttname"><a href="alldiff__cst_8cc.html#ad10edae0a852d72fb76afb1c77735045">min</a></div><div class="ttdeci">int64_t min</div><div class="ttdef"><b>Definition:</b> <a href="alldiff__cst_8cc_source.html#l00139">alldiff_cst.cc:139</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_capacity_propagator_html_aa14e63156675c18c06073ac1cb8aa170"><div class="ttname"><a href="classoperations__research_1_1_knapsack_capacity_propagator.html#aa14e63156675c18c06073ac1cb8aa170">operations_research::KnapsackCapacityPropagator::~KnapsackCapacityPropagator</a></div><div class="ttdeci">~KnapsackCapacityPropagator() override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00220">knapsack_solver.cc:220</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_ae5982edf1a2974495d20201775a765e2"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#ae5982edf1a2974495d20201775a765e2">operations_research::KnapsackSolver::Init</a></div><div class="ttdeci">void Init(const std::vector&lt; int64_t &gt; &amp;profits, const std::vector&lt; std::vector&lt; int64_t &gt; &gt; &amp;weights, const std::vector&lt; int64_t &gt; &amp;capacities)</div><div class="ttdoc">Initializes the solver and enters the problem to be solved.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01320">knapsack_solver.cc:1320</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_brute_force_solver_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack_brute_force_solver.html">operations_research::KnapsackBruteForceSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00546">knapsack_solver.cc:546</a></div></div>
<div class="ttc" id="base_2logging_8h_html_a7cc25402ecd7591b4c39934dd656b1f9"><div class="ttname"><a href="base_2logging_8h.html#a7cc25402ecd7591b4c39934dd656b1f9">CHECK_GE</a></div><div class="ttdeci">#define CHECK_GE(val1, val2)</div><div class="ttdef"><b>Definition:</b> <a href="base_2logging_8h_source.html#l00706">base/logging.h:706</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html_a76c87990aabadd148304b95332a60ff8a83b85675904f261c34c280b2abdcd9ae"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html#a76c87990aabadd148304b95332a60ff8a83b85675904f261c34c280b2abdcd9ae">operations_research::MPSolver::SCIP_MIXED_INTEGER_PROGRAMMING</a></div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8h_source.html#l00200">linear_solver.h:200</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a8b06041d7c1fb05f379714f4312306ec"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a8b06041d7c1fb05f379714f4312306ec">operations_research::KnapsackSolver::SolverType</a></div><div class="ttdeci">SolverType</div><div class="ttdoc">Enum controlling which underlying algorithm is used.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00124">knapsack_solver.h:124</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_objective_html_a8554e97d98d05016f16300cedf2be9f6"><div class="ttname"><a href="classoperations__research_1_1_m_p_objective.html#a8554e97d98d05016f16300cedf2be9f6">operations_research::MPObjective::Value</a></div><div class="ttdeci">double Value() const</div><div class="ttdoc">Returns the objective value of the best solution found so far.</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8cc_source.html#l00254">linear_solver.cc:254</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_assignment_html_a922620900c7a18d22de686d47e25d4ed"><div class="ttname"><a href="structoperations__research_1_1_knapsack_assignment.html#a922620900c7a18d22de686d47e25d4ed">operations_research::KnapsackAssignment::is_in</a></div><div class="ttdeci">bool is_in</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00299">knapsack_solver.h:299</a></div></div>
<div class="ttc" id="log__severity_8h_html_acdd38e3c9f22f127d7776920e3079eda"><div class="ttname"><a href="log__severity_8h.html#acdd38e3c9f22f127d7776920e3079eda">FATAL</a></div><div class="ttdeci">const int FATAL</div><div class="ttdef"><b>Definition:</b> <a href="log__severity_8h_source.html#l00032">log_severity.h:32</a></div></div>
<div class="ttc" id="stl__util_8h_html"><div class="ttname"><a href="stl__util_8h.html">stl_util.h</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_divide_and_conquer_solver_html_abfd4cb3faa2f1d6840b8123765fa2fc4"><div class="ttname"><a href="classoperations__research_1_1_knapsack_divide_and_conquer_solver.html#abfd4cb3faa2f1d6840b8123765fa2fc4">operations_research::KnapsackDivideAndConquerSolver::best_solution</a></div><div class="ttdeci">bool best_solution(int item_id) const override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01052">knapsack_solver.cc:1052</a></div></div>
<div class="ttc" id="cp__model__solver_8cc_html_aec8af5c1be4e1b6d4330e1161028de21"><div class="ttname"><a href="cp__model__solver_8cc.html#aec8af5c1be4e1b6d4330e1161028de21">time_limit</a></div><div class="ttdeci">ModelSharedTimeLimit * time_limit</div><div class="ttdef"><b>Definition:</b> <a href="cp__model__solver_8cc_source.html#l01951">cp_model_solver.cc:1951</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_af28391017c090a638200c57b4c8a2ac1"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#af28391017c090a638200c57b4c8a2ac1">operations_research::KnapsackPropagator::KnapsackPropagator</a></div><div class="ttdeci">KnapsackPropagator(const KnapsackState &amp;state)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00164">knapsack_solver.cc:164</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_dynamic_programming_solver_html_ad12d8a6596d658d1b3fabafdeb505d16"><div class="ttname"><a href="classoperations__research_1_1_knapsack_dynamic_programming_solver.html#ad12d8a6596d658d1b3fabafdeb505d16">operations_research::KnapsackDynamicProgrammingSolver::KnapsackDynamicProgrammingSolver</a></div><div class="ttdeci">KnapsackDynamicProgrammingSolver(const std::string &amp;solver_name)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00962">knapsack_solver.cc:962</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html_a76c87990aabadd148304b95332a60ff8a5a62faa5ec0ffed2abbc2d526bd53286"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html#a76c87990aabadd148304b95332a60ff8a5a62faa5ec0ffed2abbc2d526bd53286">operations_research::MPSolver::XPRESS_MIXED_INTEGER_PROGRAMMING</a></div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8h_source.html#l00210">linear_solver.h:210</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_divide_and_conquer_solver_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack_divide_and_conquer_solver.html">operations_research::KnapsackDivideAndConquerSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01039">knapsack_solver.cc:1039</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_dynamic_programming_solver_html_a80f9c9e2e0c2c1cad87248814dba2bd3"><div class="ttname"><a href="classoperations__research_1_1_knapsack_dynamic_programming_solver.html#a80f9c9e2e0c2c1cad87248814dba2bd3">operations_research::KnapsackDynamicProgrammingSolver::Init</a></div><div class="ttdeci">void Init(const std::vector&lt; int64_t &gt; &amp;profits, const std::vector&lt; std::vector&lt; int64_t &gt;&gt; &amp;weights, const std::vector&lt; int64_t &gt; &amp;capacities) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00972">knapsack_solver.cc:972</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack64_items_solver_html_abfd4cb3faa2f1d6840b8123765fa2fc4"><div class="ttname"><a href="classoperations__research_1_1_knapsack64_items_solver.html#abfd4cb3faa2f1d6840b8123765fa2fc4">operations_research::Knapsack64ItemsSolver::best_solution</a></div><div class="ttdeci">bool best_solution(int item_id) const override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00689">knapsack_solver.cc:689</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_objective_html_a2def997791a2a5119c3502aa68c34181"><div class="ttname"><a href="classoperations__research_1_1_m_p_objective.html#a2def997791a2a5119c3502aa68c34181">operations_research::MPObjective::SetCoefficient</a></div><div class="ttdeci">void SetCoefficient(const MPVariable *const var, double coeff)</div><div class="ttdoc">Sets the coefficient of the variable in the objective.</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8cc_source.html#l00182">linear_solver.cc:182</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_with_efficiency_html_a7441ef0865bcb3db9b8064dd7375c1ea"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item_with_efficiency.html#a7441ef0865bcb3db9b8064dd7375c1ea">operations_research::KnapsackItemWithEfficiency::id</a></div><div class="ttdeci">int id</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00666">knapsack_solver.cc:666</a></div></div>
<div class="ttc" id="linear__solver_8h_html"><div class="ttname"><a href="linear__solver_8h.html">linear_solver.h</a></div><div class="ttdoc">A C++ wrapper that provides a simple and unified interface to several linear programming and mixed in...</div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_path_html_a1e3b6d38df0786ccf7f938d60e386aae"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_path.html#a1e3b6d38df0786ccf7f938d60e386aae">operations_research::KnapsackSearchPath::Init</a></div><div class="ttdeci">void Init()</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00117">knapsack_solver.cc:117</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_node_html_a48521e7b1a381bd3f3f452fa6e697bde"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_node.html#a48521e7b1a381bd3f3f452fa6e697bde">operations_research::KnapsackSearchNode::set_current_profit</a></div><div class="ttdeci">void set_current_profit(int64_t profit)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00348">knapsack_solver.h:348</a></div></div>
<div class="ttc" id="time__limit_8h_html"><div class="ttname"><a href="time__limit_8h.html">time_limit.h</a></div></div>
<div class="ttc" id="namespaceoperations__research_html_ada7d9b46f657c6053a197273a85043a7"><div class="ttname"><a href="namespaceoperations__research.html#ada7d9b46f657c6053a197273a85043a7">operations_research::KnapsackItemPtr</a></div><div class="ttdeci">KnapsackItem * KnapsackItemPtr</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00329">knapsack_solver.h:329</a></div></div>
<div class="ttc" id="base_2logging_8h_html_accad43a85d781d53381cd53a9894b6ae"><div class="ttname"><a href="base_2logging_8h.html#accad43a85d781d53381cd53a9894b6ae">LOG</a></div><div class="ttdeci">#define LOG(severity)</div><div class="ttdef"><b>Definition:</b> <a href="base_2logging_8h_source.html#l00420">base/logging.h:420</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html_a76c87990aabadd148304b95332a60ff8"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html#a76c87990aabadd148304b95332a60ff8">operations_research::MPSolver::OptimizationProblemType</a></div><div class="ttdeci">OptimizationProblemType</div><div class="ttdoc">The type of problems (LP or MIP) that will be solved and the underlying solver (GLOP,...</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8h_source.html#l00191">linear_solver.h:191</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_objective_html_ac187b2ba08422f3a06b8d1e1502ceea6"><div class="ttname"><a href="classoperations__research_1_1_m_p_objective.html#ac187b2ba08422f3a06b8d1e1502ceea6">operations_research::MPObjective::SetMinimization</a></div><div class="ttdeci">void SetMinimization()</div><div class="ttdoc">Sets the optimization direction to minimize.</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8h_source.html#l01020">linear_solver.h:1020</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_state_html_a41f9430cc0090383e7797a88c1dbacbc"><div class="ttname"><a href="classoperations__research_1_1_knapsack_state.html#a41f9430cc0090383e7797a88c1dbacbc">operations_research::KnapsackState::KnapsackState</a></div><div class="ttdeci">KnapsackState()</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00140">knapsack_solver.cc:140</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_objective_html"><div class="ttname"><a href="classoperations__research_1_1_m_p_objective.html">operations_research::MPObjective</a></div><div class="ttdoc">A class to express a linear objective.</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8h_source.html#l00960">linear_solver.h:960</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a7f5467b49f2cba3d8804e44ed76e12a2"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a7f5467b49f2cba3d8804e44ed76e12a2">operations_research::KnapsackSolver::Solve</a></div><div class="ttdeci">int64_t Solve()</div><div class="ttdoc">Solves the problem and returns the profit of the optimal solution.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01504">knapsack_solver.cc:1504</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_m_i_p_solver_html_a788a597dac89a082d3ed4994d654dec1"><div class="ttname"><a href="classoperations__research_1_1_knapsack_m_i_p_solver.html#a788a597dac89a082d3ed4994d654dec1">operations_research::KnapsackMIPSolver::Solve</a></div><div class="ttdeci">int64_t Solve(TimeLimit *time_limit, bool *is_solution_optimal) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01212">knapsack_solver.cc:1212</a></div></div>
<div class="ttc" id="base_2logging_8h_html_ab4f56aa24c4c9cddc47a6abd2d747f9a"><div class="ttname"><a href="base_2logging_8h.html#ab4f56aa24c4c9cddc47a6abd2d747f9a">DCHECK_GT</a></div><div class="ttdeci">#define DCHECK_GT(val1, val2)</div><div class="ttdef"><b>Definition:</b> <a href="base_2logging_8h_source.html#l00895">base/logging.h:895</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html">operations_research::KnapsackSolver</a></div><div class="ttdoc">This library solves knapsack problems.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00117">knapsack_solver.h:117</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a57d88f584d14b161580550918c8fbf3b"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a57d88f584d14b161580550918c8fbf3b">operations_research::KnapsackSolver::BestSolutionContains</a></div><div class="ttdeci">bool BestSolutionContains(int item_id) const</div><div class="ttdoc">Returns true if the item 'item_id' is packed in the optimal knapsack.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01511">knapsack_solver.cc:1511</a></div></div>
<div class="ttc" id="namespaceoperations__research_html_aa400cb586d3da8079abd2dfe15434c26"><div class="ttname"><a href="namespaceoperations__research.html#aa400cb586d3da8079abd2dfe15434c26">operations_research::OneBit32</a></div><div class="ttdeci">uint32_t OneBit32(int pos)</div><div class="ttdef"><b>Definition:</b> <a href="bitset_8h_source.html#l00039">bitset.h:39</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html_a226456dfb15300dd4e59d0bf80d0ce07"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html#a226456dfb15300dd4e59d0bf80d0ce07">operations_research::MPSolver::MutableObjective</a></div><div class="ttdeci">MPObjective * MutableObjective()</div><div class="ttdoc">Returns the mutable objective object.</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8h_source.html#l00431">linear_solver.h:431</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_state_html_a6308c7a97200f84f6ebf5b2c487b0362"><div class="ttname"><a href="classoperations__research_1_1_knapsack_state.html#a6308c7a97200f84f6ebf5b2c487b0362">operations_research::KnapsackState::Init</a></div><div class="ttdeci">void Init(int number_of_items)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00142">knapsack_solver.cc:142</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a8b06041d7c1fb05f379714f4312306eca793d998526508cfcc2bfc89fe25b3edd"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a8b06041d7c1fb05f379714f4312306eca793d998526508cfcc2bfc89fe25b3edd">operations_research::KnapsackSolver::KNAPSACK_DYNAMIC_PROGRAMMING_SOLVER</a></div><div class="ttdoc">Dynamic Programming approach for single dimension problems.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00147">knapsack_solver.h:147</a></div></div>
<div class="ttc" id="classoperations__research_1_1_base_knapsack_solver_html_a4b0049f92bd893d89f1c03ec066d72af"><div class="ttname"><a href="classoperations__research_1_1_base_knapsack_solver.html#a4b0049f92bd893d89f1c03ec066d72af">operations_research::BaseKnapsackSolver::GetLowerAndUpperBoundWhenItem</a></div><div class="ttdeci">virtual void GetLowerAndUpperBoundWhenItem(int item_id, bool is_item_in, int64_t *lower_bound, int64_t *upper_bound)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01522">knapsack_solver.cc:1522</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack64_items_solver_html_a80f9c9e2e0c2c1cad87248814dba2bd3"><div class="ttname"><a href="classoperations__research_1_1_knapsack64_items_solver.html#a80f9c9e2e0c2c1cad87248814dba2bd3">operations_research::Knapsack64ItemsSolver::Init</a></div><div class="ttdeci">void Init(const std::vector&lt; int64_t &gt; &amp;profits, const std::vector&lt; std::vector&lt; int64_t &gt;&gt; &amp;weights, const std::vector&lt; int64_t &gt; &amp;capacities) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00741">knapsack_solver.cc:741</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a8b06041d7c1fb05f379714f4312306eca2a4e77eec4f386d17001e7285e812a0b"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a8b06041d7c1fb05f379714f4312306eca2a4e77eec4f386d17001e7285e812a0b">operations_research::KnapsackSolver::KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER</a></div><div class="ttdoc">Generic Solver.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00163">knapsack_solver.h:163</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_with_efficiency_html_a6b3684e68faf736fcdb5cbbb2c652ec7"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item_with_efficiency.html#a6b3684e68faf736fcdb5cbbb2c652ec7">operations_research::KnapsackItemWithEfficiency::KnapsackItemWithEfficiency</a></div><div class="ttdeci">KnapsackItemWithEfficiency(int _id, int64_t _profit, int64_t _weight, int64_t _profit_max)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00657">knapsack_solver.cc:657</a></div></div>
<div class="ttc" id="base_2logging_8h_html_a4bd2e815ca2f702a4b6aa744b1ff3b82"><div class="ttname"><a href="base_2logging_8h.html#a4bd2e815ca2f702a4b6aa744b1ff3b82">CHECK_LT</a></div><div class="ttdeci">#define CHECK_LT(val1, val2)</div><div class="ttdef"><b>Definition:</b> <a href="base_2logging_8h_source.html#l00705">base/logging.h:705</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_path_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_path.html">operations_research::KnapsackSearchPath</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00393">knapsack_solver.h:393</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_dynamic_programming_solver_html_a788a597dac89a082d3ed4994d654dec1"><div class="ttname"><a href="classoperations__research_1_1_knapsack_dynamic_programming_solver.html#a788a597dac89a082d3ed4994d654dec1">operations_research::KnapsackDynamicProgrammingSolver::Solve</a></div><div class="ttdeci">int64_t Solve(TimeLimit *time_limit, bool *is_solution_optimal) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01007">knapsack_solver.cc:1007</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_aa68069fd1180cb37fcdbc99d6230bc3e"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#aa68069fd1180cb37fcdbc99d6230bc3e">operations_research::KnapsackPropagator::profit_upper_bound</a></div><div class="ttdeci">int64_t profit_upper_bound() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00469">knapsack_solver.h:469</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_generic_solver_html_a2a25594d97a0a532f9d814bdc6dea380"><div class="ttname"><a href="classoperations__research_1_1_knapsack_generic_solver.html#a2a25594d97a0a532f9d814bdc6dea380">operations_research::KnapsackGenericSolver::~KnapsackGenericSolver</a></div><div class="ttdeci">~KnapsackGenericSolver() override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00348">knapsack_solver.cc:348</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_brute_force_solver_html_a788a597dac89a082d3ed4994d654dec1"><div class="ttname"><a href="classoperations__research_1_1_knapsack_brute_force_solver.html#a788a597dac89a082d3ed4994d654dec1">operations_research::KnapsackBruteForceSolver::Solve</a></div><div class="ttdeci">int64_t Solve(TimeLimit *time_limit, bool *is_solution_optimal) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00604">knapsack_solver.cc:604</a></div></div>
<div class="ttc" id="alldiff__cst_8cc_html_a26e6db9bcc64b584051ecc28171ed11f"><div class="ttname"><a href="alldiff__cst_8cc.html#a26e6db9bcc64b584051ecc28171ed11f">max</a></div><div class="ttdeci">int64_t max</div><div class="ttdef"><b>Definition:</b> <a href="alldiff__cst_8cc_source.html#l00140">alldiff_cst.cc:140</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_with_efficiency_html"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item_with_efficiency.html">operations_research::KnapsackItemWithEfficiency</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00656">knapsack_solver.cc:656</a></div></div>
<div class="ttc" id="gscip__solver_8cc_html_a1ba5ca0f61f2fa13bd23bf0f89004f35"><div class="ttname"><a href="gscip__solver_8cc.html#a1ba5ca0f61f2fa13bd23bf0f89004f35">upper_bound</a></div><div class="ttdeci">double upper_bound</div><div class="ttdef"><b>Definition:</b> <a href="gscip__solver_8cc_source.html#l00126">gscip_solver.cc:126</a></div></div>
<div class="ttc" id="pack_8cc_html_a4255f714cea26cdd64f6a0ee72d34a8c"><div class="ttname"><a href="pack_8cc.html#a4255f714cea26cdd64f6a0ee72d34a8c">weight</a></div><div class="ttdeci">int64_t weight</div><div class="ttdef"><b>Definition:</b> <a href="pack_8cc_source.html#l00510">pack.cc:510</a></div></div>
<div class="ttc" id="knapsack__solver_8h_html"><div class="ttname"><a href="knapsack__solver_8h.html">knapsack_solver.h</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_brute_force_solver_html_a4f9df2a0d826265d62cd86f04070d439"><div class="ttname"><a href="classoperations__research_1_1_knapsack_brute_force_solver.html#a4f9df2a0d826265d62cd86f04070d439">operations_research::KnapsackBruteForceSolver::KnapsackBruteForceSolver</a></div><div class="ttdeci">KnapsackBruteForceSolver(const std::string &amp;solver_name)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00573">knapsack_solver.cc:573</a></div></div>
<div class="ttc" id="namespaceoperations__research_html_afa6ef9aef70f95b9d5bcee2c10937bc8"><div class="ttname"><a href="namespaceoperations__research.html#afa6ef9aef70f95b9d5bcee2c10937bc8">operations_research::MostSignificantBitPosition64</a></div><div class="ttdeci">int MostSignificantBitPosition64(uint64_t n)</div><div class="ttdef"><b>Definition:</b> <a href="bitset_8h_source.html#l00231">bitset.h:231</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_with_efficiency_html_a036eb5930698269322fab01797c24255"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item_with_efficiency.html#a036eb5930698269322fab01797c24255">operations_research::KnapsackItemWithEfficiency::efficiency</a></div><div class="ttdeci">double efficiency</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00669">knapsack_solver.cc:669</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_m_i_p_solver_html_abfd4cb3faa2f1d6840b8123765fa2fc4"><div class="ttname"><a href="classoperations__research_1_1_knapsack_m_i_p_solver.html#abfd4cb3faa2f1d6840b8123765fa2fc4">operations_research::KnapsackMIPSolver::best_solution</a></div><div class="ttdeci">bool best_solution(int item_id) const override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01182">knapsack_solver.cc:1182</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_node_html_a9962698a737cd21789c77ff32bef0d98"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_node.html#a9962698a737cd21789c77ff32bef0d98">operations_research::KnapsackSearchNode::set_next_item_id</a></div><div class="ttdeci">void set_next_item_id(int id)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00354">knapsack_solver.h:354</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_ab803770e8e21bb448a2f3d940ab125f8"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#ab803770e8e21bb448a2f3d940ab125f8">operations_research::KnapsackPropagator::CopyCurrentStateToSolutionPropagator</a></div><div class="ttdeci">virtual void CopyCurrentStateToSolutionPropagator(std::vector&lt; bool &gt; *solution) const =0</div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a6b46c35c8977efde66ae7ad97423bdf2"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a6b46c35c8977efde66ae7ad97423bdf2">operations_research::KnapsackSolver::KnapsackSolver</a></div><div class="ttdeci">KnapsackSolver(const std::string &amp;solver_name)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01258">knapsack_solver.cc:1258</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_m_i_p_solver_html_a80f9c9e2e0c2c1cad87248814dba2bd3"><div class="ttname"><a href="classoperations__research_1_1_knapsack_m_i_p_solver.html#a80f9c9e2e0c2c1cad87248814dba2bd3">operations_research::KnapsackMIPSolver::Init</a></div><div class="ttdeci">void Init(const std::vector&lt; int64_t &gt; &amp;profits, const std::vector&lt; std::vector&lt; int64_t &gt;&gt; &amp;weights, const std::vector&lt; int64_t &gt; &amp;capacities) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01204">knapsack_solver.cc:1204</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a8b06041d7c1fb05f379714f4312306ecac43056d6d2f96cee37fcb8a752b0ff45"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a8b06041d7c1fb05f379714f4312306ecac43056d6d2f96cee37fcb8a752b0ff45">operations_research::KnapsackSolver::KNAPSACK_BRUTE_FORCE_SOLVER</a></div><div class="ttdoc">Brute force method.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00131">knapsack_solver.h:131</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_brute_force_solver_html_abfd4cb3faa2f1d6840b8123765fa2fc4"><div class="ttname"><a href="classoperations__research_1_1_knapsack_brute_force_solver.html#abfd4cb3faa2f1d6840b8123765fa2fc4">operations_research::KnapsackBruteForceSolver::best_solution</a></div><div class="ttdeci">bool best_solution(int item_id) const override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00559">knapsack_solver.cc:559</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack64_items_solver_html_a6efbe15e2ab4e192b6af2fdcdda41ca2"><div class="ttname"><a href="classoperations__research_1_1_knapsack64_items_solver.html#a6efbe15e2ab4e192b6af2fdcdda41ca2">operations_research::Knapsack64ItemsSolver::Knapsack64ItemsSolver</a></div><div class="ttdeci">Knapsack64ItemsSolver(const std::string &amp;solver_name)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00726">knapsack_solver.cc:726</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_capacity_propagator_html_ae2545020be753ee6a66c277daac41784"><div class="ttname"><a href="classoperations__research_1_1_knapsack_capacity_propagator.html#ae2545020be753ee6a66c277daac41784">operations_research::KnapsackCapacityPropagator::InitPropagator</a></div><div class="ttdeci">void InitPropagator() override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00255">knapsack_solver.cc:255</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a8b06041d7c1fb05f379714f4312306eca1f4e1e2f80ab9c7d4fc1b14d9f5da959"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a8b06041d7c1fb05f379714f4312306eca1f4e1e2f80ab9c7d4fc1b14d9f5da959">operations_research::KnapsackSolver::KNAPSACK_MULTIDIMENSION_SCIP_MIP_SOLVER</a></div><div class="ttdoc">SCIP based solver.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00171">knapsack_solver.h:171</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_capacity_propagator_html_a9921c39ed90a9cd32301ee0fee9491cb"><div class="ttname"><a href="classoperations__research_1_1_knapsack_capacity_propagator.html#a9921c39ed90a9cd32301ee0fee9491cb">operations_research::KnapsackCapacityPropagator::ComputeProfitBounds</a></div><div class="ttdeci">void ComputeProfitBounds() override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00224">knapsack_solver.cc:224</a></div></div>
<div class="ttc" id="classoperations__research_1_1_base_knapsack_solver_html_ae194e7bee4a383e5ee6c8ed341b49b7e"><div class="ttname"><a href="classoperations__research_1_1_base_knapsack_solver.html#ae194e7bee4a383e5ee6c8ed341b49b7e">operations_research::BaseKnapsackSolver::GetName</a></div><div class="ttdeci">virtual std::string GetName() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00599">knapsack_solver.h:599</a></div></div>
<div class="ttc" id="base_2logging_8h_html_ae4db23f10f5d4aad6d735f5a74cd6f8c"><div class="ttname"><a href="base_2logging_8h.html#ae4db23f10f5d4aad6d735f5a74cd6f8c">CHECK_LE</a></div><div class="ttdeci">#define CHECK_LE(val1, val2)</div><div class="ttdef"><b>Definition:</b> <a href="base_2logging_8h_source.html#l00704">base/logging.h:704</a></div></div>
<div class="ttc" id="gscip__solver_8cc_html_a1e2f9a2352c1d9a6cada9544898fceec"><div class="ttname"><a href="gscip__solver_8cc.html#a1e2f9a2352c1d9a6cada9544898fceec">lower_bound</a></div><div class="ttdeci">double lower_bound</div><div class="ttdef"><b>Definition:</b> <a href="gscip__solver_8cc_source.html#l00125">gscip_solver.cc:125</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_generic_solver_html_a2a7bff5cf8a51192eadec54eb0499064"><div class="ttname"><a href="classoperations__research_1_1_knapsack_generic_solver.html#a2a7bff5cf8a51192eadec54eb0499064">operations_research::KnapsackGenericSolver::KnapsackGenericSolver</a></div><div class="ttdeci">KnapsackGenericSolver(const std::string &amp;solver_name)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00339">knapsack_solver.cc:339</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_generic_solver_html_ac9849a7043959c65033fa6f4a63bb10e"><div class="ttname"><a href="classoperations__research_1_1_knapsack_generic_solver.html#ac9849a7043959c65033fa6f4a63bb10e">operations_research::KnapsackGenericSolver::GetLowerAndUpperBoundWhenItem</a></div><div class="ttdeci">void GetLowerAndUpperBoundWhenItem(int item_id, bool is_item_in, int64_t *lower_bound, int64_t *upper_bound) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00372">knapsack_solver.cc:372</a></div></div>
<div class="ttc" id="namespacegtl_html_a4ee3db0c4acaa0f277a0d7006f5ad1e6"><div class="ttname"><a href="namespacegtl.html#a4ee3db0c4acaa0f277a0d7006f5ad1e6">gtl::STLDeleteElements</a></div><div class="ttdeci">void STLDeleteElements(T *container)</div><div class="ttdef"><b>Definition:</b> <a href="stl__util_8h_source.html#l00372">stl_util.h:372</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_dynamic_programming_solver_html_abfd4cb3faa2f1d6840b8123765fa2fc4"><div class="ttname"><a href="classoperations__research_1_1_knapsack_dynamic_programming_solver.html#abfd4cb3faa2f1d6840b8123765fa2fc4">operations_research::KnapsackDynamicProgrammingSolver::best_solution</a></div><div class="ttdeci">bool best_solution(int item_id) const override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00946">knapsack_solver.cc:946</a></div></div>
<div class="ttc" id="routing__flow_8cc_html_a2acb49f4df5288066c43610bede123ec"><div class="ttname"><a href="routing__flow_8cc.html#a2acb49f4df5288066c43610bede123ec">capacity</a></div><div class="ttdeci">int64_t capacity</div><div class="ttdef"><b>Definition:</b> <a href="routing__flow_8cc_source.html#l00151">routing_flow.cc:151</a></div></div>
<div class="ttc" id="namespaceoperations__research_html_a627ab892a9c19c32b05c8f118e7660e0"><div class="ttname"><a href="namespaceoperations__research.html#a627ab892a9c19c32b05c8f118e7660e0">operations_research::CompareKnapsackItemWithEfficiencyInDecreasingEfficiencyOrder</a></div><div class="ttdeci">bool CompareKnapsackItemWithEfficiencyInDecreasingEfficiencyOrder(const KnapsackItemWithEfficiency &amp;item1, const KnapsackItemWithEfficiency &amp;item2)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00719">knapsack_solver.cc:719</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html_ae1df08a9aabad59b5d620930126e6d91"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html#ae1df08a9aabad59b5d620930126e6d91">operations_research::MPSolver::SuppressOutput</a></div><div class="ttdeci">void SuppressOutput()</div><div class="ttdoc">Suppresses solver logging.</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8cc_source.html#l01669">linear_solver.cc:1669</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_af4b38123d3654471f0868774c5ff877d"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#af4b38123d3654471f0868774c5ff877d">operations_research::KnapsackPropagator::Update</a></div><div class="ttdeci">bool Update(bool revert, const KnapsackAssignment &amp;assignment)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00186">knapsack_solver.cc:186</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_node_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_node.html">operations_research::KnapsackSearchNode</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00339">knapsack_solver.h:339</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_node_html_af991b29f273c53c8b35cb09bcccf3a5d"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_node.html#af991b29f273c53c8b35cb09bcccf3a5d">operations_research::KnapsackSearchNode::set_profit_upper_bound</a></div><div class="ttdeci">void set_profit_upper_bound(int64_t profit)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00351">knapsack_solver.h:351</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_constraint_html"><div class="ttname"><a href="classoperations__research_1_1_m_p_constraint.html">operations_research::MPConstraint</a></div><div class="ttdoc">The class for constraints of a Mathematical Programming (MP) model.</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8h_source.html#l01212">linear_solver.h:1212</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_state_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack_state.html">operations_research::KnapsackState</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00414">knapsack_solver.h:414</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_a883cd053b1e7322727eb9e19940f69f6"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#a883cd053b1e7322727eb9e19940f69f6">operations_research::KnapsackPropagator::InitPropagator</a></div><div class="ttdeci">virtual void InitPropagator()=0</div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_dynamic_programming_solver_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack_dynamic_programming_solver.html">operations_research::KnapsackDynamicProgrammingSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00933">knapsack_solver.cc:933</a></div></div>
<div class="ttc" id="base_2logging_8h_html_a7c0ce053b28d53aa4eaf3eb7fb71663b"><div class="ttname"><a href="base_2logging_8h.html#a7c0ce053b28d53aa4eaf3eb7fb71663b">CHECK_EQ</a></div><div class="ttdeci">#define CHECK_EQ(val1, val2)</div><div class="ttdef"><b>Definition:</b> <a href="base_2logging_8h_source.html#l00702">base/logging.h:702</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_node_html_ad17e46a2afcf393a4ec9159162c969f2"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_node.html#ad17e46a2afcf393a4ec9159162c969f2">operations_research::KnapsackSearchNode::KnapsackSearchNode</a></div><div class="ttdeci">KnapsackSearchNode(const KnapsackSearchNode *const parent, const KnapsackAssignment &amp;assignment)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00103">knapsack_solver.cc:103</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_divide_and_conquer_solver_html_a7ab851afcd52d261c81d45ee40a1a072"><div class="ttname"><a href="classoperations__research_1_1_knapsack_divide_and_conquer_solver.html#a7ab851afcd52d261c81d45ee40a1a072">operations_research::KnapsackDivideAndConquerSolver::KnapsackDivideAndConquerSolver</a></div><div class="ttdeci">KnapsackDivideAndConquerSolver(const std::string &amp;solver_name)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01073">knapsack_solver.cc:1073</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_af15d878d664ee8a07cf3b710f8047cba"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#af15d878d664ee8a07cf3b710f8047cba">operations_research::KnapsackPropagator::~KnapsackPropagator</a></div><div class="ttdeci">virtual ~KnapsackPropagator()</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00171">knapsack_solver.cc:171</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_assignment_html_a1c0c3c835f3c4363b650fba65c7ebf32"><div class="ttname"><a href="structoperations__research_1_1_knapsack_assignment.html#a1c0c3c835f3c4363b650fba65c7ebf32">operations_research::KnapsackAssignment::item_id</a></div><div class="ttdeci">int item_id</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00298">knapsack_solver.h:298</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_a9b748c5fb5e1da5da53026ffb91db51f"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#a9b748c5fb5e1da5da53026ffb91db51f">operations_research::KnapsackPropagator::state</a></div><div class="ttdeci">const KnapsackState &amp; state() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00498">knapsack_solver.h:498</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html_a76c87990aabadd148304b95332a60ff8ad183dc62c63346a3b984b93fbda0137a"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html#a76c87990aabadd148304b95332a60ff8ad183dc62c63346a3b984b93fbda0137a">operations_research::MPSolver::CBC_MIXED_INTEGER_PROGRAMMING</a></div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8h_source.html#l00202">linear_solver.h:202</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_abb19dddb08cf912baec8995cfd2f1f42"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#abb19dddb08cf912baec8995cfd2f1f42">operations_research::KnapsackSolver::~KnapsackSolver</a></div><div class="ttdeci">virtual ~KnapsackSolver()</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01318">knapsack_solver.cc:1318</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_af991b29f273c53c8b35cb09bcccf3a5d"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#af991b29f273c53c8b35cb09bcccf3a5d">operations_research::KnapsackPropagator::set_profit_upper_bound</a></div><div class="ttdeci">void set_profit_upper_bound(int64_t profit)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00502">knapsack_solver.h:502</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_m_i_p_solver_html_a86d45985fb2256114f8fa235af155cff"><div class="ttname"><a href="classoperations__research_1_1_knapsack_m_i_p_solver.html#a86d45985fb2256114f8fa235af155cff">operations_research::KnapsackMIPSolver::KnapsackMIPSolver</a></div><div class="ttdeci">KnapsackMIPSolver(MPSolver::OptimizationProblemType problem_type, const std::string &amp;solver_name)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01194">knapsack_solver.cc:1194</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_generic_solver_html_a734b6464309adbbdeb63ef759f690ff1"><div class="ttname"><a href="classoperations__research_1_1_knapsack_generic_solver.html#a734b6464309adbbdeb63ef759f690ff1">operations_research::KnapsackGenericSolver::Init</a></div><div class="ttdeci">void Init(const std::vector&lt; int64_t &gt; &amp;profits, const std::vector&lt; std::vector&lt; int64_t &gt; &gt; &amp;weights, const std::vector&lt; int64_t &gt; &amp;capacities) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00350">knapsack_solver.cc:350</a></div></div>
<div class="ttc" id="base_2logging_8h_html_ae17f8119c108cf3070bad3449c7e0006"><div class="ttname"><a href="base_2logging_8h.html#ae17f8119c108cf3070bad3449c7e0006">DCHECK</a></div><div class="ttdeci">#define DCHECK(condition)</div><div class="ttdef"><b>Definition:</b> <a href="base_2logging_8h_source.html#l00889">base/logging.h:889</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_with_efficiency_html_ac4db398e132b8e254cd485f4aac8d1bf"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item_with_efficiency.html#ac4db398e132b8e254cd485f4aac8d1bf">operations_research::KnapsackItemWithEfficiency::profit</a></div><div class="ttdeci">int64_t profit</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00667">knapsack_solver.cc:667</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_path_html_a3dc3602e1a640bc986956e0ce5e88d04"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_path.html#a3dc3602e1a640bc986956e0ce5e88d04">operations_research::KnapsackSearchPath::KnapsackSearchPath</a></div><div class="ttdeci">KnapsackSearchPath(const KnapsackSearchNode &amp;from, const KnapsackSearchNode &amp;to)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00113">knapsack_solver.cc:113</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_a04d8883567a6e02787f2362e6543a21b"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#a04d8883567a6e02787f2362e6543a21b">operations_research::KnapsackPropagator::Init</a></div><div class="ttdeci">void Init(const std::vector&lt; int64_t &gt; &amp;profits, const std::vector&lt; int64_t &gt; &amp;weights)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00173">knapsack_solver.cc:173</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_ae04e419341e0b9772a057aff10ce63a0"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#ae04e419341e0b9772a057aff10ce63a0">operations_research::KnapsackPropagator::profit_lower_bound</a></div><div class="ttdeci">int64_t profit_lower_bound() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00468">knapsack_solver.h:468</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_capacity_propagator_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack_capacity_propagator.html">operations_research::KnapsackCapacityPropagator</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00534">knapsack_solver.h:534</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_html_a75dd99d0e31e3a347e5ebad01561e31d"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item.html#a75dd99d0e31e3a347e5ebad01561e31d">operations_research::KnapsackItem::profit</a></div><div class="ttdeci">const int64_t profit</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00327">knapsack_solver.h:327</a></div></div>
<div class="ttc" id="classoperations__research_1_1_base_knapsack_solver_html"><div class="ttname"><a href="classoperations__research_1_1_base_knapsack_solver.html">operations_research::BaseKnapsackSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00575">knapsack_solver.h:575</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_a5a0d11be6f0d5b521477226fb7573db8"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#a5a0d11be6f0d5b521477226fb7573db8">operations_research::KnapsackPropagator::UpdatePropagator</a></div><div class="ttdeci">virtual bool UpdatePropagator(bool revert, const KnapsackAssignment &amp;assignment)=0</div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack64_items_solver_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack64_items_solver.html">operations_research::Knapsack64ItemsSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00676">knapsack_solver.cc:676</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html_acede9075c58cb2f506c99a9fe6f20303"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html#acede9075c58cb2f506c99a9fe6f20303">operations_research::MPSolver::Solve</a></div><div class="ttdeci">ResultStatus Solve()</div><div class="ttdoc">Solves the problem using the default parameter values.</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8cc_source.html#l01390">linear_solver.cc:1390</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html">operations_research::MPSolver</a></div><div class="ttdoc">This mathematical programming (MP) solver class is the main class though which users build and solve ...</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8h_source.html#l00183">linear_solver.h:183</a></div></div>
<div class="ttc" id="namespaceoperations__research_html"><div class="ttname"><a href="namespaceoperations__research.html">operations_research</a></div><div class="ttdoc">Collection of objects used to extend the Constraint Solver library.</div><div class="ttdef"><b>Definition:</b> <a href="dense__doubly__linked__list_8h_source.html#l00021">dense_doubly_linked_list.h:21</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html_a200ccd114eb5057856c05501c2d4abe5"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html#a200ccd114eb5057856c05501c2d4abe5">operations_research::MPSolver::MakeBoolVarArray</a></div><div class="ttdeci">void MakeBoolVarArray(int nb, const std::string &amp;name, std::vector&lt; MPVariable * &gt; *vars)</div><div class="ttdoc">Creates an array of boolean variables.</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8cc_source.html#l01308">linear_solver.cc:1308</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_generic_solver_html_a788a597dac89a082d3ed4994d654dec1"><div class="ttname"><a href="classoperations__research_1_1_knapsack_generic_solver.html#a788a597dac89a082d3ed4994d654dec1">operations_research::KnapsackGenericSolver::Solve</a></div><div class="ttdeci">int64_t Solve(TimeLimit *time_limit, bool *is_solution_optimal) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00396">knapsack_solver.cc:396</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_brute_force_solver_html_a80f9c9e2e0c2c1cad87248814dba2bd3"><div class="ttname"><a href="classoperations__research_1_1_knapsack_brute_force_solver.html#a80f9c9e2e0c2c1cad87248814dba2bd3">operations_research::KnapsackBruteForceSolver::Init</a></div><div class="ttdeci">void Init(const std::vector&lt; int64_t &gt; &amp;profits, const std::vector&lt; std::vector&lt; int64_t &gt;&gt; &amp;weights, const std::vector&lt; int64_t &gt; &amp;capacities) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00581">knapsack_solver.cc:581</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_aa4161d4fb0a577a3e854b7f285d7ace6"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#aa4161d4fb0a577a3e854b7f285d7ace6">operations_research::KnapsackPropagator::items</a></div><div class="ttdeci">const std::vector&lt; KnapsackItemPtr &gt; &amp; items() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00499">knapsack_solver.h:499</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_capacity_propagator_html_a2ce43dc07784f3d9634df0a5c0dc39b0"><div class="ttname"><a href="classoperations__research_1_1_knapsack_capacity_propagator.html#a2ce43dc07784f3d9634df0a5c0dc39b0">operations_research::KnapsackCapacityPropagator::KnapsackCapacityPropagator</a></div><div class="ttdeci">KnapsackCapacityPropagator(const KnapsackState &amp;state, int64_t capacity)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00211">knapsack_solver.cc:211</a></div></div>
<div class="ttc" id="linear__solver_8cc_html_acdf66e64954cbe33c30a45395b4d74b6"><div class="ttname"><a href="linear__solver_8cc.html#acdf66e64954cbe33c30a45395b4d74b6">problem_type</a></div><div class="ttdeci">MPSolver::OptimizationProblemType problem_type</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8cc_source.html#l00510">linear_solver.cc:510</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_capacity_propagator_html_a3cde41b7fa0c9734783a562aadd9ef8c"><div class="ttname"><a href="classoperations__research_1_1_knapsack_capacity_propagator.html#a3cde41b7fa0c9734783a562aadd9ef8c">operations_research::KnapsackCapacityPropagator::UpdatePropagator</a></div><div class="ttdeci">bool UpdatePropagator(bool revert, const KnapsackAssignment &amp;assignment) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00269">knapsack_solver.cc:269</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_node_html_a6fdd73f8011695b97659f2bea29325cb"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_node.html#a6fdd73f8011695b97659f2bea29325cb">operations_research::KnapsackSearchNode::depth</a></div><div class="ttdeci">int depth() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00343">knapsack_solver.h:343</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_html"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item.html">operations_research::KnapsackItem</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00314">knapsack_solver.h:314</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a8b06041d7c1fb05f379714f4312306ecae2ce6e36a247621de398e875d5feb575"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a8b06041d7c1fb05f379714f4312306ecae2ce6e36a247621de398e875d5feb575">operations_research::KnapsackSolver::KNAPSACK_MULTIDIMENSION_CBC_MIP_SOLVER</a></div><div class="ttdoc">CBC Based Solver.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00155">knapsack_solver.h:155</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a8b06041d7c1fb05f379714f4312306eca9d4c4118c9e4dc258e5052c0a457098d"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a8b06041d7c1fb05f379714f4312306eca9d4c4118c9e4dc258e5052c0a457098d">operations_research::KnapsackSolver::KNAPSACK_DIVIDE_AND_CONQUER_SOLVER</a></div><div class="ttdoc">Divide and Conquer approach for single dimension problems.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00198">knapsack_solver.h:198</a></div></div>
<div class="ttc" id="bitset_8h_html"><div class="ttname"><a href="bitset_8h.html">bitset.h</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a8b06041d7c1fb05f379714f4312306ecaa020f211a1ff184e712aa4f372d6ea34"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a8b06041d7c1fb05f379714f4312306ecaa020f211a1ff184e712aa4f372d6ea34">operations_research::KnapsackSolver::KNAPSACK_64ITEMS_SOLVER</a></div><div class="ttdoc">Optimized method for single dimension small problems.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00139">knapsack_solver.h:139</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_a08beea2d857241d99287935a91be5217"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#a08beea2d857241d99287935a91be5217">operations_research::KnapsackPropagator::current_profit</a></div><div class="ttdeci">int64_t current_profit() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00467">knapsack_solver.h:467</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html">operations_research::KnapsackPropagator</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00448">knapsack_solver.h:448</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html_a76c87990aabadd148304b95332a60ff8a223fb1b5c8d153d5fef50b8d6f0426e9"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html#a76c87990aabadd148304b95332a60ff8a223fb1b5c8d153d5fef50b8d6f0426e9">operations_research::MPSolver::CPLEX_MIXED_INTEGER_PROGRAMMING</a></div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8h_source.html#l00208">linear_solver.h:208</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_capacity_propagator_html_a706a3a7c9568016131afd718f347ec8d"><div class="ttname"><a href="classoperations__research_1_1_knapsack_capacity_propagator.html#a706a3a7c9568016131afd718f347ec8d">operations_research::KnapsackCapacityPropagator::CopyCurrentStateToSolutionPropagator</a></div><div class="ttdeci">void CopyCurrentStateToSolutionPropagator(std::vector&lt; bool &gt; *solution) const override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00284">knapsack_solver.cc:284</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_divide_and_conquer_solver_html_a80f9c9e2e0c2c1cad87248814dba2bd3"><div class="ttname"><a href="classoperations__research_1_1_knapsack_divide_and_conquer_solver.html#a80f9c9e2e0c2c1cad87248814dba2bd3">operations_research::KnapsackDivideAndConquerSolver::Init</a></div><div class="ttdeci">void Init(const std::vector&lt; int64_t &gt; &amp;profits, const std::vector&lt; std::vector&lt; int64_t &gt;&gt; &amp;weights, const std::vector&lt; int64_t &gt; &amp;capacities) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01083">knapsack_solver.cc:1083</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_html_a523234416a08d890505d4b34fb0513ee"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item.html#a523234416a08d890505d4b34fb0513ee">operations_research::KnapsackItem::weight</a></div><div class="ttdeci">const int64_t weight</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00326">knapsack_solver.h:326</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a9a98946a64f3893b085f650932c9dfee"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a9a98946a64f3893b085f650932c9dfee">operations_research::KnapsackSolver::GetName</a></div><div class="ttdeci">std::string GetName() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01519">knapsack_solver.cc:1519</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_state_html_a862bf4e908cd82ea44f72e98558016ad"><div class="ttname"><a href="classoperations__research_1_1_knapsack_state.html#a862bf4e908cd82ea44f72e98558016ad">operations_research::KnapsackState::is_in</a></div><div class="ttdeci">bool is_in(int id) const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00427">knapsack_solver.h:427</a></div></div>
<div class="ttc" id="classoperations__research_1_1_m_p_solver_html_a43d6ca2f978ca6f622a16117166ff69a"><div class="ttname"><a href="classoperations__research_1_1_m_p_solver.html#a43d6ca2f978ca6f622a16117166ff69a">operations_research::MPSolver::MakeRowConstraint</a></div><div class="ttdeci">MPConstraint * MakeRowConstraint(double lb, double ub)</div><div class="ttdoc">Creates a linear constraint with given bounds.</div><div class="ttdef"><b>Definition:</b> <a href="linear__solver_8cc_source.html#l01313">linear_solver.cc:1313</a></div></div>
<div class="ttc" id="demon__profiler_8cc_html_ac072af30c4ffbc834bb4c681f6ecb514"><div class="ttname"><a href="demon__profiler_8cc.html#ac072af30c4ffbc834bb4c681f6ecb514">value</a></div><div class="ttdeci">int64_t value</div><div class="ttdef"><b>Definition:</b> <a href="demon__profiler_8cc_source.html#l00044">demon_profiler.cc:44</a></div></div>
<div class="ttc" id="knapsack__solver_8cc_html_a3cb2fc3bc89582cef0819ea753e8a44d"><div class="ttname"><a href="knapsack__solver_8cc.html#a3cb2fc3bc89582cef0819ea753e8a44d">profit_max</a></div><div class="ttdeci">const int64_t profit_max</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00046">knapsack_solver.cc:46</a></div></div>
<div class="ttc" id="namespaceoperations__research_html_ace10d9b6a07c87e11942df49bb04fc71"><div class="ttname"><a href="namespaceoperations__research.html#ace10d9b6a07c87e11942df49bb04fc71">operations_research::OneBit64</a></div><div class="ttdeci">uint64_t OneBit64(int pos)</div><div class="ttdef"><b>Definition:</b> <a href="bitset_8h_source.html#l00038">bitset.h:38</a></div></div>
<div class="ttc" id="demon__profiler_8cc_html_a05da18ca9c7b657a4a6ea24e07c9b695"><div class="ttname"><a href="demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695">ct</a></div><div class="ttdeci">const Constraint * ct</div><div class="ttdef"><b>Definition:</b> <a href="demon__profiler_8cc_source.html#l00043">demon_profiler.cc:43</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_divide_and_conquer_solver_html_a788a597dac89a082d3ed4994d654dec1"><div class="ttname"><a href="classoperations__research_1_1_knapsack_divide_and_conquer_solver.html#a788a597dac89a082d3ed4994d654dec1">operations_research::KnapsackDivideAndConquerSolver::Solve</a></div><div class="ttdeci">int64_t Solve(TimeLimit *time_limit, bool *is_solution_optimal) override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l01156">knapsack_solver.cc:1156</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_path_html_a09f219a2226f7c0de0f50b6f00c099e3"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_path.html#a09f219a2226f7c0de0f50b6f00c099e3">operations_research::KnapsackSearchPath::MoveUpToDepth</a></div><div class="ttdeci">const KnapsackSearchNode * MoveUpToDepth(const KnapsackSearchNode &amp;node, int depth) const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00130">knapsack_solver.cc:130</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_state_html_ab771ac0e538f991b73b011ee3ba11f05"><div class="ttname"><a href="classoperations__research_1_1_knapsack_state.html#ab771ac0e538f991b73b011ee3ba11f05">operations_research::KnapsackState::UpdateState</a></div><div class="ttdeci">bool UpdateState(bool revert, const KnapsackAssignment &amp;assignment)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8cc_source.html#l00148">knapsack_solver.cc:148</a></div></div>
<div class="ttc" id="structoperations__research_1_1_knapsack_assignment_html"><div class="ttname"><a href="structoperations__research_1_1_knapsack_assignment.html">operations_research::KnapsackAssignment</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00295">knapsack_solver.h:295</a></div></div>
2021-01-26 11:28:50 +01:00
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
2020-09-02 09:42:51 +02:00
<!-- HTML footer for doxygen 1.8.18-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_a7cc1eeded8f693d0da6c729bc88c45a.html">ortools</a></li><li class="navelem"><a class="el" href="dir_80dda7a75b0dfcf996988638a63eb03a.html">algorithms</a></li><li class="navelem"><a class="el" href="knapsack__solver_8cc.html">knapsack_solver.cc</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
2022-01-16 18:02:36 +01:00
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
2020-09-02 09:42:51 +02:00
</ul>
</div>
</body>
</html>