448 lines
25 KiB
HTML
448 lines
25 KiB
HTML
<!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"/>-->
|
|
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="banner-container">
|
|
<div id="banner">
|
|
<span id="sfml">OR-Tools 7.2</span>
|
|
</div>
|
|
</div>
|
|
<link rel="icon" href="https://developers.google.com/optimization/images/orLogo.png">
|
|
<div id="content">
|
|
<!-- Generated by Doxygen 1.8.15 -->
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="annotated.html"><span>Class List</span></a></li>
|
|
<li><a href="classes.html"><span>Class Index</span></a></li>
|
|
<li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="functions.html"><span>Class Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">LatticeMemoryManager</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="classoperations__research_1_1LatticeMemoryManager-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">operations_research::LatticeMemoryManager< Set, CostType > Class Template Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>The Dynamic Programming (DP) algorithm memorizes the values f(set, node) for node in set, for all the subsets of cardinality <= max_card_.
|
|
<a href="classoperations__research_1_1LatticeMemoryManager.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>></code></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a4f81eab503a836cab0e35f7cffdf9331"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html#a4f81eab503a836cab0e35f7cffdf9331">LatticeMemoryManager</a> ()</td></tr>
|
|
<tr class="separator:a4f81eab503a836cab0e35f7cffdf9331"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab5f0b45dfc80e6bddba92ea7dc8c018e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html#ab5f0b45dfc80e6bddba92ea7dc8c018e">Init</a> (int max_card)</td></tr>
|
|
<tr class="memdesc:ab5f0b45dfc80e6bddba92ea7dc8c018e"><td class="mdescLeft"> </td><td class="mdescRight">Reserves memory and fills in the data necessary to access memory. <a href="#ab5f0b45dfc80e6bddba92ea7dc8c018e">More...</a><br /></td></tr>
|
|
<tr class="separator:ab5f0b45dfc80e6bddba92ea7dc8c018e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac5d506873d40f552209caa36e734990d"><td class="memItemLeft" align="right" valign="top">uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html#ac5d506873d40f552209caa36e734990d">Offset</a> (<a class="el" href="classoperations__research_1_1Set.html">Set</a> s, int node) const</td></tr>
|
|
<tr class="memdesc:ac5d506873d40f552209caa36e734990d"><td class="mdescLeft"> </td><td class="mdescRight">Returns the offset in memory for f(s, node), with node contained in s. <a href="#ac5d506873d40f552209caa36e734990d">More...</a><br /></td></tr>
|
|
<tr class="separator:ac5d506873d40f552209caa36e734990d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5369cd69622c4264ffcf11a2d5006ecd"><td class="memItemLeft" align="right" valign="top">uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html#a5369cd69622c4264ffcf11a2d5006ecd">BaseOffset</a> (int card, <a class="el" href="classoperations__research_1_1Set.html">Set</a> s) const</td></tr>
|
|
<tr class="memdesc:a5369cd69622c4264ffcf11a2d5006ecd"><td class="mdescLeft"> </td><td class="mdescRight">Returns the base offset in memory for f(s, node), with node contained in s. <a href="#a5369cd69622c4264ffcf11a2d5006ecd">More...</a><br /></td></tr>
|
|
<tr class="separator:a5369cd69622c4264ffcf11a2d5006ecd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a143a5937788ddcaa33e732f98cd26b3f"><td class="memItemLeft" align="right" valign="top">uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html#a143a5937788ddcaa33e732f98cd26b3f">OffsetDelta</a> (int card, int added_node, int removed_node, int rank) const</td></tr>
|
|
<tr class="memdesc:a143a5937788ddcaa33e732f98cd26b3f"><td class="mdescLeft"> </td><td class="mdescRight">Returns the offset delta for a set of cardinality 'card', to which node 'removed_node' is replaced by 'added_node' at 'rank'. <a href="#a143a5937788ddcaa33e732f98cd26b3f">More...</a><br /></td></tr>
|
|
<tr class="separator:a143a5937788ddcaa33e732f98cd26b3f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a59f3668d8fc5dfe2b60d96892c080229"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html#a59f3668d8fc5dfe2b60d96892c080229">SetValue</a> (<a class="el" href="classoperations__research_1_1Set.html">Set</a> s, int node, CostType value)</td></tr>
|
|
<tr class="memdesc:a59f3668d8fc5dfe2b60d96892c080229"><td class="mdescLeft"> </td><td class="mdescRight">Memorizes the value = f(s, node) at the correct offset. <a href="#a59f3668d8fc5dfe2b60d96892c080229">More...</a><br /></td></tr>
|
|
<tr class="separator:a59f3668d8fc5dfe2b60d96892c080229"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7c8e0f6e664b391264f519adfeb7eae2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html#a7c8e0f6e664b391264f519adfeb7eae2">SetValueAtOffset</a> (uint64 offset, CostType value)</td></tr>
|
|
<tr class="memdesc:a7c8e0f6e664b391264f519adfeb7eae2"><td class="mdescLeft"> </td><td class="mdescRight">Memorizes 'value' at 'offset'. <a href="#a7c8e0f6e664b391264f519adfeb7eae2">More...</a><br /></td></tr>
|
|
<tr class="separator:a7c8e0f6e664b391264f519adfeb7eae2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a084e48121cdd1ab05c9d60f8f45114e5"><td class="memItemLeft" align="right" valign="top">CostType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html#a084e48121cdd1ab05c9d60f8f45114e5">Value</a> (<a class="el" href="classoperations__research_1_1Set.html">Set</a> s, int node) const</td></tr>
|
|
<tr class="memdesc:a084e48121cdd1ab05c9d60f8f45114e5"><td class="mdescLeft"> </td><td class="mdescRight">Returns the memorized value f(s, node) with node in s. <a href="#a084e48121cdd1ab05c9d60f8f45114e5">More...</a><br /></td></tr>
|
|
<tr class="separator:a084e48121cdd1ab05c9d60f8f45114e5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad91d511dbe7e638fd8a46171f906f7e6"><td class="memItemLeft" align="right" valign="top">CostType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html#ad91d511dbe7e638fd8a46171f906f7e6">ValueAtOffset</a> (uint64 offset) const</td></tr>
|
|
<tr class="memdesc:ad91d511dbe7e638fd8a46171f906f7e6"><td class="mdescLeft"> </td><td class="mdescRight">Returns the memorized value at 'offset'. <a href="#ad91d511dbe7e638fd8a46171f906f7e6">More...</a><br /></td></tr>
|
|
<tr class="separator:ad91d511dbe7e638fd8a46171f906f7e6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><h3>template<typename Set, typename CostType><br />
|
|
class operations_research::LatticeMemoryManager< Set, CostType ></h3>
|
|
|
|
<p>The Dynamic Programming (DP) algorithm memorizes the values f(set, node) for node in set, for all the subsets of cardinality <= max_card_. </p>
|
|
<p><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html" title="The Dynamic Programming (DP) algorithm memorizes the values f(set, node) for node in set,...">LatticeMemoryManager</a> manages the storage of f(set, node) so that the DP iteration access memory in increasing addresses. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="hamiltonian__path_8h_source.html#l00291">291</a> of file <a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>.</p>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a4f81eab503a836cab0e35f7cffdf9331"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4f81eab503a836cab0e35f7cffdf9331">◆ </a></span>LatticeMemoryManager()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Set, typename CostType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">operations_research::LatticeMemoryManager</a>< <a class="el" href="classoperations__research_1_1Set.html">Set</a>, CostType >::<a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">LatticeMemoryManager</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="hamiltonian__path_8h_source.html#l00293">293</a> of file <a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a5369cd69622c4264ffcf11a2d5006ecd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5369cd69622c4264ffcf11a2d5006ecd">◆ </a></span>BaseOffset()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Set, typename CostType > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint64 <a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">operations_research::LatticeMemoryManager</a>< <a class="el" href="classoperations__research_1_1Set.html">Set</a>, CostType >::BaseOffset </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>card</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Set.html">Set</a> </td>
|
|
<td class="paramname"><em>s</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the base offset in memory for f(s, node), with node contained in s. </p>
|
|
<p>This is useful in the Dynamic Programming iterations. Note(user): inlining this function gains about 5%. </p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000031">Todo:</a></b></dt><dd>(user): Investigate how to compute BaseOffset(card - 1, s \ { n }) from BaseOffset(card, n) to speed up the DP iteration. </dd></dl>
|
|
<p>There are binomial_coefficients_[node][node_rank + 1] sets which have node at node_rank.</p>
|
|
<p>Note(user): It is possible to get rid of base_offset_[card] by using a 2-D array. It would also make it possible to free all the memory but the layer being constructed and the preceding one, if another lattice of paths is constructed. </p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000026">Todo:</a></b></dt><dd>(user): Evaluate the interest of the above. There are 'card' f(set, j) to store. That is why we need to multiply local_offset by card before adding it to the corresponding base_offset_. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="hamiltonian__path_8h_source.html#l00407">407</a> of file <a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab5f0b45dfc80e6bddba92ea7dc8c018e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab5f0b45dfc80e6bddba92ea7dc8c018e">◆ </a></span>Init()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Set , typename CostType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">operations_research::LatticeMemoryManager</a>< <a class="el" href="classoperations__research_1_1Set.html">Set</a>, CostType >::Init </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>max_card</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Reserves memory and fills in the data necessary to access memory. </p>
|
|
<p>Initialize binomial_coefficients_ using Pascal's triangle recursion.</p>
|
|
<p>Extend to (n, n + 1) to minimize branchings in <a class="el" href="classoperations__research_1_1LatticeMemoryManager.html#a4f81eab503a836cab0e35f7cffdf9331">LatticeMemoryManager()</a>. This also makes the recurrence above work for k = n.</p>
|
|
<p>There are k * binomial_coefficients_[max_card_][k] f(S,j) values to store for each group of f(S,j), with card(S) = k. Update base_offset[k] accordingly. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="hamiltonian__path_8h_source.html#l00357">357</a> of file <a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac5d506873d40f552209caa36e734990d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac5d506873d40f552209caa36e734990d">◆ </a></span>Offset()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Set, typename CostType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint64 <a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">operations_research::LatticeMemoryManager</a>< <a class="el" href="classoperations__research_1_1Set.html">Set</a>, CostType >::Offset </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Set.html">Set</a> </td>
|
|
<td class="paramname"><em>s</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>node</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the offset in memory for f(s, node), with node contained in s. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="hamiltonian__path_8h_source.html#l00431">431</a> of file <a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a143a5937788ddcaa33e732f98cd26b3f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a143a5937788ddcaa33e732f98cd26b3f">◆ </a></span>OffsetDelta()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Set, typename CostType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint64 <a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">operations_research::LatticeMemoryManager</a>< <a class="el" href="classoperations__research_1_1Set.html">Set</a>, CostType >::OffsetDelta </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>card</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>added_node</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>removed_node</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>rank</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the offset delta for a set of cardinality 'card', to which node 'removed_node' is replaced by 'added_node' at 'rank'. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="hamiltonian__path_8h_source.html#l00310">310</a> of file <a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a59f3668d8fc5dfe2b60d96892c080229"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a59f3668d8fc5dfe2b60d96892c080229">◆ </a></span>SetValue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Set, typename CostType> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">operations_research::LatticeMemoryManager</a>< <a class="el" href="classoperations__research_1_1Set.html">Set</a>, CostType >::SetValue </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Set.html">Set</a> </td>
|
|
<td class="paramname"><em>s</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>node</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">CostType </td>
|
|
<td class="paramname"><em>value</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Memorizes the value = f(s, node) at the correct offset. </p>
|
|
<p>This is favored in all other uses than the Dynamic Programming iterations. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="hamiltonian__path_8h_source.html#l00443">443</a> of file <a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7c8e0f6e664b391264f519adfeb7eae2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7c8e0f6e664b391264f519adfeb7eae2">◆ </a></span>SetValueAtOffset()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Set, typename CostType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">operations_research::LatticeMemoryManager</a>< <a class="el" href="classoperations__research_1_1Set.html">Set</a>, CostType >::SetValueAtOffset </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint64 </td>
|
|
<td class="paramname"><em>offset</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">CostType </td>
|
|
<td class="paramname"><em>value</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Memorizes 'value' at 'offset'. </p>
|
|
<p>This is useful in the Dynamic Programming iterations where we want to avoid compute the offset of a pair (set, node). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="hamiltonian__path_8h_source.html#l00323">323</a> of file <a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a084e48121cdd1ab05c9d60f8f45114e5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a084e48121cdd1ab05c9d60f8f45114e5">◆ </a></span>Value()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Set, typename CostType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">CostType <a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">operations_research::LatticeMemoryManager</a>< <a class="el" href="classoperations__research_1_1Set.html">Set</a>, CostType >::Value </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Set.html">Set</a> </td>
|
|
<td class="paramname"><em>s</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>node</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the memorized value f(s, node) with node in s. </p>
|
|
<p>This is favored in all other uses than the Dynamic Programming iterations. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="hamiltonian__path_8h_source.html#l00437">437</a> of file <a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad91d511dbe7e638fd8a46171f906f7e6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad91d511dbe7e638fd8a46171f906f7e6">◆ </a></span>ValueAtOffset()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Set, typename CostType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">CostType <a class="el" href="classoperations__research_1_1LatticeMemoryManager.html">operations_research::LatticeMemoryManager</a>< <a class="el" href="classoperations__research_1_1Set.html">Set</a>, CostType >::ValueAtOffset </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint64 </td>
|
|
<td class="paramname"><em>offset</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the memorized value at 'offset'. </p>
|
|
<p>This is useful in the Dynamic Programming iterations. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="hamiltonian__path_8h_source.html#l00333">333</a> of file <a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li><a class="el" href="hamiltonian__path_8h_source.html">hamiltonian_path.h</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|