Files
ortools-clone/docs/cpp_algorithms/knapsack__solver_8h_source.html

195 lines
149 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
2020-09-01 16:00:33 +02:00
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="styleSheet.tmp.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="banner-container">
<div id="banner">
2021-12-14 13:41:01 +01:00
<span id="sfml">Google OR-Tools 9.2</span>
</div>
</div>
2019-08-07 18:01:08 -07:00
<div id="content" style="width: 100%; overflow: hidden;">
<div style="margin-left: 15px; margin-top: 5px; float: left; color: #145A32;">
2019-08-12 09:16:03 -07:00
<h2>C++ Reference</h2>
2019-08-07 18:01:08 -07:00
<ul>
<li><a href="../cpp_algorithms/annotated.html">Algorithms</a></li>
2019-08-12 09:16:03 -07:00
<li><a href="../cpp_sat/annotated.html">CP-SAT</a></li>
2019-08-07 18:01:08 -07:00
<li><a href="../cpp_graph/annotated.html">Graph</a></li>
<li><a href="../cpp_routing/annotated.html">Routing</a></li>
<li><a href="../cpp_linear/annotated.html">Linear solver</a></li>
</ul>
</div>
<div id="content">
2019-08-07 18:01:08 -07:00
<div align="center">
<h1 style="color: #145A32;">C++ Reference: Algorithms</h1>
</div>
2022-01-16 18:02:36 +01:00
<!-- Generated by Doxygen 1.8.15 -->
2020-09-01 16:00:33 +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-01 16:00:33 +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-01 16:00:33 +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-01 16:00:33 +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>
2019-07-12 11:43:12 -07:00
</div>
2020-09-01 16:00:33 +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 */
$(document).ready(function(){initNavTree('knapsack__solver_8h_source.html','');});
2020-09-01 16:00:33 +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.h</div> </div>
</div><!--header-->
<div class="contents">
2022-01-16 18:02:36 +01:00
<a href="knapsack__solver_8h.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">#ifndef OR_TOOLS_ALGORITHMS_KNAPSACK_SOLVER_H_</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#define OR_TOOLS_ALGORITHMS_KNAPSACK_SOLVER_H_</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &lt;math.h&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;memory&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;ortools/base/basictypes.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;ortools/base/integral_types.h&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;ortools/base/logging.h&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;ortools/base/macros.h&quot;</span></div><div
<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>
<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="structoperations__research_1_1_knapsack_item_html_aefc8a61c2edd00c4daf37056b754e6a0"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item.html#aefc8a61c2edd00c4daf37056b754e6a0">operations_research::KnapsackItem::KnapsackItem</a></div><div class="ttdeci">KnapsackItem(int _id, int64_t _weight, int64_t _profit)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00315">knapsack_solver.h:315</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_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="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>
<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>
<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="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="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>
<div class="ttc" id="classoperations__research_1_1_base_knapsack_solver_html_abb1c2efb23ee210447502a9baab0812a"><div class="ttname"><a href="classoperations__research_1_1_base_knapsack_solver.html#abb1c2efb23ee210447502a9baab0812a">operations_research::BaseKnapsackSolver::Init</a></div><div class="ttdeci">virtual 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)=0</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>
<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="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="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>
<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>
<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>
<div class="ttc" id="classoperations__research_1_1_base_knapsack_solver_html_aae09d1be6e3ce3d746c833f7da003de9"><div class="ttname"><a href="classoperations__research_1_1_base_knapsack_solver.html#aae09d1be6e3ce3d746c833f7da003de9">operations_research::BaseKnapsackSolver::Solve</a></div><div class="ttdeci">virtual int64_t Solve(TimeLimit *time_limit, bool *is_solution_optimal)=0</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>
<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_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="classoperations__research_1_1_knapsack_search_node_html_a08beea2d857241d99287935a91be5217"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_node.html#a08beea2d857241d99287935a91be5217">operations_research::KnapsackSearchNode::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#l00347">knapsack_solver.h:347</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_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>
<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_generic_solver_html_a5c677592ee5e7312c64475ebae949eab"><div class="ttname"><a href="classoperations__research_1_1_knapsack_generic_solver.html#a5c677592ee5e7312c64475ebae949eab">operations_research::KnapsackGenericSolver::GetNumberOfItems</a></div><div class="ttdeci">int GetNumberOfItems() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00623">knapsack_solver.h:623</a></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>
<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_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>
<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>
<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="classoperations__research_1_1_knapsack_solver_html_a9647a5f765048e8662e5efa54c7d8687"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a9647a5f765048e8662e5efa54c7d8687">operations_research::KnapsackSolver::IsSolutionOptimal</a></div><div class="ttdeci">bool IsSolutionOptimal() const</div><div class="ttdoc">Returns true if the solution was proven optimal.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00224">knapsack_solver.h:224</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>
<div class="ttc" id="classoperations__research_1_1_knapsack_generic_solver_html_abfd4cb3faa2f1d6840b8123765fa2fc4"><div class="ttname"><a href="classoperations__research_1_1_knapsack_generic_solver.html#abfd4cb3faa2f1d6840b8123765fa2fc4">operations_research::KnapsackGenericSolver::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_8h_source.html#l00638">knapsack_solver.h:638</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>
<div class="ttc" id="structoperations__research_1_1_knapsack_item_html_a7eb6bbc72ec605de6f50d0c90f609a85"><div class="ttname"><a href="structoperations__research_1_1_knapsack_item.html#a7eb6bbc72ec605de6f50d0c90f609a85">operations_research::KnapsackItem::GetEfficiency</a></div><div class="ttdeci">double GetEfficiency(int64_t profit_max) const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00317">knapsack_solver.h:317</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>
<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_base_knapsack_solver_html_af75968e8e76e35de6e7cdfaa0488b131"><div class="ttname"><a href="classoperations__research_1_1_base_knapsack_solver.html#af75968e8e76e35de6e7cdfaa0488b131">operations_research::BaseKnapsackSolver::best_solution</a></div><div class="ttdeci">virtual bool best_solution(int item_id) const =0</div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_path_html_aa0c092cae536ba7418da2872c7b7d1a4"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_path.html#aa0c092cae536ba7418da2872c7b7d1a4">operations_research::KnapsackSearchPath::MoveUpToDepth</a></div><div class="ttdeci">const KnapsackSearchNode * MoveUpToDepth(const KnapsackSearchNode &amp;node, int depth) const</div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_a6b4f6cbb00a64b0e9745938f9b99d0c8"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#a6b4f6cbb00a64b0e9745938f9b99d0c8">operations_research::KnapsackSolver::set_time_limit</a></div><div class="ttdeci">void set_time_limit(double time_limit_seconds)</div><div class="ttdoc">Time limit in seconds.</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00235">knapsack_solver.h:235</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_generic_solver_html"><div class="ttname"><a href="classoperations__research_1_1_knapsack_generic_solver.html">operations_research::KnapsackGenericSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00614">knapsack_solver.h:614</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_path_html_a1dcc659f782497ac856c5223c0819713"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_path.html#a1dcc659f782497ac856c5223c0819713">operations_research::KnapsackSearchPath::via</a></div><div class="ttdeci">const KnapsackSearchNode &amp; via() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00399">knapsack_solver.h:399</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>
<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_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_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>
<div class="ttc" id="classoperations__research_1_1_knapsack_generic_solver_html_a3df2fc3d96fbcac78a632d7dbf3b8550"><div class="ttname"><a href="classoperations__research_1_1_knapsack_generic_solver.html#a3df2fc3d96fbcac78a632d7dbf3b8550">operations_research::KnapsackGenericSolver::set_master_propagator_id</a></div><div class="ttdeci">void set_master_propagator_id(int master_propagator_id)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00631">knapsack_solver.h:631</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>
<div class="ttc" id="classoperations__research_1_1_knapsack_state_html_a5c677592ee5e7312c64475ebae949eab"><div class="ttname"><a href="classoperations__research_1_1_knapsack_state.html#a5c677592ee5e7312c64475ebae949eab">operations_research::KnapsackState::GetNumberOfItems</a></div><div class="ttdeci">int GetNumberOfItems() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00425">knapsack_solver.h:425</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>
<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_afccfe4a5a27c2c805016d82886795da9"><div class="ttname"><a href="classoperations__research_1_1_knapsack_capacity_propagator.html#afccfe4a5a27c2c805016d82886795da9">operations_research::KnapsackCapacityPropagator::GetNextItemId</a></div><div class="ttdeci">int GetNextItemId() const override</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00539">knapsack_solver.h:539</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="classoperations__research_1_1_base_knapsack_solver_html_a89ae568099e8a8937bb049a1626e6d3a"><div class="ttname"><a href="classoperations__research_1_1_base_knapsack_solver.html#a89ae568099e8a8937bb049a1626e6d3a">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>
<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="structoperations__research_1_1_knapsack_assignment_html_a8f85eb172a4c6bed0d042f7d269fc457"><div class="ttname"><a href="structoperations__research_1_1_knapsack_assignment.html#a8f85eb172a4c6bed0d042f7d269fc457">operations_research::KnapsackAssignment::KnapsackAssignment</a></div><div class="ttdeci">KnapsackAssignment(int _item_id, bool _is_in)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00296">knapsack_solver.h:296</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_base_knapsack_solver_html_ac6518fa5a6dd37173c7700bc2d9b6071"><div class="ttname"><a href="classoperations__research_1_1_base_knapsack_solver.html#ac6518fa5a6dd37173c7700bc2d9b6071">operations_research::BaseKnapsackSolver::BaseKnapsackSolver</a></div><div class="ttdeci">BaseKnapsackSolver(const std::string &amp;solver_name)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00577">knapsack_solver.h:577</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_node_html_a94dca4e57f87ba2a9e3b995c267c0821"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_node.html#a94dca4e57f87ba2a9e3b995c267c0821">operations_research::KnapsackSearchNode::next_item_id</a></div><div class="ttdeci">int next_item_id() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00353">knapsack_solver.h:353</a></div></div>
<div class="ttc" id="namespaceoperations__research_html"><div class="ttname"><a href="namespaceoperations__research.html">operations_research</a></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_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>
<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>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_accafea74a5951ec85cd803541f3ab3fe"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#accafea74a5951ec85cd803541f3ab3fe">operations_research::KnapsackPropagator::~KnapsackPropagator</a></div><div class="ttdeci">virtual ~KnapsackPropagator()</div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_ac7d0a3efa2aabe6a3e667b0724f63688"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#ac7d0a3efa2aabe6a3e667b0724f63688">operations_research::KnapsackSolver::use_reduction</a></div><div class="ttdeci">bool use_reduction() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00227">knapsack_solver.h:227</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>
<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="classoperations__research_1_1_knapsack_search_path_html_af020a457732b35e71f0bce09433ba4f2"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_path.html#af020a457732b35e71f0bce09433ba4f2">operations_research::KnapsackSearchPath::to</a></div><div class="ttdeci">const KnapsackSearchNode &amp; to() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00400">knapsack_solver.h:400</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_solver_html_adecc1cf1fe064b843459dd1f8aec12ff"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#adecc1cf1fe064b843459dd1f8aec12ff">operations_research::KnapsackSolver::~KnapsackSolver</a></div><div class="ttdeci">virtual ~KnapsackSolver()</div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_a8ae457a5297bac5ad83517ba54b819d1"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#a8ae457a5297bac5ad83517ba54b819d1">operations_research::KnapsackPropagator::ComputeProfitBounds</a></div><div class="ttdeci">virtual void ComputeProfitBounds()=0</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_knapsack_search_path_html_aa4d0c972d711bfb97638280fa646f83d"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_path.html#aa4d0c972d711bfb97638280fa646f83d">operations_research::KnapsackSearchPath::from</a></div><div class="ttdeci">const KnapsackSearchNode &amp; from() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00398">knapsack_solver.h:398</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>
<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>
<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_knapsack_solver_html_aa5b8e0a03c593bfc3cef0ba8d178844f"><div class="ttname"><a href="classoperations__research_1_1_knapsack_solver.html#aa5b8e0a03c593bfc3cef0ba8d178844f">operations_research::KnapsackSolver::set_use_reduction</a></div><div class="ttdeci">void set_use_reduction(bool use_reduction)</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00228">knapsack_solver.h:228</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_search_node_html_afca45ec0f9ea0c2b36804720f5fa8655"><div class="ttname"><a href="classoperations__research_1_1_knapsack_search_node.html#afca45ec0f9ea0c2b36804720f5fa8655">operations_research::KnapsackSearchNode::assignment</a></div><div class="ttdeci">const KnapsackAssignment &amp; assignment() const</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00345">knapsack_solver.h:345</a></div></div>
<div class="ttc" id="classoperations__research_1_1_knapsack_propagator_html_a9aea5e61ac71dca1139fda445cc2dfee"><div class="ttname"><a href="classoperations__research_1_1_knapsack_propagator.html#a9aea5e61ac71dca1139fda445cc2dfee">operations_research::KnapsackPropagator::GetNextItemId</a></div><div class="ttdeci">virtual int GetNextItemId() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1_base_knapsack_solver_html_ab5b44517ac32ba76590129831a826096"><div class="ttname"><a href="classoperations__research_1_1_base_knapsack_solver.html#ab5b44517ac32ba76590129831a826096">operations_research::BaseKnapsackSolver::~BaseKnapsackSolver</a></div><div class="ttdeci">virtual ~BaseKnapsackSolver()</div><div class="ttdef"><b>Definition:</b> <a href="knapsack__solver_8h_source.html#l00579">knapsack_solver.h:579</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>
<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 -->
2019-08-07 18:01:08 -07:00
</div>
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>