Commit ccdb3334 authored by Dominik Bongartz's avatar Dominik Bongartz
Browse files

Release version v0.5.0

parent 13bbd7a7
Pipeline #486983 skipped
<!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>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MAiNGO: C:/dobo01/maingo/src/bab.cpp File Reference</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>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<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" />
</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="mango_only.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MAiNGO
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('bab_8cpp.html','');});
/* @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">
<div class="headertitle">
<div class="title">bab.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="bab_8h_source.html">bab.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_m_ai_n_g_o_exception_8h_source.html">MAiNGOException.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="get_time_8h_source.html">getTime.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="lbp_8h_source.html">lbp.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="mpi_utilities_8h_source.html">mpiUtilities.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="ubp_8h_source.html">ubp.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utilities_8h_source.html">utilities.h</a>&quot;</code><br />
<code>#include &lt;limits&gt;</code><br />
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="bab_8cpp.html">bab.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</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>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MAiNGO: C:/dobo01/maingo/inc/bab.h File Reference</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>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<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" />
</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="mango_only.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MAiNGO
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('bab_8h.html','');});
/* @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">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">bab.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_m_ai_n_g_odebug_8h_source.html">MAiNGOdebug.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="logger_8h_source.html">logger.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="mpi_utilities_8h_source.html">mpiUtilities.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="bab_brancher_8h_source.html">babBrancher.h</a>&quot;</code><br />
<code>#include &lt;cmath&gt;</code><br />
<code>#include &lt;map&gt;</code><br />
<code>#include &lt;memory&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div>
<p><a href="bab_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmaingo_1_1bab_1_1_branch_and_bound.html">maingo::bab::BranchAndBound</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class contains the main algorithm, including handling of pre-processing routines and managing the B&amp;B tree as well as the respective sub-solvers. <a href="classmaingo_1_1bab_1_1_branch_and_bound.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemaingo"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemaingo.html">maingo</a></td></tr>
<tr class="memdesc:namespacemaingo"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace holding all essentials of <a class="el" href="classmaingo_1_1_m_ai_n_g_o.html" title="This class is the MAiNGO solver holding the B&amp;B tree, upper bounding solver, lower bounding solver an...">MAiNGO</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemaingo_1_1lbp"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemaingo_1_1lbp.html">maingo::lbp</a></td></tr>
<tr class="memdesc:namespacemaingo_1_1lbp"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace holding all essentials of the lower bounding solver <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemaingo_1_1ubp"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemaingo_1_1ubp.html">maingo::ubp</a></td></tr>
<tr class="memdesc:namespacemaingo_1_1ubp"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace holding all essentials of the upper bounding solvers <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemaingo_1_1bab"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemaingo_1_1bab.html">maingo::bab</a></td></tr>
<tr class="memdesc:namespacemaingo_1_1bab"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace holding everything related to the actual branch-and-bound algorithm <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_bfccd401955b95cf8c75461437045ac0.html">inc</a></li><li class="navelem"><a class="el" href="bab_8h.html">bab.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</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>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MAiNGO: C:/dobo01/maingo/inc/bab.h 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>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<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" />
</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="mango_only.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MAiNGO
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('bab_8h_source.html','');});
/* @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">
<div class="headertitle">
<div class="title">bab.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="bab_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">/**********************************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (c) 2019 Process Systems Engineering (AVT.SVT), RWTH Aachen University</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This program and the accompanying materials are made available under the</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * terms of the Eclipse Public License 2.0 which is available at</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * http://www.eclipse.org/legal/epl-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"> * SPDX-License-Identifier: EPL-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> **********************************************************************************/</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#pragma once</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="_m_ai_n_g_odebug_8h.html">MAiNGOdebug.h</a>&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="logger_8h.html">logger.h</a>&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="mpi_utilities_8h.html">mpiUtilities.h</a>&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifdef HAVE_MAiNGO_MPI</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_m_ai_n_g_o_mpi_exception_8h.html">MAiNGOMpiException.h</a>&quot;</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="bab_brancher_8h.html">babBrancher.h</a>&quot;</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 &lt;cmath&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemaingo.html">maingo</a> {</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="namespacemaingo_1_1lbp.html"> 33</a></span>&#160;<span class="keyword">namespace </span>lbp {</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">class </span><a class="code" href="classmaingo_1_1lbp_1_1_lower_bounding_solver.html">LowerBoundingSolver</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">struct </span><a class="code" href="structmaingo_1_1lbp_1_1_lbp_dual_info.html">LbpDualInfo</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;} <span class="comment">// namespace lbp</span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="namespacemaingo_1_1ubp.html"> 37</a></span>&#160;<span class="keyword">namespace </span>ubp {</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">class </span><a class="code" href="classmaingo_1_1ubp_1_1_upper_bounding_solver.html">UpperBoundingSolver</a>;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;} <span class="comment">// namespace ubp</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">namespace </span>bab {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html"> 58</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html">BranchAndBound</a> {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ab1e963d56b3adc807decb6e4dc1bee85">BranchAndBound</a>(<span class="keyword">const</span> std::vector&lt;babBase::OptimizationVariable&gt; &amp;variables, std::shared_ptr&lt;lbp::LowerBoundingSolver&gt; LBSIn, std::shared_ptr&lt;ubp::UpperBoundingSolver&gt; UBSIn,</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; std::shared_ptr&lt;Settings&gt; settingsIn, std::shared_ptr&lt;Logger&gt; loggerIn, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> nvarWOaux);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7db5251fcd9ad3ca2892a9b17cb7b197"> 77</a></span>&#160; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7db5251fcd9ad3ca2892a9b17cb7b197">~BranchAndBound</a>() {}</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespacebab_base_1_1enums.html#a2c4d021a83d3363ae57623c7376761d2">babBase::enums::BAB_RETCODE</a> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#afbbe46b34b476fa5b54c5faa112581b6">solve</a>(<a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;rootNodeIn, <span class="keywordtype">double</span> &amp;solutionValue, std::vector&lt;double&gt; &amp;solutionPoint, <span class="keyword">const</span> <span class="keywordtype">double</span> preprocessTime, <span class="keywordtype">double</span> &amp;timePassed);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a90cf43573f5755481bdd020dcaa7d351"> 93</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a90cf43573f5755481bdd020dcaa7d351">get_iterations</a>() { <span class="keywordflow">return</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a3b90d97c448a84541e48eeb4388358a9">_iterations</a>; }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a668165551fb2c2cc69a05b1956755147"> 98</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a668165551fb2c2cc69a05b1956755147">get_max_nodes_in_memory</a>() { <span class="keywordflow">return</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a88be959487932d46d6ff8227bd8f3f5b">_nNodesMaxInMemory</a>; }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a3da7e60c4fad8100f38732fc06d2547c"> 103</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a3da7e60c4fad8100f38732fc06d2547c">get_UBP_count</a>() { <span class="keywordflow">return</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a85091bc9965339278cc9c02b2baf354b">_ubdcnt</a>; }</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#af593cef9ed1bcfa512f7302732b9a614"> 108</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#af593cef9ed1bcfa512f7302732b9a614">get_LBP_count</a>() { <span class="keywordflow">return</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a278e8c37f4d71abed1e0cb62b6366e5e">_lbdcnt</a>; }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a2a6ba10d4cba3be0656bdc1f434b796d"> 113</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a2a6ba10d4cba3be0656bdc1f434b796d">get_final_LBD</a>() { <span class="keywordflow">return</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7329b6c29c7a8686f7b417f3cfe93026">_lbd</a>; }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a4b993e6ced9b383b2ec2e3b4e617009a"> 118</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a4b993e6ced9b383b2ec2e3b4e617009a">get_final_abs_gap</a>() { <span class="keywordflow">return</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#adf8377615ee4d86485f589700902126c">_ubd</a> - <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7329b6c29c7a8686f7b417f3cfe93026">_lbd</a>; }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a18915a6568908d9aba4e09f1d2d8b23c"> 123</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a18915a6568908d9aba4e09f1d2d8b23c">get_final_rel_gap</a>() { <span class="keywordflow">return</span> ((<a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#adf8377615ee4d86485f589700902126c">_ubd</a> == 0) ? (<a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a4b993e6ced9b383b2ec2e3b4e617009a">get_final_abs_gap</a>()) : ((<a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#adf8377615ee4d86485f589700902126c">_ubd</a> - <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7329b6c29c7a8686f7b417f3cfe93026">_lbd</a>) / std::fabs(<a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#adf8377615ee4d86485f589700902126c">_ubd</a>))); }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a63faf2c1a9fa6aaa062a271455813c01"> 128</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a63faf2c1a9fa6aaa062a271455813c01">get_first_found</a>() { <span class="keywordflow">return</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a88880806d0ddfe42862a876ca961cbf6">_firstFound</a>; }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ae420e5187f1c1595d132a27bdc656529"> 133</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ae420e5187f1c1595d132a27bdc656529">get_nodes_left</a>() { <span class="keywordflow">return</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#af0c2fdc294a5197cc5cf2931945f1ec6">_nNodesLeft</a>; }</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1"> 140</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1">_TERMINATION_TYPE</a> {</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1a1a904c0cb2e9786677bfd0c13951dec7"> 141</a></span>&#160; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1a1a904c0cb2e9786677bfd0c13951dec7">_TERMINATED</a> = 0, </div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1a803a5e6c3589e7407f7993fff57c30dd"> 142</a></span>&#160; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1a803a5e6c3589e7407f7993fff57c30dd">_TERMINATED_WORKERS_ACTIVE</a>, </div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1a4606d4d76cdd55c82480e7e28a65d67a"> 143</a></span>&#160; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1a4606d4d76cdd55c82480e7e28a65d67a">_NOT_TERMINATED</a> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; };</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; std::tuple&lt;bool, bool, int, int, double, std::vector&lt;double&gt;, bool, double, std::vector&lt;double&gt;&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a15520696d8e8e38197992c71ffd91c53">_process_node</a>(<a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;currentNodeInOut);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a990927b31d0abc3c0df5ab3883c12de1">_preprocess_node</a>(<a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;currentNodeInOut);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; std::tuple&lt;bool, bool, double, std::vector&lt;double&gt;, <a class="code" href="structmaingo_1_1lbp_1_1_lbp_dual_info.html">lbp::LbpDualInfo</a>&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a969736750315215126c3bad4b398d2e9">_solve_LBP</a>(<span class="keyword">const</span> <a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;currentNode);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; std::tuple&lt;bool, bool, double&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#acab7696c07ae41c7a9296c0977359b1e">_solve_UBP</a>(<span class="keyword">const</span> <a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;currentNode, std::vector&lt;double&gt; &amp;ubpSolutionPoint, <span class="keyword">const</span> <span class="keywordtype">double</span> currentLBD);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a29001119914eca2657390048e11db609">_postprocess_node</a>(<a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;currentNodeInOut, <span class="keyword">const</span> std::vector&lt;double&gt; &amp;lbpSolutionPoint, <span class="keyword">const</span> <a class="code" href="structmaingo_1_1lbp_1_1_lbp_dual_info.html">lbp::LbpDualInfo</a> &amp;dualInfo);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a13e706473cf2f26ac9b3d20344270aaa">_update_incumbent_and_fathom</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> solval, <span class="keyword">const</span> std::vector&lt;double&gt; sol, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> currentNodeID);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a5cbefb1e86ca300d67ae3c65eab1099b">_update_lowest_lbd</a>();</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad5e5e8e1a0f2a3dda0a6deac59409fd6">_check_if_more_scaling_needed</a>();</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1">_TERMINATION_TYPE</a> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a535696550d694df9bc017ef6cd144a58">_check_termination</a>();</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad2b56f40c7255d731c196b1661cee2d4">_display_and_log_progress</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> currentNodeLBD, <span class="keyword">const</span> <a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;currentNode);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a80be7a4efd5e0f39765c635d6be13116">_print_termination</a>(std::string message);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad1c6f9191a7ab197f5a48ea554594462">_print_one_node</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> theLBD, <span class="keyword">const</span> <span class="keywordtype">int</span> ID, <span class="keyword">const</span> std::vector&lt;double&gt; lowerVarBounds, <span class="keyword">const</span> std::vector&lt;double&gt; upperVarBounds);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad1c6f9191a7ab197f5a48ea554594462">_print_one_node</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> theLBD, <span class="keyword">const</span> <span class="keywordtype">int</span> ID, <span class="keyword">const</span> std::vector&lt;double&gt; lowerVarBounds, <span class="keyword">const</span> std::vector&lt;double&gt; upperVarBounds, std::ostream &amp;outstream);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a1f542019964ce925a4d19eb951049da7"> 256</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a1f542019964ce925a4d19eb951049da7">_print_one_node</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> theLBD, <span class="keyword">const</span> <a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;theNode) { <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a1f542019964ce925a4d19eb951049da7">_print_one_node</a>(theLBD, theNode.<a class="code" href="classbab_base_1_1_bab_node.html#a12e23225255660e57238ecb0820ea420">get_ID</a>(), theNode.<a class="code" href="classbab_base_1_1_bab_node.html#a00e68c3242d5180d302cf5c8e1f8de2c">get_lower_bounds</a>(), theNode.<a class="code" href="classbab_base_1_1_bab_node.html#a2a0922468fbfe492d9d70231c54c4bf9">get_upper_bounds</a>()); }</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad301660df21f804bccefa3da694aa743"> 265</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad301660df21f804bccefa3da694aa743">_print_one_node</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> theLBD, <span class="keyword">const</span> <a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;theNode, std::ostream &amp;outstream) { <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad301660df21f804bccefa3da694aa743">_print_one_node</a>(theLBD, theNode.<a class="code" href="classbab_base_1_1_bab_node.html#a12e23225255660e57238ecb0820ea420">get_ID</a>(), theNode.<a class="code" href="classbab_base_1_1_bab_node.html#a00e68c3242d5180d302cf5c8e1f8de2c">get_lower_bounds</a>(), theNode.<a class="code" href="classbab_base_1_1_bab_node.html#a2a0922468fbfe492d9d70231c54c4bf9">get_upper_bounds</a>(), outstream); }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="preprocessor">#ifdef HAVE_MAiNGO_MPI</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordtype">void</span> _communicate_exception_and_throw(<span class="keyword">const</span> maingo::MAiNGOMpiException &amp;e);</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordtype">void</span> _recv_solved_problem(<a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;node, <span class="keywordtype">double</span> &amp;lbd, std::vector&lt;double&gt; &amp;lbdSolutionPoint, <span class="keywordtype">unsigned</span> &amp;lbdcnt,</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordtype">unsigned</span> &amp;ubdcnt, <span class="keyword">const</span> COMMUNICATION_TAG status, <span class="keyword">const</span> <span class="keywordtype">int</span> src);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordtype">void</span> _send_new_problem(<span class="keyword">const</span> <a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;node, <span class="keyword">const</span> <span class="keywordtype">int</span> dest);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordtype">void</span> _inform_worker_about_event(<span class="keyword">const</span> BCAST_TAG eventTag, <span class="keyword">const</span> <span class="keywordtype">bool</span> blocking);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordtype">void</span> _recv_new_problem(<a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> &amp;node);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordtype">void</span> _send_incumbent(<span class="keyword">const</span> <span class="keywordtype">double</span> ubd, <span class="keyword">const</span> std::vector&lt;double&gt; incumbent, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> incumbentID);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordtype">void</span> _send_solved_problem(<span class="keyword">const</span> <a class="code" href="classbab_base_1_1_bab_node.html">babBase::BabNode</a> node, <span class="keyword">const</span> <span class="keywordtype">double</span> lbd, <span class="keyword">const</span> std::vector&lt;double&gt; lbdSolutionPoint,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lbdcnt, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> ubdcnt, <span class="keyword">const</span> COMMUNICATION_TAG status);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordtype">void</span> _sync_with_master(MPI_Request &amp;req);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordtype">void</span> _sync_with_master(MPI_Request &amp;req, <span class="keywordtype">bool</span> &amp;terminate);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ae1454635b53b98cc4e395fd3ed7faca0"> 360</a></span>&#160; std::unique_ptr&lt;babBase::Brancher&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ae1454635b53b98cc4e395fd3ed7faca0">_brancher</a>; </div><div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#aba6e92ef8af1e76b62a543e1334b4948"> 361</a></span>&#160; std::shared_ptr&lt;ubp::UpperBoundingSolver&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#aba6e92ef8af1e76b62a543e1334b4948">_UBS</a>; </div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a4a63abd1f85d04b411bd3f46c95c994b"> 362</a></span>&#160; std::shared_ptr&lt;lbp::LowerBoundingSolver&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a4a63abd1f85d04b411bd3f46c95c994b">_LBS</a>; </div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#abb34f49557e1d417e5a87a467cee2ec8"> 364</a></span>&#160; std::shared_ptr&lt;Settings&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#abb34f49557e1d417e5a87a467cee2ec8">_maingoSettings</a>; </div><div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a54fa45d1751c9a81b346bd7cd1f5969c"> 370</a></span>&#160; std::vector&lt;babBase::OptimizationVariable&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a54fa45d1751c9a81b346bd7cd1f5969c">_originalVariables</a>; </div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#aa66393ce301be8002cdea9b1b43aa5b2"> 371</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#aa66393ce301be8002cdea9b1b43aa5b2">_nvar</a>; </div><div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a109e3a4afa84d559ec9b88376b0a63b2"> 372</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a109e3a4afa84d559ec9b88376b0a63b2">_nvarWOaux</a>; </div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a9836ba957bbfd2acace285065fe81710"> 373</a></span>&#160; std::vector&lt;double&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a9836ba957bbfd2acace285065fe81710">_lowerVarBoundsOrig</a>; </div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a6087a84349286d46bfc4a6633f5c881b"> 374</a></span>&#160; std::vector&lt;double&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a6087a84349286d46bfc4a6633f5c881b">_upperVarBoundsOrig</a>; </div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a2685cdd222deff1b30e3b83c7b4bb259"> 381</a></span>&#160; std::vector&lt;double&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a2685cdd222deff1b30e3b83c7b4bb259">_incumbent</a>; </div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a1f509aa5a3de69ff00e8d2c31b654d48"> 382</a></span>&#160; std::vector&lt;double&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a1f509aa5a3de69ff00e8d2c31b654d48">_initialPoint</a>; </div><div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#adf8377615ee4d86485f589700902126c"> 383</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#adf8377615ee4d86485f589700902126c">_ubd</a>; </div><div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7329b6c29c7a8686f7b417f3cfe93026"> 384</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7329b6c29c7a8686f7b417f3cfe93026">_lbd</a>; </div><div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a8855b78bf4580af1d40f463eb88f9883"> 385</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a8855b78bf4580af1d40f463eb88f9883">_bestLbdFathomed</a>; </div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#aa52c4379706307b5d5834a702d824854"> 386</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#aa52c4379706307b5d5834a702d824854">_foundFeas</a>; </div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a88880806d0ddfe42862a876ca961cbf6"> 387</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a88880806d0ddfe42862a876ca961cbf6">_firstFound</a>; </div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a2defed7ca937feacb124cc97b8f7915f"> 388</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a2defed7ca937feacb124cc97b8f7915f">_incumbentNodeId</a>; </div><div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a010075b80170c61b0c30490e64ec979d"> 389</a></span>&#160; <a class="code" href="namespacebab_base_1_1enums.html#a2c4d021a83d3363ae57623c7376761d2">babBase::enums::BAB_RETCODE</a> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a010075b80170c61b0c30490e64ec979d">_status</a>; </div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#adaeb5fb5c51be07833bf51f921ce2e65"> 396</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#adaeb5fb5c51be07833bf51f921ce2e65">_lbdOld</a>; </div><div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a67bce3a5b8585ec930b305d9a77a3d47"> 397</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a67bce3a5b8585ec930b305d9a77a3d47">_lbdNotChanged</a>; </div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#acc9b140b91203d6ca5d45f84b697be42"> 398</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#acc9b140b91203d6ca5d45f84b697be42">_moreScalingActivated</a>; </div><div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#aa66b24455102ab0550c9ed6c611e88a2"> 405</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#aa66b24455102ab0550c9ed6c611e88a2">_nNodesTotal</a>; </div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#af0c2fdc294a5197cc5cf2931945f1ec6"> 406</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#af0c2fdc294a5197cc5cf2931945f1ec6">_nNodesLeft</a>; </div><div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a88be959487932d46d6ff8227bd8f3f5b"> 407</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a88be959487932d46d6ff8227bd8f3f5b">_nNodesMaxInMemory</a>; </div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a10bf89f5a097f9d865ad5546eeee9b40"> 408</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a10bf89f5a097f9d865ad5546eeee9b40">_nNodesDeleted</a>; </div><div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a70df6922540227a62b49549e0d6f9dcf"> 409</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a70df6922540227a62b49549e0d6f9dcf">_nNodesFathomed</a>; </div><div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a278e8c37f4d71abed1e0cb62b6366e5e"> 416</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a278e8c37f4d71abed1e0cb62b6366e5e">_lbdcnt</a>; </div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a85091bc9965339278cc9c02b2baf354b"> 417</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a85091bc9965339278cc9c02b2baf354b">_ubdcnt</a>; </div><div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#af4816842caa40287b9fcda0401238236"> 418</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#af4816842caa40287b9fcda0401238236">_timePassed</a>; </div><div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a17af9af1c4195bb491a0624d3a4edb36"> 419</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a17af9af1c4195bb491a0624d3a4edb36">_timePreprocess</a>; </div><div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ab0c17e7072887baa0bf2377a7be7a4bc"> 420</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#ab0c17e7072887baa0bf2377a7be7a4bc">_daysPassed</a>; </div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a46473e89580e44ef3576e9040e469478"> 427</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a46473e89580e44ef3576e9040e469478">_linesprinted</a>; </div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a3b90d97c448a84541e48eeb4388358a9"> 428</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a3b90d97c448a84541e48eeb4388358a9">_iterations</a>; </div><div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a4d1d7552bc0294281b7453a757a5b1c4"> 429</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a4d1d7552bc0294281b7453a757a5b1c4">_iterationsgap</a>; </div><div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a733596f5150a34554a2e001bc2a7bd1e"> 430</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a733596f5150a34554a2e001bc2a7bd1e">_printNewIncumbent</a>; </div><div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a193f594912e00a2c4d8cacfd4efbdfd5"> 431</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a193f594912e00a2c4d8cacfd4efbdfd5">_writeToLogEverySec</a>; </div><div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7bd1a5254c74b3adac3b74712d92257e"> 432</a></span>&#160; std::shared_ptr&lt;Logger&gt; <a class="code" href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7bd1a5254c74b3adac3b74712d92257e">_logger</a>; </div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="preprocessor">#ifdef HAVE_MAiNGO_MPI</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordtype">int</span> _rank; </div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordtype">int</span> _nProcs; </div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; BCAST_TAG _bcastTag; </div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; MPI_Request _bcastReq; </div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; std::vector&lt;bool&gt; _informedWorkerAboutIncumbent; </div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordtype">bool</span> _checkForNodeWithIncumbent; </div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordtype">bool</span> _confirmedTermination; </div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordtype">unsigned</span> _workCount; </div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; std::vector&lt;std::pair&lt;bool, double&gt;&gt; _nodesGivenToWorkers; </div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordtype">bool</span> _pendingIncumbentUpdate; </div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; MPI_Request _incumbentReq; </div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;};</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;} <span class="comment">// end namespace bab</span></div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;} <span class="comment">// end namespace maingo</span></div><div class="ttc" id="classmaingo_1_1lbp_1_1_lower_bounding_solver_html"><div class="ttname"><a href="classmaingo_1_1lbp_1_1_lower_bounding_solver.html">maingo::lbp::LowerBoundingSolver</a></div><div class="ttdoc">Wrapper for handling the lower bounding problems as well as optimization-based bounds tightening (OBB...</div><div class="ttdef"><b>Definition:</b> lbp.h:65</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a80be7a4efd5e0f39765c635d6be13116"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a80be7a4efd5e0f39765c635d6be13116">maingo::bab::BranchAndBound::_print_termination</a></div><div class="ttdeci">void _print_termination(std::string message)</div><div class="ttdoc">Function printing a termination message. </div><div class="ttdef"><b>Definition:</b> bab.cpp:1232</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_ad2b56f40c7255d731c196b1661cee2d4"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad2b56f40c7255d731c196b1661cee2d4">maingo::bab::BranchAndBound::_display_and_log_progress</a></div><div class="ttdeci">void _display_and_log_progress(const double currentNodeLBD, const babBase::BabNode &amp;currentNode)</div><div class="ttdoc">Function for printing the current progress on the screen and appending it to the internal log to be w...</div><div class="ttdef"><b>Definition:</b> bab.cpp:897</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a9836ba957bbfd2acace285065fe81710"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a9836ba957bbfd2acace285065fe81710">maingo::bab::BranchAndBound::_lowerVarBoundsOrig</a></div><div class="ttdeci">std::vector&lt; double &gt; _lowerVarBoundsOrig</div><div class="ttdef"><b>Definition:</b> bab.h:373</div></div>
<div class="ttc" id="classbab_base_1_1_bab_node_html_a12e23225255660e57238ecb0820ea420"><div class="ttname"><a href="classbab_base_1_1_bab_node.html#a12e23225255660e57238ecb0820ea420">babBase::BabNode::get_ID</a></div><div class="ttdeci">int get_ID() const</div><div class="ttdoc">Function for querying the node ID. </div><div class="ttdef"><b>Definition:</b> babNode.h:100</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html">maingo::bab::BranchAndBound</a></div><div class="ttdoc">This class contains the main algorithm, including handling of pre-processing routines and managing th...</div><div class="ttdef"><b>Definition:</b> bab.h:58</div></div>
<div class="ttc" id="namespacebab_base_1_1enums_html_a2c4d021a83d3363ae57623c7376761d2"><div class="ttname"><a href="namespacebab_base_1_1enums.html#a2c4d021a83d3363ae57623c7376761d2">babBase::enums::BAB_RETCODE</a></div><div class="ttdeci">BAB_RETCODE</div><div class="ttdoc">Enum for representing the return codes returned by the B&amp;B solver. </div><div class="ttdef"><b>Definition:</b> babUtils.h:126</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_aa52c4379706307b5d5834a702d824854"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#aa52c4379706307b5d5834a702d824854">maingo::bab::BranchAndBound::_foundFeas</a></div><div class="ttdeci">bool _foundFeas</div><div class="ttdef"><b>Definition:</b> bab.h:386</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a67bce3a5b8585ec930b305d9a77a3d47"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a67bce3a5b8585ec930b305d9a77a3d47">maingo::bab::BranchAndBound::_lbdNotChanged</a></div><div class="ttdeci">unsigned _lbdNotChanged</div><div class="ttdef"><b>Definition:</b> bab.h:397</div></div>
<div class="ttc" id="classbab_base_1_1_bab_node_html"><div class="ttname"><a href="classbab_base_1_1_bab_node.html">babBase::BabNode</a></div><div class="ttdoc">Class representing a node in the Branch-and-Bound tree. </div><div class="ttdef"><b>Definition:</b> babNode.h:35</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a15520696d8e8e38197992c71ffd91c53"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a15520696d8e8e38197992c71ffd91c53">maingo::bab::BranchAndBound::_process_node</a></div><div class="ttdeci">std::tuple&lt; bool, bool, int, int, double, std::vector&lt; double &gt;, bool, double, std::vector&lt; double &gt; &gt; _process_node(babBase::BabNode &amp;currentNodeInOut)</div><div class="ttdoc">Function processing the current node. </div><div class="ttdef"><b>Definition:</b> bab.cpp:535</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_ae1454635b53b98cc4e395fd3ed7faca0"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#ae1454635b53b98cc4e395fd3ed7faca0">maingo::bab::BranchAndBound::_brancher</a></div><div class="ttdeci">std::unique_ptr&lt; babBase::Brancher &gt; _brancher</div><div class="ttdef"><b>Definition:</b> bab.h:360</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_ab1e963d56b3adc807decb6e4dc1bee85"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#ab1e963d56b3adc807decb6e4dc1bee85">maingo::bab::BranchAndBound::BranchAndBound</a></div><div class="ttdeci">BranchAndBound(const std::vector&lt; babBase::OptimizationVariable &gt; &amp;variables, std::shared_ptr&lt; lbp::LowerBoundingSolver &gt; LBSIn, std::shared_ptr&lt; ubp::UpperBoundingSolver &gt; UBSIn, std::shared_ptr&lt; Settings &gt; settingsIn, std::shared_ptr&lt; Logger &gt; loggerIn, const unsigned nvarWOaux)</div><div class="ttdoc">Constructor, stores information on problem and settings. </div><div class="ttdef"><b>Definition:</b> bab.cpp:28</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_af4816842caa40287b9fcda0401238236"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#af4816842caa40287b9fcda0401238236">maingo::bab::BranchAndBound::_timePassed</a></div><div class="ttdeci">double _timePassed</div><div class="ttdef"><b>Definition:</b> bab.h:418</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a85091bc9965339278cc9c02b2baf354b"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a85091bc9965339278cc9c02b2baf354b">maingo::bab::BranchAndBound::_ubdcnt</a></div><div class="ttdeci">unsigned _ubdcnt</div><div class="ttdef"><b>Definition:</b> bab.h:417</div></div>
<div class="ttc" id="bab_brancher_8h_html"><div class="ttname"><a href="bab_brancher_8h.html">babBrancher.h</a></div><div class="ttdoc">File containing definition of the Branch-and-Bound brancher class. </div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a193f594912e00a2c4d8cacfd4efbdfd5"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a193f594912e00a2c4d8cacfd4efbdfd5">maingo::bab::BranchAndBound::_writeToLogEverySec</a></div><div class="ttdeci">unsigned _writeToLogEverySec</div><div class="ttdef"><b>Definition:</b> bab.h:431</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a54fa45d1751c9a81b346bd7cd1f5969c"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a54fa45d1751c9a81b346bd7cd1f5969c">maingo::bab::BranchAndBound::_originalVariables</a></div><div class="ttdeci">std::vector&lt; babBase::OptimizationVariable &gt; _originalVariables</div><div class="ttdef"><b>Definition:</b> bab.h:370</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a13e706473cf2f26ac9b3d20344270aaa"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a13e706473cf2f26ac9b3d20344270aaa">maingo::bab::BranchAndBound::_update_incumbent_and_fathom</a></div><div class="ttdeci">void _update_incumbent_and_fathom(const double solval, const std::vector&lt; double &gt; sol, const unsigned int currentNodeID)</div><div class="ttdoc">Function for updating the incumbent and fathoming accordingly. </div><div class="ttdef"><b>Definition:</b> bab.cpp:792</div></div>
<div class="ttc" id="_m_ai_n_g_o_mpi_exception_8h_html"><div class="ttname"><a href="_m_ai_n_g_o_mpi_exception_8h.html">MAiNGOMpiException.h</a></div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a90cf43573f5755481bdd020dcaa7d351"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a90cf43573f5755481bdd020dcaa7d351">maingo::bab::BranchAndBound::get_iterations</a></div><div class="ttdeci">double get_iterations()</div><div class="ttdoc">Function returning the number of iterations. </div><div class="ttdef"><b>Definition:</b> bab.h:93</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a63faf2c1a9fa6aaa062a271455813c01"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a63faf2c1a9fa6aaa062a271455813c01">maingo::bab::BranchAndBound::get_first_found</a></div><div class="ttdeci">double get_first_found()</div><div class="ttdoc">Function returning the ID of the node where the incumbent was first found. </div><div class="ttdef"><b>Definition:</b> bab.h:128</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a3da7e60c4fad8100f38732fc06d2547c"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a3da7e60c4fad8100f38732fc06d2547c">maingo::bab::BranchAndBound::get_UBP_count</a></div><div class="ttdeci">double get_UBP_count()</div><div class="ttdoc">Function returning number of UBD problems solved. </div><div class="ttdef"><b>Definition:</b> bab.h:103</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a8855b78bf4580af1d40f463eb88f9883"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a8855b78bf4580af1d40f463eb88f9883">maingo::bab::BranchAndBound::_bestLbdFathomed</a></div><div class="ttdeci">double _bestLbdFathomed</div><div class="ttdef"><b>Definition:</b> bab.h:385</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a07ba7b9ae290bc913f2d2ca19c7c49e1a1a904c0cb2e9786677bfd0c13951dec7"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1a1a904c0cb2e9786677bfd0c13951dec7">maingo::bab::BranchAndBound::_TERMINATED</a></div><div class="ttdef"><b>Definition:</b> bab.h:141</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a969736750315215126c3bad4b398d2e9"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a969736750315215126c3bad4b398d2e9">maingo::bab::BranchAndBound::_solve_LBP</a></div><div class="ttdeci">std::tuple&lt; bool, bool, double, std::vector&lt; double &gt;, lbp::LbpDualInfo &gt; _solve_LBP(const babBase::BabNode &amp;currentNode)</div><div class="ttdoc">Function invoking the LBS to solve the lower bounding problem. </div><div class="ttdef"><b>Definition:</b> bab.cpp:658</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_acc9b140b91203d6ca5d45f84b697be42"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#acc9b140b91203d6ca5d45f84b697be42">maingo::bab::BranchAndBound::_moreScalingActivated</a></div><div class="ttdeci">bool _moreScalingActivated</div><div class="ttdef"><b>Definition:</b> bab.h:398</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a990927b31d0abc3c0df5ab3883c12de1"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a990927b31d0abc3c0df5ab3883c12de1">maingo::bab::BranchAndBound::_preprocess_node</a></div><div class="ttdeci">bool _preprocess_node(babBase::BabNode &amp;currentNodeInOut)</div><div class="ttdoc">Function for pre-processing the current node. Includes bound tightening and OBBT. ...</div><div class="ttdef"><b>Definition:</b> bab.cpp:602</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a010075b80170c61b0c30490e64ec979d"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a010075b80170c61b0c30490e64ec979d">maingo::bab::BranchAndBound::_status</a></div><div class="ttdeci">babBase::enums::BAB_RETCODE _status</div><div class="ttdef"><b>Definition:</b> bab.h:389</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a535696550d694df9bc017ef6cd144a58"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a535696550d694df9bc017ef6cd144a58">maingo::bab::BranchAndBound::_check_termination</a></div><div class="ttdeci">_TERMINATION_TYPE _check_termination()</div><div class="ttdoc">Function for checking if the B&amp;B algorithm terminated. </div><div class="ttdef"><b>Definition:</b> bab.cpp:1047</div></div>
<div class="ttc" id="classbab_base_1_1_bab_node_html_a00e68c3242d5180d302cf5c8e1f8de2c"><div class="ttname"><a href="classbab_base_1_1_bab_node.html#a00e68c3242d5180d302cf5c8e1f8de2c">babBase::BabNode::get_lower_bounds</a></div><div class="ttdeci">std::vector&lt; double &gt; get_lower_bounds() const</div><div class="ttdoc">Function for querying the lower bounds on the optimization variables within this node. </div><div class="ttdef"><b>Definition:</b> babNode.h:90</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a6087a84349286d46bfc4a6633f5c881b"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a6087a84349286d46bfc4a6633f5c881b">maingo::bab::BranchAndBound::_upperVarBoundsOrig</a></div><div class="ttdeci">std::vector&lt; double &gt; _upperVarBoundsOrig</div><div class="ttdef"><b>Definition:</b> bab.h:374</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a109e3a4afa84d559ec9b88376b0a63b2"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a109e3a4afa84d559ec9b88376b0a63b2">maingo::bab::BranchAndBound::_nvarWOaux</a></div><div class="ttdeci">const unsigned _nvarWOaux</div><div class="ttdef"><b>Definition:</b> bab.h:372</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a18915a6568908d9aba4e09f1d2d8b23c"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a18915a6568908d9aba4e09f1d2d8b23c">maingo::bab::BranchAndBound::get_final_rel_gap</a></div><div class="ttdeci">double get_final_rel_gap()</div><div class="ttdoc">Function returning the final relative gap. </div><div class="ttdef"><b>Definition:</b> bab.h:123</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a29001119914eca2657390048e11db609"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a29001119914eca2657390048e11db609">maingo::bab::BranchAndBound::_postprocess_node</a></div><div class="ttdeci">bool _postprocess_node(babBase::BabNode &amp;currentNodeInOut, const std::vector&lt; double &gt; &amp;lbpSolutionPoint, const lbp::LbpDualInfo &amp;dualInfo)</div><div class="ttdoc">Function for post-processing the current node. Includes bound DBBT and probing. </div><div class="ttdef"><b>Definition:</b> bab.cpp:763</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a4d1d7552bc0294281b7453a757a5b1c4"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a4d1d7552bc0294281b7453a757a5b1c4">maingo::bab::BranchAndBound::_iterationsgap</a></div><div class="ttdeci">unsigned _iterationsgap</div><div class="ttdef"><b>Definition:</b> bab.h:429</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_afbbe46b34b476fa5b54c5faa112581b6"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#afbbe46b34b476fa5b54c5faa112581b6">maingo::bab::BranchAndBound::solve</a></div><div class="ttdeci">babBase::enums::BAB_RETCODE solve(babBase::BabNode &amp;rootNodeIn, double &amp;solutionValue, std::vector&lt; double &gt; &amp;solutionPoint, const double preprocessTime, double &amp;timePassed)</div><div class="ttdoc">Main function to solve the optimization problem. </div><div class="ttdef"><b>Definition:</b> bab.cpp:109</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_adaeb5fb5c51be07833bf51f921ce2e65"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#adaeb5fb5c51be07833bf51f921ce2e65">maingo::bab::BranchAndBound::_lbdOld</a></div><div class="ttdeci">double _lbdOld</div><div class="ttdef"><b>Definition:</b> bab.h:396</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a88be959487932d46d6ff8227bd8f3f5b"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a88be959487932d46d6ff8227bd8f3f5b">maingo::bab::BranchAndBound::_nNodesMaxInMemory</a></div><div class="ttdeci">unsigned _nNodesMaxInMemory</div><div class="ttdef"><b>Definition:</b> bab.h:407</div></div>
<div class="ttc" id="classmaingo_1_1ubp_1_1_upper_bounding_solver_html"><div class="ttname"><a href="classmaingo_1_1ubp_1_1_upper_bounding_solver.html">maingo::ubp::UpperBoundingSolver</a></div><div class="ttdoc">Base class for wrappers for handling the upper bounding problems. </div><div class="ttdef"><b>Definition:</b> ubp.h:44</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a46473e89580e44ef3576e9040e469478"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a46473e89580e44ef3576e9040e469478">maingo::bab::BranchAndBound::_linesprinted</a></div><div class="ttdeci">unsigned _linesprinted</div><div class="ttdef"><b>Definition:</b> bab.h:427</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a70df6922540227a62b49549e0d6f9dcf"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a70df6922540227a62b49549e0d6f9dcf">maingo::bab::BranchAndBound::_nNodesFathomed</a></div><div class="ttdeci">unsigned _nNodesFathomed</div><div class="ttdef"><b>Definition:</b> bab.h:409</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_ad301660df21f804bccefa3da694aa743"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad301660df21f804bccefa3da694aa743">maingo::bab::BranchAndBound::_print_one_node</a></div><div class="ttdeci">void _print_one_node(const double theLBD, const babBase::BabNode &amp;theNode, std::ostream &amp;outstream)</div><div class="ttdoc">Function printing one node. </div><div class="ttdef"><b>Definition:</b> bab.h:265</div></div>
<div class="ttc" id="mpi_utilities_8h_html"><div class="ttname"><a href="mpi_utilities_8h.html">mpiUtilities.h</a></div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_adf8377615ee4d86485f589700902126c"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#adf8377615ee4d86485f589700902126c">maingo::bab::BranchAndBound::_ubd</a></div><div class="ttdeci">double _ubd</div><div class="ttdef"><b>Definition:</b> bab.h:383</div></div>
<div class="ttc" id="namespacemaingo_html"><div class="ttname"><a href="namespacemaingo.html">maingo</a></div><div class="ttdoc">namespace holding all essentials of MAiNGO </div><div class="ttdef"><b>Definition:</b> aleModel.h:25</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_aa66b24455102ab0550c9ed6c611e88a2"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#aa66b24455102ab0550c9ed6c611e88a2">maingo::bab::BranchAndBound::_nNodesTotal</a></div><div class="ttdeci">unsigned _nNodesTotal</div><div class="ttdef"><b>Definition:</b> bab.h:405</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a5cbefb1e86ca300d67ae3c65eab1099b"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a5cbefb1e86ca300d67ae3c65eab1099b">maingo::bab::BranchAndBound::_update_lowest_lbd</a></div><div class="ttdeci">void _update_lowest_lbd()</div><div class="ttdoc">Function for updating the global lower bound. </div><div class="ttdef"><b>Definition:</b> bab.cpp:835</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a4b993e6ced9b383b2ec2e3b4e617009a"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a4b993e6ced9b383b2ec2e3b4e617009a">maingo::bab::BranchAndBound::get_final_abs_gap</a></div><div class="ttdeci">double get_final_abs_gap()</div><div class="ttdoc">Function returning the final absolute gap. </div><div class="ttdef"><b>Definition:</b> bab.h:118</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a3b90d97c448a84541e48eeb4388358a9"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a3b90d97c448a84541e48eeb4388358a9">maingo::bab::BranchAndBound::_iterations</a></div><div class="ttdeci">unsigned _iterations</div><div class="ttdef"><b>Definition:</b> bab.h:428</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a2685cdd222deff1b30e3b83c7b4bb259"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a2685cdd222deff1b30e3b83c7b4bb259">maingo::bab::BranchAndBound::_incumbent</a></div><div class="ttdeci">std::vector&lt; double &gt; _incumbent</div><div class="ttdef"><b>Definition:</b> bab.h:381</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a4a63abd1f85d04b411bd3f46c95c994b"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a4a63abd1f85d04b411bd3f46c95c994b">maingo::bab::BranchAndBound::_LBS</a></div><div class="ttdeci">std::shared_ptr&lt; lbp::LowerBoundingSolver &gt; _LBS</div><div class="ttdef"><b>Definition:</b> bab.h:362</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a7bd1a5254c74b3adac3b74712d92257e"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7bd1a5254c74b3adac3b74712d92257e">maingo::bab::BranchAndBound::_logger</a></div><div class="ttdeci">std::shared_ptr&lt; Logger &gt; _logger</div><div class="ttdef"><b>Definition:</b> bab.h:432</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a278e8c37f4d71abed1e0cb62b6366e5e"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a278e8c37f4d71abed1e0cb62b6366e5e">maingo::bab::BranchAndBound::_lbdcnt</a></div><div class="ttdeci">unsigned _lbdcnt</div><div class="ttdef"><b>Definition:</b> bab.h:416</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_ae420e5187f1c1595d132a27bdc656529"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#ae420e5187f1c1595d132a27bdc656529">maingo::bab::BranchAndBound::get_nodes_left</a></div><div class="ttdeci">double get_nodes_left()</div><div class="ttdoc">Function returning the number of nodes left after termination of B&amp;B. </div><div class="ttdef"><b>Definition:</b> bab.h:133</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a733596f5150a34554a2e001bc2a7bd1e"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a733596f5150a34554a2e001bc2a7bd1e">maingo::bab::BranchAndBound::_printNewIncumbent</a></div><div class="ttdeci">bool _printNewIncumbent</div><div class="ttdef"><b>Definition:</b> bab.h:430</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a7329b6c29c7a8686f7b417f3cfe93026"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7329b6c29c7a8686f7b417f3cfe93026">maingo::bab::BranchAndBound::_lbd</a></div><div class="ttdeci">double _lbd</div><div class="ttdef"><b>Definition:</b> bab.h:384</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a88880806d0ddfe42862a876ca961cbf6"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a88880806d0ddfe42862a876ca961cbf6">maingo::bab::BranchAndBound::_firstFound</a></div><div class="ttdeci">unsigned _firstFound</div><div class="ttdef"><b>Definition:</b> bab.h:387</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a1f542019964ce925a4d19eb951049da7"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a1f542019964ce925a4d19eb951049da7">maingo::bab::BranchAndBound::_print_one_node</a></div><div class="ttdeci">void _print_one_node(const double theLBD, const babBase::BabNode &amp;theNode)</div><div class="ttdoc">Function printing one node. </div><div class="ttdef"><b>Definition:</b> bab.h:256</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a10bf89f5a097f9d865ad5546eeee9b40"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a10bf89f5a097f9d865ad5546eeee9b40">maingo::bab::BranchAndBound::_nNodesDeleted</a></div><div class="ttdeci">unsigned _nNodesDeleted</div><div class="ttdef"><b>Definition:</b> bab.h:408</div></div>
<div class="ttc" id="logger_8h_html"><div class="ttname"><a href="logger_8h.html">logger.h</a></div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a2a6ba10d4cba3be0656bdc1f434b796d"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a2a6ba10d4cba3be0656bdc1f434b796d">maingo::bab::BranchAndBound::get_final_LBD</a></div><div class="ttdeci">double get_final_LBD()</div><div class="ttdoc">Function returning the final LBD. </div><div class="ttdef"><b>Definition:</b> bab.h:113</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a07ba7b9ae290bc913f2d2ca19c7c49e1a4606d4d76cdd55c82480e7e28a65d67a"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1a4606d4d76cdd55c82480e7e28a65d67a">maingo::bab::BranchAndBound::_NOT_TERMINATED</a></div><div class="ttdef"><b>Definition:</b> bab.h:143</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_ad1c6f9191a7ab197f5a48ea554594462"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad1c6f9191a7ab197f5a48ea554594462">maingo::bab::BranchAndBound::_print_one_node</a></div><div class="ttdeci">void _print_one_node(const double theLBD, const int ID, const std::vector&lt; double &gt; lowerVarBounds, const std::vector&lt; double &gt; upperVarBounds)</div><div class="ttdoc">Function printing one node. </div><div class="ttdef"><b>Definition:</b> bab.cpp:1019</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a17af9af1c4195bb491a0624d3a4edb36"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a17af9af1c4195bb491a0624d3a4edb36">maingo::bab::BranchAndBound::_timePreprocess</a></div><div class="ttdeci">double _timePreprocess</div><div class="ttdef"><b>Definition:</b> bab.h:419</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_aba6e92ef8af1e76b62a543e1334b4948"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#aba6e92ef8af1e76b62a543e1334b4948">maingo::bab::BranchAndBound::_UBS</a></div><div class="ttdeci">std::shared_ptr&lt; ubp::UpperBoundingSolver &gt; _UBS</div><div class="ttdef"><b>Definition:</b> bab.h:361</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_ab0c17e7072887baa0bf2377a7be7a4bc"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#ab0c17e7072887baa0bf2377a7be7a4bc">maingo::bab::BranchAndBound::_daysPassed</a></div><div class="ttdeci">unsigned _daysPassed</div><div class="ttdef"><b>Definition:</b> bab.h:420</div></div>
<div class="ttc" id="classbab_base_1_1_bab_node_html_a2a0922468fbfe492d9d70231c54c4bf9"><div class="ttname"><a href="classbab_base_1_1_bab_node.html#a2a0922468fbfe492d9d70231c54c4bf9">babBase::BabNode::get_upper_bounds</a></div><div class="ttdeci">std::vector&lt; double &gt; get_upper_bounds() const</div><div class="ttdoc">Function for querying the upper bounds on the optimization variables within this node. </div><div class="ttdef"><b>Definition:</b> babNode.h:95</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_ad5e5e8e1a0f2a3dda0a6deac59409fd6"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#ad5e5e8e1a0f2a3dda0a6deac59409fd6">maingo::bab::BranchAndBound::_check_if_more_scaling_needed</a></div><div class="ttdeci">void _check_if_more_scaling_needed()</div><div class="ttdoc">Function which checks whether it is necessary to activate scaling within the LBD solver. This is a heuristic approach, which does not affect any deterministic optimization assumptions. </div><div class="ttdef"><b>Definition:</b> bab.cpp:867</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a07ba7b9ae290bc913f2d2ca19c7c49e1a803a5e6c3589e7407f7993fff57c30dd"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1a803a5e6c3589e7407f7993fff57c30dd">maingo::bab::BranchAndBound::_TERMINATED_WORKERS_ACTIVE</a></div><div class="ttdef"><b>Definition:</b> bab.h:142</div></div>
<div class="ttc" id="_m_ai_n_g_odebug_8h_html"><div class="ttname"><a href="_m_ai_n_g_odebug_8h.html">MAiNGOdebug.h</a></div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a1f509aa5a3de69ff00e8d2c31b654d48"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a1f509aa5a3de69ff00e8d2c31b654d48">maingo::bab::BranchAndBound::_initialPoint</a></div><div class="ttdeci">std::vector&lt; double &gt; _initialPoint</div><div class="ttdef"><b>Definition:</b> bab.h:382</div></div>
<div class="ttc" id="structmaingo_1_1lbp_1_1_lbp_dual_info_html"><div class="ttname"><a href="structmaingo_1_1lbp_1_1_lbp_dual_info.html">maingo::lbp::LbpDualInfo</a></div><div class="ttdoc">Container for information from the LBP that is needed in DBBT and probing, used for communicating the...</div><div class="ttdef"><b>Definition:</b> lbp.h:52</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_aa66393ce301be8002cdea9b1b43aa5b2"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#aa66393ce301be8002cdea9b1b43aa5b2">maingo::bab::BranchAndBound::_nvar</a></div><div class="ttdeci">const unsigned _nvar</div><div class="ttdef"><b>Definition:</b> bab.h:371</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_af0c2fdc294a5197cc5cf2931945f1ec6"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#af0c2fdc294a5197cc5cf2931945f1ec6">maingo::bab::BranchAndBound::_nNodesLeft</a></div><div class="ttdeci">unsigned _nNodesLeft</div><div class="ttdef"><b>Definition:</b> bab.h:406</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a07ba7b9ae290bc913f2d2ca19c7c49e1"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a07ba7b9ae290bc913f2d2ca19c7c49e1">maingo::bab::BranchAndBound::_TERMINATION_TYPE</a></div><div class="ttdeci">_TERMINATION_TYPE</div><div class="ttdoc">Enum for representing different termination types in B&amp;B. </div><div class="ttdef"><b>Definition:</b> bab.h:140</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_abb34f49557e1d417e5a87a467cee2ec8"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#abb34f49557e1d417e5a87a467cee2ec8">maingo::bab::BranchAndBound::_maingoSettings</a></div><div class="ttdeci">std::shared_ptr&lt; Settings &gt; _maingoSettings</div><div class="ttdef"><b>Definition:</b> bab.h:364</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a668165551fb2c2cc69a05b1956755147"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a668165551fb2c2cc69a05b1956755147">maingo::bab::BranchAndBound::get_max_nodes_in_memory</a></div><div class="ttdeci">double get_max_nodes_in_memory()</div><div class="ttdoc">Function returning the maximum number of nodes in memory. </div><div class="ttdef"><b>Definition:</b> bab.h:98</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a2defed7ca937feacb124cc97b8f7915f"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a2defed7ca937feacb124cc97b8f7915f">maingo::bab::BranchAndBound::_incumbentNodeId</a></div><div class="ttdeci">unsigned _incumbentNodeId</div><div class="ttdef"><b>Definition:</b> bab.h:388</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_af593cef9ed1bcfa512f7302732b9a614"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#af593cef9ed1bcfa512f7302732b9a614">maingo::bab::BranchAndBound::get_LBP_count</a></div><div class="ttdeci">double get_LBP_count()</div><div class="ttdoc">Function returning number of LBD problems solved. </div><div class="ttdef"><b>Definition:</b> bab.h:108</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_a7db5251fcd9ad3ca2892a9b17cb7b197"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#a7db5251fcd9ad3ca2892a9b17cb7b197">maingo::bab::BranchAndBound::~BranchAndBound</a></div><div class="ttdeci">~BranchAndBound()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> bab.h:77</div></div>
<div class="ttc" id="classmaingo_1_1bab_1_1_branch_and_bound_html_acab7696c07ae41c7a9296c0977359b1e"><div class="ttname"><a href="classmaingo_1_1bab_1_1_branch_and_bound.html#acab7696c07ae41c7a9296c0977359b1e">maingo::bab::BranchAndBound::_solve_UBP</a></div><div class="ttdeci">std::tuple&lt; bool, bool, double &gt; _solve_UBP(const babBase::BabNode &amp;currentNode, std::vector&lt; double &gt; &amp;ubpSolutionPoint, const double currentLBD)</div><div class="ttdoc">Function invoking the UBS to solve the upper bounding problem. </div><div class="ttdef"><b>Definition:</b> bab.cpp:703</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_bfccd401955b95cf8c75461437045ac0.html">inc</a></li><li class="navelem"><a class="el" href="bab_8h.html">bab.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">