Files
ortools-clone/docs/cpp/classoperations__research_1_1_solver.html
Mizux Seiha 687bdd636a docs: update
2020-12-29 22:27:47 +01:00

17890 lines
1.2 MiB

<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OR-Tools: Solver</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>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="styleSheet.tmp.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="orLogo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">OR-Tools
&#160;<span id="projectnumber">8.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<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('classoperations__research_1_1_solver.html',''); initResizable(); });
/* @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="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classoperations__research_1_1_solver-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Solver</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a> Class. </p>
<p>A solver represents the main computation engine. It implements the entire range of <a class="el" href="classoperations__research_1_1_constraint.html" title="A constraint is the main modeling object.">Constraint</a> Programming protocols:</p><ul>
<li>Reversibility</li>
<li>Propagation</li>
<li><a class="el" href="classoperations__research_1_1_search.html">Search</a></li>
</ul>
<p>Usually, <a class="el" href="classoperations__research_1_1_constraint.html" title="A constraint is the main modeling object.">Constraint</a> Programming code consists of</p><ul>
<li>the creation of the <a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a>,</li>
<li>the creation of the decision variables of the model,</li>
<li>the creation of the constraints of the model and their addition to the solver() through the <a class="el" href="classoperations__research_1_1_solver.html#a5931080c9bfda8dedfef0e3adf313ab3" title="Adds the constraint &#39;c&#39; to the model.">AddConstraint()</a> method,</li>
<li>the creation of the main <a class="el" href="classoperations__research_1_1_decision_builder.html" title="A DecisionBuilder is responsible for creating the search tree.">DecisionBuilder</a> class,</li>
<li>the launch of the solve() method with the decision builder.</li>
</ul>
<p>For the time being, <a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a> is neither MT_SAFE nor MT_HOT. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00248">248</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div><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">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html">IntegerCastInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds semantic information stating that the 'expression' has been cast into 'variable' using the Var() method, and that 'maintainer' is responsible for maintaining the equality between 'variable' and 'expression'. <a href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html">SearchLogParameters</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a search monitor from logging parameters. <a href="structoperations__research_1_1_solver_1_1_search_log_parameters.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="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ab7ab23bc58ea40dc03a5418ddbce7601"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> { <br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376">INT_VAR_DEFAULT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2">INT_VAR_SIMPLE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9">CHOOSE_FIRST_UNBOUND</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c">CHOOSE_RANDOM</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448">CHOOSE_MIN_SIZE_LOWEST_MIN</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2">CHOOSE_MIN_SIZE_HIGHEST_MIN</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7">CHOOSE_MIN_SIZE_LOWEST_MAX</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70">CHOOSE_MIN_SIZE_HIGHEST_MAX</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12">CHOOSE_LOWEST_MIN</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841">CHOOSE_HIGHEST_MAX</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae">CHOOSE_MIN_SIZE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a">CHOOSE_MAX_SIZE</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf">CHOOSE_MAX_REGRET_ON_MIN</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d">CHOOSE_PATH</a>
<br />
}</td></tr>
<tr class="memdesc:ab7ab23bc58ea40dc03a5418ddbce7601"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum describes the strategy used to select the next branching variable at each node during the search. <a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">More...</a><br /></td></tr>
<tr class="separator:ab7ab23bc58ea40dc03a5418ddbce7601"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45c5a2dd0d47110ef5b00408854d8d84"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> { <br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291">INT_VALUE_DEFAULT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e">INT_VALUE_SIMPLE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886">ASSIGN_MIN_VALUE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0">ASSIGN_MAX_VALUE</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2">ASSIGN_RANDOM_VALUE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173">ASSIGN_CENTER_VALUE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25">SPLIT_LOWER_HALF</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45">SPLIT_UPPER_HALF</a>
<br />
}</td></tr>
<tr class="memdesc:a45c5a2dd0d47110ef5b00408854d8d84"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum describes the strategy used to select the next variable value to set. <a href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">More...</a><br /></td></tr>
<tr class="separator:a45c5a2dd0d47110ef5b00408854d8d84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b1044e7c2b76345532f848a982a7106"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a> { <a class="el" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1">CHOOSE_STATIC_GLOBAL_BEST</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0">CHOOSE_DYNAMIC_GLOBAL_BEST</a>
}</td></tr>
<tr class="memdesc:a8b1044e7c2b76345532f848a982a7106"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum is used by <a class="el" href="classoperations__research_1_1_solver.html#ab8c32c78b5af7d4975432c0971369153" title="Phases on IntVar arrays.">Solver::MakePhase</a> to specify how to select variables and values during the search. <a href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">More...</a><br /></td></tr>
<tr class="separator:a8b1044e7c2b76345532f848a982a7106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba5c5dc6467e097f4972d7776541482b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482b">SequenceStrategy</a> { <a class="el" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f">SEQUENCE_DEFAULT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239">SEQUENCE_SIMPLE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7">CHOOSE_MIN_SLACK_RANK_FORWARD</a>,
<a class="el" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615">CHOOSE_RANDOM_RANK_FORWARD</a>
}</td></tr>
<tr class="memdesc:aba5c5dc6467e097f4972d7776541482b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used for scheduling. Not yet implemented. <a href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482b">More...</a><br /></td></tr>
<tr class="separator:aba5c5dc6467e097f4972d7776541482b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a64940761b306c816e00e077906952f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952f">IntervalStrategy</a> { <a class="el" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3">INTERVAL_DEFAULT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c">INTERVAL_SIMPLE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92">INTERVAL_SET_TIMES_FORWARD</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831">INTERVAL_SET_TIMES_BACKWARD</a>
}</td></tr>
<tr class="memdesc:a3a64940761b306c816e00e077906952f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum describes the straregy used to select the next interval variable and its value to be fixed. <a href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952f">More...</a><br /></td></tr>
<tr class="separator:a3a64940761b306c816e00e077906952f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fc60ae040ae35c83f09736d2e682a18"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> { <br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e">TWOOPT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704">OROPT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3">RELOCATE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462">EXCHANGE</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d">CROSS</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de">MAKEACTIVE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5">MAKEINACTIVE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e">MAKECHAININACTIVE</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b">SWAPACTIVE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9">EXTENDEDSWAPACTIVE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3">PATHLNS</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a">FULLPATHLNS</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408">UNACTIVELNS</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb">INCREMENT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84">DECREMENT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58">SIMPLELNS</a>
<br />
}</td></tr>
<tr class="memdesc:a6fc60ae040ae35c83f09736d2e682a18"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum is used in <a class="el" href="classoperations__research_1_1_solver.html#aabf79e2e1b17a7a5ce1c5e69cc3f582b" title="Local Search Operators.">Solver::MakeOperator</a> to specify the neighborhood to create. <a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">More...</a><br /></td></tr>
<tr class="separator:a6fc60ae040ae35c83f09736d2e682a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd2868244e1a645aaf41eb8a6a6c8bf4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> { <a class="el" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e">LK</a>,
<a class="el" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87">TSPOPT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1">TSPLNS</a>
}</td></tr>
<tr class="memdesc:afd2868244e1a645aaf41eb8a6a6c8bf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum is used in <a class="el" href="classoperations__research_1_1_solver.html#aabf79e2e1b17a7a5ce1c5e69cc3f582b" title="Local Search Operators.">Solver::MakeOperator</a> associated with an evaluator to specify the neighborhood to create. <a href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">More...</a><br /></td></tr>
<tr class="separator:afd2868244e1a645aaf41eb8a6a6c8bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd2d924f019d44bc99930a1e931a735f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">LocalSearchFilterBound</a> { <a class="el" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce">GE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61">LE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f">EQ</a>
}</td></tr>
<tr class="memdesc:afd2d924f019d44bc99930a1e931a735f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum is used in Solver::MakeLocalSearchObjectiveFilter. <a href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">More...</a><br /></td></tr>
<tr class="separator:afd2d924f019d44bc99930a1e931a735f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a293233c46e5eaa308f65c7c2350553f7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7">DemonPriority</a> { <a class="el" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068">DELAYED_PRIORITY</a> = 0,
<a class="el" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5">VAR_PRIORITY</a> = 1,
<a class="el" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4">NORMAL_PRIORITY</a> = 2
}</td></tr>
<tr class="memdesc:a293233c46e5eaa308f65c7c2350553f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum represents the three possible priorities for a demon in the <a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a> queue. <a href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7">More...</a><br /></td></tr>
<tr class="separator:a293233c46e5eaa308f65c7c2350553f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f66063ebaf61025e27e96719affa3ee"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> { <br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506">ENDS_AFTER_END</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134">ENDS_AFTER_START</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204">ENDS_AT_END</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43">ENDS_AT_START</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8">STARTS_AFTER_END</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d">STARTS_AFTER_START</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962">STARTS_AT_END</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7">STARTS_AT_START</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec">STAYS_IN_SYNC</a>
<br />
}</td></tr>
<tr class="memdesc:a6f66063ebaf61025e27e96719affa3ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum is used in <a class="el" href="classoperations__research_1_1_solver.html#a1a43933f7f3f5e21d1c95f0917c6ca8b" title="This method creates a relation between an interval var and a date.">Solver::MakeIntervalVarRelation</a> to specify the temporal relation between the two intervals t1 and t2. <a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">More...</a><br /></td></tr>
<tr class="separator:a6f66063ebaf61025e27e96719affa3ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46ad005bf538f19f4f1a45b357561be9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9">UnaryIntervalRelation</a> { <br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1">ENDS_AFTER</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6">ENDS_AT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430">ENDS_BEFORE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020">STARTS_AFTER</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac">STARTS_AT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131">STARTS_BEFORE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9">CROSS_DATE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4">AVOID_DATE</a>
<br />
}</td></tr>
<tr class="memdesc:a46ad005bf538f19f4f1a45b357561be9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum is used in <a class="el" href="classoperations__research_1_1_solver.html#a1a43933f7f3f5e21d1c95f0917c6ca8b" title="This method creates a relation between an interval var and a date.">Solver::MakeIntervalVarRelation</a> to specify the temporal relation between an interval t and an integer d. <a href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9">More...</a><br /></td></tr>
<tr class="separator:a46ad005bf538f19f4f1a45b357561be9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a074172434184dde98798ed6590206d42"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42">DecisionModification</a> { <br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd">NO_CHANGE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f">KEEP_LEFT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5">KEEP_RIGHT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f">KILL_BOTH</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998">SWITCH_BRANCHES</a>
<br />
}</td></tr>
<tr class="memdesc:a074172434184dde98798ed6590206d42"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a> is responsible for creating the search tree. <a href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42">More...</a><br /></td></tr>
<tr class="separator:a074172434184dde98798ed6590206d42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade22213fff69cfb37d8238e8fd3073df"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073df">MarkerType</a> { <a class="el" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfa6239979890280856033280b690ebc218">SENTINEL</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfa130783c98d7f7c30575fedebbd7e66f7">SIMPLE_MARKER</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfa0232b3ece732fa7e71171f78888cea50">CHOICE_POINT</a>,
<a class="el" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfaddfacd8981a3f651982bf9a0c82f0995">REVERSIBLE_ACTION</a>
}</td></tr>
<tr class="memdesc:ade22213fff69cfb37d8238e8fd3073df"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum is used internally in private methods <a class="el" href="classoperations__research_1_1_solver.html#a71535de01a6527099122f4b7284e1796" title="The PushState and PopState methods manipulates the states of the reversible objects.">Solver::PushState</a> and <a class="el" href="classoperations__research_1_1_solver.html#a831b8d703cefe8bce66a0483e08917ee">Solver::PopState</a> to tag states in the search tree. <a href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073df">More...</a><br /></td></tr>
<tr class="separator:ade22213fff69cfb37d8238e8fd3073df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f2bea2202c96738b11b050e71a28e63"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a> { <br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea">OUTSIDE_SEARCH</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351">IN_ROOT_NODE</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013">IN_SEARCH</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650">AT_SOLUTION</a>,
<br />
&#160;&#160;<a class="el" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5">NO_MORE_SOLUTIONS</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13">PROBLEM_INFEASIBLE</a>
<br />
}</td></tr>
<tr class="memdesc:a2f2bea2202c96738b11b050e71a28e63"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum represents the state of the solver w.r.t. the search. <a href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63">More...</a><br /></td></tr>
<tr class="separator:a2f2bea2202c96738b11b050e71a28e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39a89fa3de66d68071c66a936f17fd2b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> { <a class="el" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2ba759c34a99344306429e887634b2d688e">NOT_SET</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2ba20ee926b0aa645b0e3badb5d5171d6e1">MAXIMIZATION</a>,
<a class="el" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2ba34d4bc092ef084ef376537320f95bc13">MINIMIZATION</a>
}</td></tr>
<tr class="memdesc:a39a89fa3de66d68071c66a936f17fd2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optimization directions. <a href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">More...</a><br /></td></tr>
<tr class="separator:a39a89fa3de66d68071c66a936f17fd2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9726f5458b77973475a32178fe512b3"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a></td></tr>
<tr class="memdesc:aa9726f5458b77973475a32178fe512b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback typedefs. <a href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">More...</a><br /></td></tr>
<tr class="separator:aa9726f5458b77973475a32178fe512b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb24034fec2804ac3c0172f043087321"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a></td></tr>
<tr class="separator:abb24034fec2804ac3c0172f043087321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86570ad216b68c88de1ef27085e3d084"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a></td></tr>
<tr class="separator:a86570ad216b68c88de1ef27085e3d084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a021ae5a2766d4ccaa133a5bbb5398464"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; bool(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a021ae5a2766d4ccaa133a5bbb5398464">IndexFilter1</a></td></tr>
<tr class="separator:a021ae5a2766d4ccaa133a5bbb5398464"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbfd1fe2611bc7b45421ae81d66d7444"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#adbfd1fe2611bc7b45421ae81d66d7444">Int64ToIntVar</a></td></tr>
<tr class="separator:adbfd1fe2611bc7b45421ae81d66d7444"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad033e75848b4956d869473cbabd949ad"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(<a class="el" href="classoperations__research_1_1_solver.html">Solver</a> *solver, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> first_unbound, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> last_unbound)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad033e75848b4956d869473cbabd949ad">VariableIndexSelector</a></td></tr>
<tr class="separator:ad033e75848b4956d869473cbabd949ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae69f986ba3ecb59d0c4fbc48ae76fa34"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(const <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> id)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae69f986ba3ecb59d0c4fbc48ae76fa34">VariableValueSelector</a></td></tr>
<tr class="separator:ae69f986ba3ecb59d0c4fbc48ae76fa34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3094f1982f455fd97342c64b7c0b3ccf"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; bool(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3094f1982f455fd97342c64b7c0b3ccf">VariableValueComparator</a></td></tr>
<tr class="separator:a3094f1982f455fd97342c64b7c0b3ccf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae57bc6f29c7b4343cb90aa1946ce1869"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; <a class="el" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42">DecisionModification</a>()&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a></td></tr>
<tr class="separator:ae57bc6f29c7b4343cb90aa1946ce1869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7946514ee3dd6cb3ab993dc9e98b33b"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; void(<a class="el" href="classoperations__research_1_1_solver.html">Solver</a> *)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a></td></tr>
<tr class="separator:ad7946514ee3dd6cb3ab993dc9e98b33b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4c4d0d62a6d65debcff4437948435a1"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; void()&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Closure</a></td></tr>
<tr class="separator:ad4c4d0d62a6d65debcff4437948435a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abac10873a1af49f1dce33a34f3afaa56"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abac10873a1af49f1dce33a34f3afaa56">Solver</a> (const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:abac10873a1af49f1dce33a34f3afaa56"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a> API. <a href="classoperations__research_1_1_solver.html#abac10873a1af49f1dce33a34f3afaa56">More...</a><br /></td></tr>
<tr class="separator:abac10873a1af49f1dce33a34f3afaa56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add6d1e285b4009e4e966b43defc6652d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#add6d1e285b4009e4e966b43defc6652d">Solver</a> (const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>, const ConstraintSolverParameters &amp;<a class="el" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>)</td></tr>
<tr class="separator:add6d1e285b4009e4e966b43defc6652d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2496fe19ff323bd292f75b4f6db640d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af2496fe19ff323bd292f75b4f6db640d">~Solver</a> ()</td></tr>
<tr class="separator:af2496fe19ff323bd292f75b4f6db640d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a0b93a70f0d588f157ade7909c42eff"><td class="memItemLeft" align="right" valign="top">ConstraintSolverParameters&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a> () const</td></tr>
<tr class="memdesc:a2a0b93a70f0d588f157ade7909c42eff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stored Parameters. <a href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">More...</a><br /></td></tr>
<tr class="separator:a2a0b93a70f0d588f157ade7909c42eff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0544697ab645219c7ed34fd2c19e5033"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a0544697ab645219c7ed34fd2c19e5033"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033">SaveValue</a> (T *o)</td></tr>
<tr class="memdesc:a0544697ab645219c7ed34fd2c19e5033"><td class="mdescLeft">&#160;</td><td class="mdescRight">reversibility <a href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033">More...</a><br /></td></tr>
<tr class="separator:a0544697ab645219c7ed34fd2c19e5033"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab741cb25dd32d1cbe02fbfb36337d9bb"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ab741cb25dd32d1cbe02fbfb36337d9bb"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb">RevAlloc</a> (T *object)</td></tr>
<tr class="memdesc:ab741cb25dd32d1cbe02fbfb36337d9bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers the given object as being reversible. <a href="classoperations__research_1_1_solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb">More...</a><br /></td></tr>
<tr class="separator:ab741cb25dd32d1cbe02fbfb36337d9bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac87467b3998f36ab28b7cad51fe16a68"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ac87467b3998f36ab28b7cad51fe16a68"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac87467b3998f36ab28b7cad51fe16a68">RevAllocArray</a> (T *object)</td></tr>
<tr class="memdesc:ac87467b3998f36ab28b7cad51fe16a68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Like <a class="el" href="classoperations__research_1_1_solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb" title="Registers the given object as being reversible.">RevAlloc()</a> above, but for an array of objects: the array must have been allocated with the new[] operator. <a href="classoperations__research_1_1_solver.html#ac87467b3998f36ab28b7cad51fe16a68">More...</a><br /></td></tr>
<tr class="separator:ac87467b3998f36ab28b7cad51fe16a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5931080c9bfda8dedfef0e3adf313ab3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5931080c9bfda8dedfef0e3adf313ab3">AddConstraint</a> (<a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *const c)</td></tr>
<tr class="memdesc:a5931080c9bfda8dedfef0e3adf313ab3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the constraint 'c' to the model. <a href="classoperations__research_1_1_solver.html#a5931080c9bfda8dedfef0e3adf313ab3">More...</a><br /></td></tr>
<tr class="separator:a5931080c9bfda8dedfef0e3adf313ab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2d27e0db523a7b883fe8bd2f40e9968"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae2d27e0db523a7b883fe8bd2f40e9968">AddCastConstraint</a> (<a class="el" href="classoperations__research_1_1_cast_constraint.html">CastConstraint</a> *const constraint, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const target_var, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr)</td></tr>
<tr class="memdesc:ae2d27e0db523a7b883fe8bd2f40e9968"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds 'constraint' to the solver and marks it as a cast constraint, that is, a constraint created calling Var() on an expression. <a href="classoperations__research_1_1_solver.html#ae2d27e0db523a7b883fe8bd2f40e9968">More...</a><br /></td></tr>
<tr class="separator:ae2d27e0db523a7b883fe8bd2f40e9968"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1974d638ba45f2a66ae864e96b766131"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1974d638ba45f2a66ae864e96b766131">SolveAndCommit</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, const std::vector&lt; <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * &gt; &amp;monitors)</td></tr>
<tr class="memdesc:a1974d638ba45f2a66ae864e96b766131"><td class="mdescLeft">&#160;</td><td class="mdescRight">SolveAndCommit using a decision builder and up to three search monitors, usually one for the objective, one for the limits and one to collect solutions. <a href="classoperations__research_1_1_solver.html#a1974d638ba45f2a66ae864e96b766131">More...</a><br /></td></tr>
<tr class="separator:a1974d638ba45f2a66ae864e96b766131"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c27e95fb896b9ca243d6ab54da4f7c7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0c27e95fb896b9ca243d6ab54da4f7c7">SolveAndCommit</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db)</td></tr>
<tr class="separator:a0c27e95fb896b9ca243d6ab54da4f7c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7a6f9406ec6be74bf29518190761b08"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae7a6f9406ec6be74bf29518190761b08">SolveAndCommit</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1)</td></tr>
<tr class="separator:ae7a6f9406ec6be74bf29518190761b08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aeaec72a903164b4a7935c062e36a09"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4aeaec72a903164b4a7935c062e36a09">SolveAndCommit</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m2)</td></tr>
<tr class="separator:a4aeaec72a903164b4a7935c062e36a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19fe8b2c3564ce52e8cb64b8083c2969"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a19fe8b2c3564ce52e8cb64b8083c2969">SolveAndCommit</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m2, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m3)</td></tr>
<tr class="separator:a19fe8b2c3564ce52e8cb64b8083c2969"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31b6ef7bff363d68d03eda8c9668e3e0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a31b6ef7bff363d68d03eda8c9668e3e0">CheckAssignment</a> (<a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const solution)</td></tr>
<tr class="memdesc:a31b6ef7bff363d68d03eda8c9668e3e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the given assignment satisfies all relevant constraints. <a href="classoperations__research_1_1_solver.html#a31b6ef7bff363d68d03eda8c9668e3e0">More...</a><br /></td></tr>
<tr class="separator:a31b6ef7bff363d68d03eda8c9668e3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a483098cee8f04c87368cd05674dda9df"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a483098cee8f04c87368cd05674dda9df">CheckConstraint</a> (<a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *const <a class="el" href="demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695">ct</a>)</td></tr>
<tr class="memdesc:a483098cee8f04c87368cd05674dda9df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether adding this constraint will lead to an immediate failure. <a href="classoperations__research_1_1_solver.html#a483098cee8f04c87368cd05674dda9df">More...</a><br /></td></tr>
<tr class="separator:a483098cee8f04c87368cd05674dda9df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0094fe4296645dbe40d2c5377772e6eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0094fe4296645dbe40d2c5377772e6eb">state</a> () const</td></tr>
<tr class="memdesc:a0094fe4296645dbe40d2c5377772e6eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">State of the solver. <a href="classoperations__research_1_1_solver.html#a0094fe4296645dbe40d2c5377772e6eb">More...</a><br /></td></tr>
<tr class="separator:a0094fe4296645dbe40d2c5377772e6eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb92d4addb41255c9732cacfcb54f795"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aeb92d4addb41255c9732cacfcb54f795">Fail</a> ()</td></tr>
<tr class="memdesc:aeb92d4addb41255c9732cacfcb54f795"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abandon the current branch in the search tree. A backtrack will follow. <a href="classoperations__research_1_1_solver.html#aeb92d4addb41255c9732cacfcb54f795">More...</a><br /></td></tr>
<tr class="separator:aeb92d4addb41255c9732cacfcb54f795"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae6945c57651cb226561a0ef988a02ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aae6945c57651cb226561a0ef988a02ac">AddBacktrackAction</a> (<a class="el" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> <a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a>, bool fast)</td></tr>
<tr class="memdesc:aae6945c57651cb226561a0ef988a02ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">When <a class="el" href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033" title="reversibility">SaveValue()</a> is not the best way to go, one can create a reversible action that will be called upon backtrack. <a href="classoperations__research_1_1_solver.html#aae6945c57651cb226561a0ef988a02ac">More...</a><br /></td></tr>
<tr class="separator:aae6945c57651cb226561a0ef988a02ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a764be64f3029f8b8e23511061d8de355"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a764be64f3029f8b8e23511061d8de355">DebugString</a> () const</td></tr>
<tr class="memdesc:a764be64f3029f8b8e23511061d8de355"><td class="mdescLeft">&#160;</td><td class="mdescRight">!defined(SWIG) <a href="classoperations__research_1_1_solver.html#a764be64f3029f8b8e23511061d8de355">More...</a><br /></td></tr>
<tr class="separator:a764be64f3029f8b8e23511061d8de355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a372a74e1d5fc647d81a043b81075422d"><td class="memItemLeft" align="right" valign="top">absl::Time&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a372a74e1d5fc647d81a043b81075422d">Now</a> () const</td></tr>
<tr class="memdesc:a372a74e1d5fc647d81a043b81075422d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The 'absolute time' as seen by the solver. <a href="classoperations__research_1_1_solver.html#a372a74e1d5fc647d81a043b81075422d">More...</a><br /></td></tr>
<tr class="separator:a372a74e1d5fc647d81a043b81075422d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80533bb150275c3c1c46e7ee3f31a822"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a80533bb150275c3c1c46e7ee3f31a822">wall_time</a> () const</td></tr>
<tr class="memdesc:a80533bb150275c3c1c46e7ee3f31a822"><td class="mdescLeft">&#160;</td><td class="mdescRight">DEPRECATED: Use <a class="el" href="classoperations__research_1_1_solver.html#a372a74e1d5fc647d81a043b81075422d" title="The &#39;absolute time&#39; as seen by the solver.">Now()</a> instead. <a href="classoperations__research_1_1_solver.html#a80533bb150275c3c1c46e7ee3f31a822">More...</a><br /></td></tr>
<tr class="separator:a80533bb150275c3c1c46e7ee3f31a822"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad01c3a2fbfb388d917899ad983415d02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad01c3a2fbfb388d917899ad983415d02">branches</a> () const</td></tr>
<tr class="memdesc:ad01c3a2fbfb388d917899ad983415d02"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of branches explored since the creation of the solver. <a href="classoperations__research_1_1_solver.html#ad01c3a2fbfb388d917899ad983415d02">More...</a><br /></td></tr>
<tr class="separator:ad01c3a2fbfb388d917899ad983415d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23ac09a78dbd8b39b2f63e9981947788"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a> () const</td></tr>
<tr class="memdesc:a23ac09a78dbd8b39b2f63e9981947788"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of solutions found since the start of the search. <a href="classoperations__research_1_1_solver.html#a23ac09a78dbd8b39b2f63e9981947788">More...</a><br /></td></tr>
<tr class="separator:a23ac09a78dbd8b39b2f63e9981947788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8c18ef3936527c99953d5e767697f2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac8c18ef3936527c99953d5e767697f2c">unchecked_solutions</a> () const</td></tr>
<tr class="memdesc:ac8c18ef3936527c99953d5e767697f2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of unchecked solutions found by local search. <a href="classoperations__research_1_1_solver.html#ac8c18ef3936527c99953d5e767697f2c">More...</a><br /></td></tr>
<tr class="separator:ac8c18ef3936527c99953d5e767697f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fcb72958195336902eeca6bad65b001"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2fcb72958195336902eeca6bad65b001">demon_runs</a> (<a class="el" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7">DemonPriority</a> p) const</td></tr>
<tr class="memdesc:a2fcb72958195336902eeca6bad65b001"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of demons executed during search for a given priority. <a href="classoperations__research_1_1_solver.html#a2fcb72958195336902eeca6bad65b001">More...</a><br /></td></tr>
<tr class="separator:a2fcb72958195336902eeca6bad65b001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b05840b09f4ab5632470987f01e11e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2b05840b09f4ab5632470987f01e11e1">failures</a> () const</td></tr>
<tr class="memdesc:a2b05840b09f4ab5632470987f01e11e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of failures encountered since the creation of the solver. <a href="classoperations__research_1_1_solver.html#a2b05840b09f4ab5632470987f01e11e1">More...</a><br /></td></tr>
<tr class="separator:a2b05840b09f4ab5632470987f01e11e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dad51ecad4cc1aa2ff3fb0d0e3adfd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a8dad51ecad4cc1aa2ff3fb0d0e3adfd6">neighbors</a> () const</td></tr>
<tr class="memdesc:a8dad51ecad4cc1aa2ff3fb0d0e3adfd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of neighbors created. <a href="classoperations__research_1_1_solver.html#a8dad51ecad4cc1aa2ff3fb0d0e3adfd6">More...</a><br /></td></tr>
<tr class="separator:a8dad51ecad4cc1aa2ff3fb0d0e3adfd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa94a5c3decf35c8ba0ebdec210bc38e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa94a5c3decf35c8ba0ebdec210bc38e6">filtered_neighbors</a> () const</td></tr>
<tr class="memdesc:aa94a5c3decf35c8ba0ebdec210bc38e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of filtered neighbors (neighbors accepted by filters). <a href="classoperations__research_1_1_solver.html#aa94a5c3decf35c8ba0ebdec210bc38e6">More...</a><br /></td></tr>
<tr class="separator:aa94a5c3decf35c8ba0ebdec210bc38e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85b32a82ff9c91dd572222116e4a0adb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a85b32a82ff9c91dd572222116e4a0adb">accepted_neighbors</a> () const</td></tr>
<tr class="memdesc:a85b32a82ff9c91dd572222116e4a0adb"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of accepted neighbors. <a href="classoperations__research_1_1_solver.html#a85b32a82ff9c91dd572222116e4a0adb">More...</a><br /></td></tr>
<tr class="separator:a85b32a82ff9c91dd572222116e4a0adb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1600fac3a55a9ab4d7b5750b19fb6a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#abc0f5bc07737e498f287334775dff2b6">uint64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad1600fac3a55a9ab4d7b5750b19fb6a1">stamp</a> () const</td></tr>
<tr class="memdesc:ad1600fac3a55a9ab4d7b5750b19fb6a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The stamp indicates how many moves in the search tree we have performed. <a href="classoperations__research_1_1_solver.html#ad1600fac3a55a9ab4d7b5750b19fb6a1">More...</a><br /></td></tr>
<tr class="separator:ad1600fac3a55a9ab4d7b5750b19fb6a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40535e03b19c64388d1893883289fec5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#abc0f5bc07737e498f287334775dff2b6">uint64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a40535e03b19c64388d1893883289fec5">fail_stamp</a> () const</td></tr>
<tr class="memdesc:a40535e03b19c64388d1893883289fec5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="classoperations__research_1_1_solver.html#a40535e03b19c64388d1893883289fec5" title="The fail_stamp() is incremented after each backtrack.">fail_stamp()</a> is incremented after each backtrack. <a href="classoperations__research_1_1_solver.html#a40535e03b19c64388d1893883289fec5">More...</a><br /></td></tr>
<tr class="separator:a40535e03b19c64388d1893883289fec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affa6c6c872b17ceee95a3cd7f24f6848"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#affa6c6c872b17ceee95a3cd7f24f6848">optimization_direction</a> () const</td></tr>
<tr class="memdesc:affa6c6c872b17ceee95a3cd7f24f6848"><td class="mdescLeft">&#160;</td><td class="mdescRight">The direction of optimization, getter and setter. <a href="classoperations__research_1_1_solver.html#affa6c6c872b17ceee95a3cd7f24f6848">More...</a><br /></td></tr>
<tr class="separator:affa6c6c872b17ceee95a3cd7f24f6848"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bff6cc5ae227e109c6765b4c6809eb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a8bff6cc5ae227e109c6765b4c6809eb3">set_optimization_direction</a> (<a class="el" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> direction)</td></tr>
<tr class="separator:a8bff6cc5ae227e109c6765b4c6809eb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad767e1ca8fd403eca62f468d2107bbea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad767e1ca8fd403eca62f468d2107bbea">MakeIntVar</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="alldiff__cst_8cc.html#a021e695f54a13bd809c34b2f4ca87c37">min</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="alldiff__cst_8cc.html#a9d0c202d5fdd62f4fa2c613339ff168a">max</a>, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:ad767e1ca8fd403eca62f468d2107bbea"><td class="mdescLeft">&#160;</td><td class="mdescRight">MakeIntVar will create the best range based int var for the bounds given. <a href="classoperations__research_1_1_solver.html#ad767e1ca8fd403eca62f468d2107bbea">More...</a><br /></td></tr>
<tr class="separator:ad767e1ca8fd403eca62f468d2107bbea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ca46b86e1a0723f16c73d3a76cdfcce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a9ca46b86e1a0723f16c73d3a76cdfcce">MakeIntVar</a> (const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;values, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a9ca46b86e1a0723f16c73d3a76cdfcce"><td class="mdescLeft">&#160;</td><td class="mdescRight">MakeIntVar will create a variable with the given sparse domain. <a href="classoperations__research_1_1_solver.html#a9ca46b86e1a0723f16c73d3a76cdfcce">More...</a><br /></td></tr>
<tr class="separator:a9ca46b86e1a0723f16c73d3a76cdfcce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c94d4523a90b2c5eec25ddcf2e15d68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7c94d4523a90b2c5eec25ddcf2e15d68">MakeIntVar</a> (const std::vector&lt; int &gt; &amp;values, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a7c94d4523a90b2c5eec25ddcf2e15d68"><td class="mdescLeft">&#160;</td><td class="mdescRight">MakeIntVar will create a variable with the given sparse domain. <a href="classoperations__research_1_1_solver.html#a7c94d4523a90b2c5eec25ddcf2e15d68">More...</a><br /></td></tr>
<tr class="separator:a7c94d4523a90b2c5eec25ddcf2e15d68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb350616be8822ae7c8316049ad87413"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abb350616be8822ae7c8316049ad87413">MakeIntVar</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="alldiff__cst_8cc.html#a021e695f54a13bd809c34b2f4ca87c37">min</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="alldiff__cst_8cc.html#a9d0c202d5fdd62f4fa2c613339ff168a">max</a>)</td></tr>
<tr class="memdesc:abb350616be8822ae7c8316049ad87413"><td class="mdescLeft">&#160;</td><td class="mdescRight">MakeIntVar will create the best range based int var for the bounds given. <a href="classoperations__research_1_1_solver.html#abb350616be8822ae7c8316049ad87413">More...</a><br /></td></tr>
<tr class="separator:abb350616be8822ae7c8316049ad87413"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c37e3d28bed607f617337d5bbaaeb7d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7c37e3d28bed607f617337d5bbaaeb7d">MakeIntVar</a> (const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;values)</td></tr>
<tr class="memdesc:a7c37e3d28bed607f617337d5bbaaeb7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">MakeIntVar will create a variable with the given sparse domain. <a href="classoperations__research_1_1_solver.html#a7c37e3d28bed607f617337d5bbaaeb7d">More...</a><br /></td></tr>
<tr class="separator:a7c37e3d28bed607f617337d5bbaaeb7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed38a7e458a853841bff6027875346fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aed38a7e458a853841bff6027875346fd">MakeIntVar</a> (const std::vector&lt; int &gt; &amp;values)</td></tr>
<tr class="memdesc:aed38a7e458a853841bff6027875346fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">MakeIntVar will create a variable with the given sparse domain. <a href="classoperations__research_1_1_solver.html#aed38a7e458a853841bff6027875346fd">More...</a><br /></td></tr>
<tr class="separator:aed38a7e458a853841bff6027875346fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fe5747f8adc7d4c5e233f849be04d6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7fe5747f8adc7d4c5e233f849be04d6d">MakeBoolVar</a> (const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a7fe5747f8adc7d4c5e233f849be04d6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">MakeBoolVar will create a variable with a {0, 1} domain. <a href="classoperations__research_1_1_solver.html#a7fe5747f8adc7d4c5e233f849be04d6d">More...</a><br /></td></tr>
<tr class="separator:a7fe5747f8adc7d4c5e233f849be04d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2ccc3c5683cdbf7b7651894f4054385"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa2ccc3c5683cdbf7b7651894f4054385">MakeBoolVar</a> ()</td></tr>
<tr class="memdesc:aa2ccc3c5683cdbf7b7651894f4054385"><td class="mdescLeft">&#160;</td><td class="mdescRight">MakeBoolVar will create a variable with a {0, 1} domain. <a href="classoperations__research_1_1_solver.html#aa2ccc3c5683cdbf7b7651894f4054385">More...</a><br /></td></tr>
<tr class="separator:aa2ccc3c5683cdbf7b7651894f4054385"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8e836568edff7ff497a6982b403a3ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af8e836568edff7ff497a6982b403a3ab">MakeIntConst</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> val, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:af8e836568edff7ff497a6982b403a3ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">IntConst will create a constant expression. <a href="classoperations__research_1_1_solver.html#af8e836568edff7ff497a6982b403a3ab">More...</a><br /></td></tr>
<tr class="separator:af8e836568edff7ff497a6982b403a3ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39c1d242cb91ba132a30815890820f98"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a39c1d242cb91ba132a30815890820f98">MakeIntConst</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> val)</td></tr>
<tr class="memdesc:a39c1d242cb91ba132a30815890820f98"><td class="mdescLeft">&#160;</td><td class="mdescRight">IntConst will create a constant expression. <a href="classoperations__research_1_1_solver.html#a39c1d242cb91ba132a30815890820f98">More...</a><br /></td></tr>
<tr class="separator:a39c1d242cb91ba132a30815890820f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d344e39533044ecf046177a9bf3e6ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a9d344e39533044ecf046177a9bf3e6ca">MakeIntVarArray</a> (int var_count, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> vmin, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> vmax, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>, std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; *vars)</td></tr>
<tr class="memdesc:a9d344e39533044ecf046177a9bf3e6ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method will append the vector vars with 'var_count' variables having bounds vmin and vmax and having name "name&lt;i&gt;" where <em> is the index of the variable. </em> <a href="classoperations__research_1_1_solver.html#a9d344e39533044ecf046177a9bf3e6ca">More...</a><br /></td></tr>
<tr class="separator:a9d344e39533044ecf046177a9bf3e6ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaa70c6fb6a101fb032b17f8bfa9c693"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abaa70c6fb6a101fb032b17f8bfa9c693">MakeIntVarArray</a> (int var_count, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> vmin, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> vmax, std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; *vars)</td></tr>
<tr class="memdesc:abaa70c6fb6a101fb032b17f8bfa9c693"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method will append the vector vars with 'var_count' variables having bounds vmin and vmax and having no names. <a href="classoperations__research_1_1_solver.html#abaa70c6fb6a101fb032b17f8bfa9c693">More...</a><br /></td></tr>
<tr class="separator:abaa70c6fb6a101fb032b17f8bfa9c693"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad06d6355dcbe7eea6872cb39825318b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad06d6355dcbe7eea6872cb39825318b5">MakeIntVarArray</a> (int var_count, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> vmin, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> vmax, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:ad06d6355dcbe7eea6872cb39825318b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same but allocates an array and returns it. <a href="classoperations__research_1_1_solver.html#ad06d6355dcbe7eea6872cb39825318b5">More...</a><br /></td></tr>
<tr class="separator:ad06d6355dcbe7eea6872cb39825318b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c5082a7f40da167784ea364c9797d0e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0c5082a7f40da167784ea364c9797d0e">MakeBoolVarArray</a> (int var_count, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>, std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; *vars)</td></tr>
<tr class="memdesc:a0c5082a7f40da167784ea364c9797d0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method will append the vector vars with 'var_count' boolean variables having name "name&lt;i&gt;" where <em> is the index of the variable. </em> <a href="classoperations__research_1_1_solver.html#a0c5082a7f40da167784ea364c9797d0e">More...</a><br /></td></tr>
<tr class="separator:a0c5082a7f40da167784ea364c9797d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88e5ec53146896696c454ca29cd6366e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a88e5ec53146896696c454ca29cd6366e">MakeBoolVarArray</a> (int var_count, std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; *vars)</td></tr>
<tr class="memdesc:a88e5ec53146896696c454ca29cd6366e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method will append the vector vars with 'var_count' boolean variables having no names. <a href="classoperations__research_1_1_solver.html#a88e5ec53146896696c454ca29cd6366e">More...</a><br /></td></tr>
<tr class="separator:a88e5ec53146896696c454ca29cd6366e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c9becfde92b690d0869a3127fc34126"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4c9becfde92b690d0869a3127fc34126">MakeBoolVarArray</a> (int var_count, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a4c9becfde92b690d0869a3127fc34126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same but allocates an array and returns it. <a href="classoperations__research_1_1_solver.html#a4c9becfde92b690d0869a3127fc34126">More...</a><br /></td></tr>
<tr class="separator:a4c9becfde92b690d0869a3127fc34126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac957f0efc6de9135512f60f80ba36083"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac957f0efc6de9135512f60f80ba36083">MakeSum</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:ac957f0efc6de9135512f60f80ba36083"><td class="mdescLeft">&#160;</td><td class="mdescRight">left + right. <a href="classoperations__research_1_1_solver.html#ac957f0efc6de9135512f60f80ba36083">More...</a><br /></td></tr>
<tr class="separator:ac957f0efc6de9135512f60f80ba36083"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6571acf6b801d566f28147f05b4b0373"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6571acf6b801d566f28147f05b4b0373">MakeSum</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a6571acf6b801d566f28147f05b4b0373"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr + value. <a href="classoperations__research_1_1_solver.html#a6571acf6b801d566f28147f05b4b0373">More...</a><br /></td></tr>
<tr class="separator:a6571acf6b801d566f28147f05b4b0373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09873cffad10d0c03d9e56bfee8063b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a09873cffad10d0c03d9e56bfee8063b5">MakeSum</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars)</td></tr>
<tr class="memdesc:a09873cffad10d0c03d9e56bfee8063b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">sum of all vars. <a href="classoperations__research_1_1_solver.html#a09873cffad10d0c03d9e56bfee8063b5">More...</a><br /></td></tr>
<tr class="separator:a09873cffad10d0c03d9e56bfee8063b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4aaca770d85f7b1f58292ca311de969"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac4aaca770d85f7b1f58292ca311de969">MakeScalProd</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;coefs)</td></tr>
<tr class="memdesc:ac4aaca770d85f7b1f58292ca311de969"><td class="mdescLeft">&#160;</td><td class="mdescRight">scalar product <a href="classoperations__research_1_1_solver.html#ac4aaca770d85f7b1f58292ca311de969">More...</a><br /></td></tr>
<tr class="separator:ac4aaca770d85f7b1f58292ca311de969"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23053cfdf78a25b8e04121f30fbaa72f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a23053cfdf78a25b8e04121f30fbaa72f">MakeScalProd</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;coefs)</td></tr>
<tr class="memdesc:a23053cfdf78a25b8e04121f30fbaa72f"><td class="mdescLeft">&#160;</td><td class="mdescRight">scalar product <a href="classoperations__research_1_1_solver.html#a23053cfdf78a25b8e04121f30fbaa72f">More...</a><br /></td></tr>
<tr class="separator:a23053cfdf78a25b8e04121f30fbaa72f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a988e122844528e222326bd327a5d60fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a988e122844528e222326bd327a5d60fd">MakeDifference</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:a988e122844528e222326bd327a5d60fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">left - right <a href="classoperations__research_1_1_solver.html#a988e122844528e222326bd327a5d60fd">More...</a><br /></td></tr>
<tr class="separator:a988e122844528e222326bd327a5d60fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92381f09e2e5e9f808c26bf62af9427e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a92381f09e2e5e9f808c26bf62af9427e">MakeDifference</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr)</td></tr>
<tr class="memdesc:a92381f09e2e5e9f808c26bf62af9427e"><td class="mdescLeft">&#160;</td><td class="mdescRight">value - expr <a href="classoperations__research_1_1_solver.html#a92381f09e2e5e9f808c26bf62af9427e">More...</a><br /></td></tr>
<tr class="separator:a92381f09e2e5e9f808c26bf62af9427e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f2cba628260a3a04f06f676c65fd0a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a70f2cba628260a3a04f06f676c65fd0a">MakeOpposite</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr)</td></tr>
<tr class="memdesc:a70f2cba628260a3a04f06f676c65fd0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">-expr <a href="classoperations__research_1_1_solver.html#a70f2cba628260a3a04f06f676c65fd0a">More...</a><br /></td></tr>
<tr class="separator:a70f2cba628260a3a04f06f676c65fd0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae88d696e499f29968ad16dcf587fff50"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae88d696e499f29968ad16dcf587fff50">MakeProd</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:ae88d696e499f29968ad16dcf587fff50"><td class="mdescLeft">&#160;</td><td class="mdescRight">left * right <a href="classoperations__research_1_1_solver.html#ae88d696e499f29968ad16dcf587fff50">More...</a><br /></td></tr>
<tr class="separator:ae88d696e499f29968ad16dcf587fff50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a148d427921cb0798c3ff7501e4f4aaf0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a148d427921cb0798c3ff7501e4f4aaf0">MakeProd</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a148d427921cb0798c3ff7501e4f4aaf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr * value <a href="classoperations__research_1_1_solver.html#a148d427921cb0798c3ff7501e4f4aaf0">More...</a><br /></td></tr>
<tr class="separator:a148d427921cb0798c3ff7501e4f4aaf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8704ef7a76b2de1d851372675e6b923"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa8704ef7a76b2de1d851372675e6b923">MakeDiv</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:aa8704ef7a76b2de1d851372675e6b923"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr / value (integer division) <a href="classoperations__research_1_1_solver.html#aa8704ef7a76b2de1d851372675e6b923">More...</a><br /></td></tr>
<tr class="separator:aa8704ef7a76b2de1d851372675e6b923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a537af2f859a1a28f1cfba78504b01b10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a537af2f859a1a28f1cfba78504b01b10">MakeDiv</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const numerator, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const denominator)</td></tr>
<tr class="memdesc:a537af2f859a1a28f1cfba78504b01b10"><td class="mdescLeft">&#160;</td><td class="mdescRight">numerator / denominator (integer division). Terms need to be positive. <a href="classoperations__research_1_1_solver.html#a537af2f859a1a28f1cfba78504b01b10">More...</a><br /></td></tr>
<tr class="separator:a537af2f859a1a28f1cfba78504b01b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e1ca16d39d47ab8022785dc8e499120"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1e1ca16d39d47ab8022785dc8e499120">MakeAbs</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr)</td></tr>
<tr class="memdesc:a1e1ca16d39d47ab8022785dc8e499120"><td class="mdescLeft">&#160;</td><td class="mdescRight">|expr| <a href="classoperations__research_1_1_solver.html#a1e1ca16d39d47ab8022785dc8e499120">More...</a><br /></td></tr>
<tr class="separator:a1e1ca16d39d47ab8022785dc8e499120"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdaa08527897eee872272e8e2d2b28e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#acdaa08527897eee872272e8e2d2b28e4">MakeSquare</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr)</td></tr>
<tr class="memdesc:acdaa08527897eee872272e8e2d2b28e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr * expr <a href="classoperations__research_1_1_solver.html#acdaa08527897eee872272e8e2d2b28e4">More...</a><br /></td></tr>
<tr class="separator:acdaa08527897eee872272e8e2d2b28e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45df05056f0f94dcc0e44d4336e13fb9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a45df05056f0f94dcc0e44d4336e13fb9">MakePower</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> n)</td></tr>
<tr class="memdesc:a45df05056f0f94dcc0e44d4336e13fb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr ^ n (n &gt; 0) <a href="classoperations__research_1_1_solver.html#a45df05056f0f94dcc0e44d4336e13fb9">More...</a><br /></td></tr>
<tr class="separator:a45df05056f0f94dcc0e44d4336e13fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0239c8843ea9e89736f6146c27bf71bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0239c8843ea9e89736f6146c27bf71bf">MakeElement</a> (const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;values, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</td></tr>
<tr class="memdesc:a0239c8843ea9e89736f6146c27bf71bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">values[index] <a href="classoperations__research_1_1_solver.html#a0239c8843ea9e89736f6146c27bf71bf">More...</a><br /></td></tr>
<tr class="separator:a0239c8843ea9e89736f6146c27bf71bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d55c6d88841a24a6475f2b8a0da2dd5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5d55c6d88841a24a6475f2b8a0da2dd5">MakeElement</a> (const std::vector&lt; int &gt; &amp;values, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</td></tr>
<tr class="memdesc:a5d55c6d88841a24a6475f2b8a0da2dd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">values[index] <a href="classoperations__research_1_1_solver.html#a5d55c6d88841a24a6475f2b8a0da2dd5">More...</a><br /></td></tr>
<tr class="separator:a5d55c6d88841a24a6475f2b8a0da2dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82f32152b3e50f4dc8fcf740f28854db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a82f32152b3e50f4dc8fcf740f28854db">MakeElement</a> (<a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> values, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</td></tr>
<tr class="memdesc:a82f32152b3e50f4dc8fcf740f28854db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function-based element. <a href="classoperations__research_1_1_solver.html#a82f32152b3e50f4dc8fcf740f28854db">More...</a><br /></td></tr>
<tr class="separator:a82f32152b3e50f4dc8fcf740f28854db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8000758952f5c47fbc540e7515ec3d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af8000758952f5c47fbc540e7515ec3d7">MakeMonotonicElement</a> (<a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> values, bool increasing, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</td></tr>
<tr class="memdesc:af8000758952f5c47fbc540e7515ec3d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function based element. <a href="classoperations__research_1_1_solver.html#af8000758952f5c47fbc540e7515ec3d7">More...</a><br /></td></tr>
<tr class="separator:af8000758952f5c47fbc540e7515ec3d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f08623720fbf9b78baea270d0a6c55d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a8f08623720fbf9b78baea270d0a6c55d">MakeElement</a> (<a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> values, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const index1, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const index2)</td></tr>
<tr class="memdesc:a8f08623720fbf9b78baea270d0a6c55d"><td class="mdescLeft">&#160;</td><td class="mdescRight">2D version of function-based element expression, values(expr1, expr2). <a href="classoperations__research_1_1_solver.html#a8f08623720fbf9b78baea270d0a6c55d">More...</a><br /></td></tr>
<tr class="separator:a8f08623720fbf9b78baea270d0a6c55d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a607c2a1c721c5ca1d2399a13e619e2cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a607c2a1c721c5ca1d2399a13e619e2cd">MakeElement</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</td></tr>
<tr class="memdesc:a607c2a1c721c5ca1d2399a13e619e2cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">vars[expr] <a href="classoperations__research_1_1_solver.html#a607c2a1c721c5ca1d2399a13e619e2cd">More...</a><br /></td></tr>
<tr class="separator:a607c2a1c721c5ca1d2399a13e619e2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7ad069cf1b9066d7926cabf07dbeefe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad7ad069cf1b9066d7926cabf07dbeefe">MakeElement</a> (<a class="el" href="classoperations__research_1_1_solver.html#adbfd1fe2611bc7b45421ae81d66d7444">Int64ToIntVar</a> vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> range_start, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> range_end, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *argument)</td></tr>
<tr class="memdesc:ad7ad069cf1b9066d7926cabf07dbeefe"><td class="mdescLeft">&#160;</td><td class="mdescRight">vars(argument) <a href="classoperations__research_1_1_solver.html#ad7ad069cf1b9066d7926cabf07dbeefe">More...</a><br /></td></tr>
<tr class="separator:ad7ad069cf1b9066d7926cabf07dbeefe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbf73f0de66c0c446dcd52e59897c101"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#acbf73f0de66c0c446dcd52e59897c101">MakeIndexExpression</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:acbf73f0de66c0c446dcd52e59897c101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the expression expr such that vars[expr] == value. <a href="classoperations__research_1_1_solver.html#acbf73f0de66c0c446dcd52e59897c101">More...</a><br /></td></tr>
<tr class="separator:acbf73f0de66c0c446dcd52e59897c101"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74b8b1a83df2cb86a4e3606c747e202c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a74b8b1a83df2cb86a4e3606c747e202c">MakeIfThenElseCt</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const condition, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const then_expr, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const else_expr, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const target_var)</td></tr>
<tr class="memdesc:a74b8b1a83df2cb86a4e3606c747e202c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special cases with arrays of size two. <a href="classoperations__research_1_1_solver.html#a74b8b1a83df2cb86a4e3606c747e202c">More...</a><br /></td></tr>
<tr class="separator:a74b8b1a83df2cb86a4e3606c747e202c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a259a4ee93238a1e426362cb830317a57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a259a4ee93238a1e426362cb830317a57">MakeMin</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars)</td></tr>
<tr class="memdesc:a259a4ee93238a1e426362cb830317a57"><td class="mdescLeft">&#160;</td><td class="mdescRight">std::min(vars) <a href="classoperations__research_1_1_solver.html#a259a4ee93238a1e426362cb830317a57">More...</a><br /></td></tr>
<tr class="separator:a259a4ee93238a1e426362cb830317a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb42028bd4d00fa5015a29d271c87723"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abb42028bd4d00fa5015a29d271c87723">MakeMin</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:abb42028bd4d00fa5015a29d271c87723"><td class="mdescLeft">&#160;</td><td class="mdescRight">std::min (left, right) <a href="classoperations__research_1_1_solver.html#abb42028bd4d00fa5015a29d271c87723">More...</a><br /></td></tr>
<tr class="separator:abb42028bd4d00fa5015a29d271c87723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8f204e45e9576dc8f3da8825c35f122"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad8f204e45e9576dc8f3da8825c35f122">MakeMin</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:ad8f204e45e9576dc8f3da8825c35f122"><td class="mdescLeft">&#160;</td><td class="mdescRight">std::min(expr, value) <a href="classoperations__research_1_1_solver.html#ad8f204e45e9576dc8f3da8825c35f122">More...</a><br /></td></tr>
<tr class="separator:ad8f204e45e9576dc8f3da8825c35f122"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa84ce64fbf497a38e9364d66d2148c05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa84ce64fbf497a38e9364d66d2148c05">MakeMin</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, int <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:aa84ce64fbf497a38e9364d66d2148c05"><td class="mdescLeft">&#160;</td><td class="mdescRight">std::min(expr, value) <a href="classoperations__research_1_1_solver.html#aa84ce64fbf497a38e9364d66d2148c05">More...</a><br /></td></tr>
<tr class="separator:aa84ce64fbf497a38e9364d66d2148c05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a934e08f84e590e48ab860fcd97ca7130"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a934e08f84e590e48ab860fcd97ca7130">MakeMax</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars)</td></tr>
<tr class="memdesc:a934e08f84e590e48ab860fcd97ca7130"><td class="mdescLeft">&#160;</td><td class="mdescRight">std::max(vars) <a href="classoperations__research_1_1_solver.html#a934e08f84e590e48ab860fcd97ca7130">More...</a><br /></td></tr>
<tr class="separator:a934e08f84e590e48ab860fcd97ca7130"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac44fc7b9623b36db077cd649c640a5d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac44fc7b9623b36db077cd649c640a5d3">MakeMax</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:ac44fc7b9623b36db077cd649c640a5d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">std::max(left, right) <a href="classoperations__research_1_1_solver.html#ac44fc7b9623b36db077cd649c640a5d3">More...</a><br /></td></tr>
<tr class="separator:ac44fc7b9623b36db077cd649c640a5d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a743c5ac9e35206c5a17ef1834393763d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a743c5ac9e35206c5a17ef1834393763d">MakeMax</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a743c5ac9e35206c5a17ef1834393763d"><td class="mdescLeft">&#160;</td><td class="mdescRight">std::max(expr, value) <a href="classoperations__research_1_1_solver.html#a743c5ac9e35206c5a17ef1834393763d">More...</a><br /></td></tr>
<tr class="separator:a743c5ac9e35206c5a17ef1834393763d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa652e79264bcfb75282b881957366cbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa652e79264bcfb75282b881957366cbd">MakeMax</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, int <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:aa652e79264bcfb75282b881957366cbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">std::max(expr, value) <a href="classoperations__research_1_1_solver.html#aa652e79264bcfb75282b881957366cbd">More...</a><br /></td></tr>
<tr class="separator:aa652e79264bcfb75282b881957366cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add6619604529f8169efe71c05e8df43c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#add6619604529f8169efe71c05e8df43c">MakeConvexPiecewiseExpr</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> early_cost, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> early_date, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> late_date, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> late_cost)</td></tr>
<tr class="memdesc:add6619604529f8169efe71c05e8df43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convex piecewise function. <a href="classoperations__research_1_1_solver.html#add6619604529f8169efe71c05e8df43c">More...</a><br /></td></tr>
<tr class="separator:add6619604529f8169efe71c05e8df43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac34efc5a32ae3ef481d3c97796ecb899"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac34efc5a32ae3ef481d3c97796ecb899">MakeSemiContinuousExpr</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> fixed_charge, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:ac34efc5a32ae3ef481d3c97796ecb899"><td class="mdescLeft">&#160;</td><td class="mdescRight">Semi continuous Expression (x &lt;= 0 -&gt; f(x) = 0; x &gt; 0 -&gt; f(x) = ax + b) a &gt;= 0 and b &gt;= 0. <a href="classoperations__research_1_1_solver.html#ac34efc5a32ae3ef481d3c97796ecb899">More...</a><br /></td></tr>
<tr class="separator:ac34efc5a32ae3ef481d3c97796ecb899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a235c1fd0f0c6d4051a8ff4311ba2630c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a235c1fd0f0c6d4051a8ff4311ba2630c">MakePiecewiseLinearExpr</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *expr, const <a class="el" href="classoperations__research_1_1_piecewise_linear_function.html">PiecewiseLinearFunction</a> &amp;f)</td></tr>
<tr class="memdesc:a235c1fd0f0c6d4051a8ff4311ba2630c"><td class="mdescLeft">&#160;</td><td class="mdescRight">General piecewise-linear function expression, built from f(x) where f is piecewise-linear. <a href="classoperations__research_1_1_solver.html#a235c1fd0f0c6d4051a8ff4311ba2630c">More...</a><br /></td></tr>
<tr class="separator:a235c1fd0f0c6d4051a8ff4311ba2630c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b5d22a85b4136b4e68bcee667b38b30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7b5d22a85b4136b4e68bcee667b38b30">MakeModulo</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const x, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> mod)</td></tr>
<tr class="memdesc:a7b5d22a85b4136b4e68bcee667b38b30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modulo expression x % mod (with the python convention for modulo). <a href="classoperations__research_1_1_solver.html#a7b5d22a85b4136b4e68bcee667b38b30">More...</a><br /></td></tr>
<tr class="separator:a7b5d22a85b4136b4e68bcee667b38b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2db257565e3ee441110a73522333105e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2db257565e3ee441110a73522333105e">MakeModulo</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const x, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const mod)</td></tr>
<tr class="memdesc:a2db257565e3ee441110a73522333105e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modulo expression x % mod (with the python convention for modulo). <a href="classoperations__research_1_1_solver.html#a2db257565e3ee441110a73522333105e">More...</a><br /></td></tr>
<tr class="separator:a2db257565e3ee441110a73522333105e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c5c8ee06decdcc10a24ec8c3237722a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7c5c8ee06decdcc10a24ec8c3237722a">MakeConditionalExpression</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const condition, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> unperformed_value)</td></tr>
<tr class="memdesc:a7c5c8ee06decdcc10a24ec8c3237722a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional Expr condition ? expr : unperformed_value. <a href="classoperations__research_1_1_solver.html#a7c5c8ee06decdcc10a24ec8c3237722a">More...</a><br /></td></tr>
<tr class="separator:a7c5c8ee06decdcc10a24ec8c3237722a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a783604b36be84a0f63754d0fe5597291"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a783604b36be84a0f63754d0fe5597291">MakeTrueConstraint</a> ()</td></tr>
<tr class="memdesc:a783604b36be84a0f63754d0fe5597291"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint always succeeds. <a href="classoperations__research_1_1_solver.html#a783604b36be84a0f63754d0fe5597291">More...</a><br /></td></tr>
<tr class="separator:a783604b36be84a0f63754d0fe5597291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f73b85db1b5b095064d1b2d1e40f23b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1f73b85db1b5b095064d1b2d1e40f23b">MakeFalseConstraint</a> ()</td></tr>
<tr class="memdesc:a1f73b85db1b5b095064d1b2d1e40f23b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint always fails. <a href="classoperations__research_1_1_solver.html#a1f73b85db1b5b095064d1b2d1e40f23b">More...</a><br /></td></tr>
<tr class="separator:a1f73b85db1b5b095064d1b2d1e40f23b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a852aba0d03119d806f68b204a543596e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a852aba0d03119d806f68b204a543596e">MakeFalseConstraint</a> (const std::string &amp;explanation)</td></tr>
<tr class="separator:a852aba0d03119d806f68b204a543596e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a439fa766af5a606c8df54b08611c7158"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a439fa766af5a606c8df54b08611c7158">MakeIsEqualCstCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const boolvar)</td></tr>
<tr class="memdesc:a439fa766af5a606c8df54b08611c7158"><td class="mdescLeft">&#160;</td><td class="mdescRight">boolvar == (var == value) <a href="classoperations__research_1_1_solver.html#a439fa766af5a606c8df54b08611c7158">More...</a><br /></td></tr>
<tr class="separator:a439fa766af5a606c8df54b08611c7158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d0069670c6279b4e86ddc75b1ee8f85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6d0069670c6279b4e86ddc75b1ee8f85">MakeIsEqualCstVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a6d0069670c6279b4e86ddc75b1ee8f85"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (var == value) <a href="classoperations__research_1_1_solver.html#a6d0069670c6279b4e86ddc75b1ee8f85">More...</a><br /></td></tr>
<tr class="separator:a6d0069670c6279b4e86ddc75b1ee8f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a707950fd814cfea4d590649559510ae2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a707950fd814cfea4d590649559510ae2">MakeIsEqualCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const v1, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *v2, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="memdesc:a707950fd814cfea4d590649559510ae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">b == (v1 == v2) <a href="classoperations__research_1_1_solver.html#a707950fd814cfea4d590649559510ae2">More...</a><br /></td></tr>
<tr class="separator:a707950fd814cfea4d590649559510ae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38dd8015b2a97716a49dd5be4695aeea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a38dd8015b2a97716a49dd5be4695aeea">MakeIsEqualVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const v1, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *v2)</td></tr>
<tr class="memdesc:a38dd8015b2a97716a49dd5be4695aeea"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (v1 == v2) <a href="classoperations__research_1_1_solver.html#a38dd8015b2a97716a49dd5be4695aeea">More...</a><br /></td></tr>
<tr class="separator:a38dd8015b2a97716a49dd5be4695aeea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2085a8965de86fa4cf3aa76331331372"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2085a8965de86fa4cf3aa76331331372">MakeEquality</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:a2085a8965de86fa4cf3aa76331331372"><td class="mdescLeft">&#160;</td><td class="mdescRight">left == right <a href="classoperations__research_1_1_solver.html#a2085a8965de86fa4cf3aa76331331372">More...</a><br /></td></tr>
<tr class="separator:a2085a8965de86fa4cf3aa76331331372"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa79c3453d1a5d63800438bd2ba510bcf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa79c3453d1a5d63800438bd2ba510bcf">MakeEquality</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:aa79c3453d1a5d63800438bd2ba510bcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr == value <a href="classoperations__research_1_1_solver.html#aa79c3453d1a5d63800438bd2ba510bcf">More...</a><br /></td></tr>
<tr class="separator:aa79c3453d1a5d63800438bd2ba510bcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45e165985c73422b6215e2c303e65125"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a45e165985c73422b6215e2c303e65125">MakeEquality</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, int <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a45e165985c73422b6215e2c303e65125"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr == value <a href="classoperations__research_1_1_solver.html#a45e165985c73422b6215e2c303e65125">More...</a><br /></td></tr>
<tr class="separator:a45e165985c73422b6215e2c303e65125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accb745aa312b8d81157c59924dfe79d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#accb745aa312b8d81157c59924dfe79d4">MakeIsDifferentCstCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const boolvar)</td></tr>
<tr class="memdesc:accb745aa312b8d81157c59924dfe79d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">boolvar == (var != value) <a href="classoperations__research_1_1_solver.html#accb745aa312b8d81157c59924dfe79d4">More...</a><br /></td></tr>
<tr class="separator:accb745aa312b8d81157c59924dfe79d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49b0c32048e9f6a09c013e717ab7f070"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a49b0c32048e9f6a09c013e717ab7f070">MakeIsDifferentCstVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a49b0c32048e9f6a09c013e717ab7f070"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (var != value) <a href="classoperations__research_1_1_solver.html#a49b0c32048e9f6a09c013e717ab7f070">More...</a><br /></td></tr>
<tr class="separator:a49b0c32048e9f6a09c013e717ab7f070"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37f4cb0801309b89498ea22004c60f71"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a37f4cb0801309b89498ea22004c60f71">MakeIsDifferentVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const v1, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const v2)</td></tr>
<tr class="memdesc:a37f4cb0801309b89498ea22004c60f71"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (v1 != v2) <a href="classoperations__research_1_1_solver.html#a37f4cb0801309b89498ea22004c60f71">More...</a><br /></td></tr>
<tr class="separator:a37f4cb0801309b89498ea22004c60f71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21e692e7b333d7dd72d4b6cc1dbb0b26"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a21e692e7b333d7dd72d4b6cc1dbb0b26">MakeIsDifferentCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const v1, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const v2, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="memdesc:a21e692e7b333d7dd72d4b6cc1dbb0b26"><td class="mdescLeft">&#160;</td><td class="mdescRight">b == (v1 != v2) <a href="classoperations__research_1_1_solver.html#a21e692e7b333d7dd72d4b6cc1dbb0b26">More...</a><br /></td></tr>
<tr class="separator:a21e692e7b333d7dd72d4b6cc1dbb0b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa37d5c7962b1ecd6a7575365efeafd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aaa37d5c7962b1ecd6a7575365efeafd7">MakeNonEquality</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:aaa37d5c7962b1ecd6a7575365efeafd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">left != right <a href="classoperations__research_1_1_solver.html#aaa37d5c7962b1ecd6a7575365efeafd7">More...</a><br /></td></tr>
<tr class="separator:aaa37d5c7962b1ecd6a7575365efeafd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadb83dd349554af1ce158cf9491cd33a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aadb83dd349554af1ce158cf9491cd33a">MakeNonEquality</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:aadb83dd349554af1ce158cf9491cd33a"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr != value <a href="classoperations__research_1_1_solver.html#aadb83dd349554af1ce158cf9491cd33a">More...</a><br /></td></tr>
<tr class="separator:aadb83dd349554af1ce158cf9491cd33a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30ee990a97865308994fb0a3b011a9f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a30ee990a97865308994fb0a3b011a9f0">MakeNonEquality</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, int <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a30ee990a97865308994fb0a3b011a9f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr != value <a href="classoperations__research_1_1_solver.html#a30ee990a97865308994fb0a3b011a9f0">More...</a><br /></td></tr>
<tr class="separator:a30ee990a97865308994fb0a3b011a9f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae435de2b4cd10598e58e2eb171625ac6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae435de2b4cd10598e58e2eb171625ac6">MakeIsLessOrEqualCstCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const boolvar)</td></tr>
<tr class="memdesc:ae435de2b4cd10598e58e2eb171625ac6"><td class="mdescLeft">&#160;</td><td class="mdescRight">boolvar == (var &lt;= value) <a href="classoperations__research_1_1_solver.html#ae435de2b4cd10598e58e2eb171625ac6">More...</a><br /></td></tr>
<tr class="separator:ae435de2b4cd10598e58e2eb171625ac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3383be31deddbda271d3232efce5e70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae3383be31deddbda271d3232efce5e70">MakeIsLessOrEqualCstVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:ae3383be31deddbda271d3232efce5e70"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (var &lt;= value) <a href="classoperations__research_1_1_solver.html#ae3383be31deddbda271d3232efce5e70">More...</a><br /></td></tr>
<tr class="separator:ae3383be31deddbda271d3232efce5e70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbee77155db9657532f8e28b007336bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afbee77155db9657532f8e28b007336bb">MakeIsLessOrEqualVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:afbee77155db9657532f8e28b007336bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (left &lt;= right) <a href="classoperations__research_1_1_solver.html#afbee77155db9657532f8e28b007336bb">More...</a><br /></td></tr>
<tr class="separator:afbee77155db9657532f8e28b007336bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93a90409c3c835856b7ae70fc9d86c79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a93a90409c3c835856b7ae70fc9d86c79">MakeIsLessOrEqualCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="memdesc:a93a90409c3c835856b7ae70fc9d86c79"><td class="mdescLeft">&#160;</td><td class="mdescRight">b == (left &lt;= right) <a href="classoperations__research_1_1_solver.html#a93a90409c3c835856b7ae70fc9d86c79">More...</a><br /></td></tr>
<tr class="separator:a93a90409c3c835856b7ae70fc9d86c79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a233503ed12f669d73f4e50fae345f448"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a233503ed12f669d73f4e50fae345f448">MakeLessOrEqual</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:a233503ed12f669d73f4e50fae345f448"><td class="mdescLeft">&#160;</td><td class="mdescRight">left &lt;= right <a href="classoperations__research_1_1_solver.html#a233503ed12f669d73f4e50fae345f448">More...</a><br /></td></tr>
<tr class="separator:a233503ed12f669d73f4e50fae345f448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9ead37826c4eaedea937dc4b43106d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae9ead37826c4eaedea937dc4b43106d5">MakeLessOrEqual</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:ae9ead37826c4eaedea937dc4b43106d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr &lt;= value <a href="classoperations__research_1_1_solver.html#ae9ead37826c4eaedea937dc4b43106d5">More...</a><br /></td></tr>
<tr class="separator:ae9ead37826c4eaedea937dc4b43106d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6acea1398350fa7def332bb70b8dc50b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6acea1398350fa7def332bb70b8dc50b">MakeLessOrEqual</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, int <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a6acea1398350fa7def332bb70b8dc50b"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr &lt;= value <a href="classoperations__research_1_1_solver.html#a6acea1398350fa7def332bb70b8dc50b">More...</a><br /></td></tr>
<tr class="separator:a6acea1398350fa7def332bb70b8dc50b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2c291ec5263e3082482df81bee6737e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af2c291ec5263e3082482df81bee6737e">MakeIsGreaterOrEqualCstCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const boolvar)</td></tr>
<tr class="memdesc:af2c291ec5263e3082482df81bee6737e"><td class="mdescLeft">&#160;</td><td class="mdescRight">boolvar == (var &gt;= value) <a href="classoperations__research_1_1_solver.html#af2c291ec5263e3082482df81bee6737e">More...</a><br /></td></tr>
<tr class="separator:af2c291ec5263e3082482df81bee6737e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a163e5b0a2ae0d19b86131f0dd5cae257"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a163e5b0a2ae0d19b86131f0dd5cae257">MakeIsGreaterOrEqualCstVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a163e5b0a2ae0d19b86131f0dd5cae257"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (var &gt;= value) <a href="classoperations__research_1_1_solver.html#a163e5b0a2ae0d19b86131f0dd5cae257">More...</a><br /></td></tr>
<tr class="separator:a163e5b0a2ae0d19b86131f0dd5cae257"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2ee342625cccdeda58ec02d2dfddcbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af2ee342625cccdeda58ec02d2dfddcbe">MakeIsGreaterOrEqualVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:af2ee342625cccdeda58ec02d2dfddcbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (left &gt;= right) <a href="classoperations__research_1_1_solver.html#af2ee342625cccdeda58ec02d2dfddcbe">More...</a><br /></td></tr>
<tr class="separator:af2ee342625cccdeda58ec02d2dfddcbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af317a515d70c6fe9b88a56bc0342baf7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af317a515d70c6fe9b88a56bc0342baf7">MakeIsGreaterOrEqualCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="memdesc:af317a515d70c6fe9b88a56bc0342baf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">b == (left &gt;= right) <a href="classoperations__research_1_1_solver.html#af317a515d70c6fe9b88a56bc0342baf7">More...</a><br /></td></tr>
<tr class="separator:af317a515d70c6fe9b88a56bc0342baf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec68a2a29292f367d4ea1fdd95d1f5c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aec68a2a29292f367d4ea1fdd95d1f5c9">MakeGreaterOrEqual</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:aec68a2a29292f367d4ea1fdd95d1f5c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">left &gt;= right <a href="classoperations__research_1_1_solver.html#aec68a2a29292f367d4ea1fdd95d1f5c9">More...</a><br /></td></tr>
<tr class="separator:aec68a2a29292f367d4ea1fdd95d1f5c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab0213c4bf2cd1e6b33c1d8fb908e796"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aab0213c4bf2cd1e6b33c1d8fb908e796">MakeGreaterOrEqual</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:aab0213c4bf2cd1e6b33c1d8fb908e796"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr &gt;= value <a href="classoperations__research_1_1_solver.html#aab0213c4bf2cd1e6b33c1d8fb908e796">More...</a><br /></td></tr>
<tr class="separator:aab0213c4bf2cd1e6b33c1d8fb908e796"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5a88b8b5ae7d8a03052b00db7dc931e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac5a88b8b5ae7d8a03052b00db7dc931e">MakeGreaterOrEqual</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, int <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:ac5a88b8b5ae7d8a03052b00db7dc931e"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr &gt;= value <a href="classoperations__research_1_1_solver.html#ac5a88b8b5ae7d8a03052b00db7dc931e">More...</a><br /></td></tr>
<tr class="separator:ac5a88b8b5ae7d8a03052b00db7dc931e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4af376ae47ebc3763411e9506a561991"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4af376ae47ebc3763411e9506a561991">MakeIsGreaterCstCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> c, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="memdesc:a4af376ae47ebc3763411e9506a561991"><td class="mdescLeft">&#160;</td><td class="mdescRight">b == (v &gt; c) <a href="classoperations__research_1_1_solver.html#a4af376ae47ebc3763411e9506a561991">More...</a><br /></td></tr>
<tr class="separator:a4af376ae47ebc3763411e9506a561991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adee7deb637db9ce9063ae927c6b7ae58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#adee7deb637db9ce9063ae927c6b7ae58">MakeIsGreaterCstVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:adee7deb637db9ce9063ae927c6b7ae58"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (var &gt; value) <a href="classoperations__research_1_1_solver.html#adee7deb637db9ce9063ae927c6b7ae58">More...</a><br /></td></tr>
<tr class="separator:adee7deb637db9ce9063ae927c6b7ae58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a253ce358e3385b12c90e428df5e149e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a253ce358e3385b12c90e428df5e149e3">MakeIsGreaterVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:a253ce358e3385b12c90e428df5e149e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (left &gt; right) <a href="classoperations__research_1_1_solver.html#a253ce358e3385b12c90e428df5e149e3">More...</a><br /></td></tr>
<tr class="separator:a253ce358e3385b12c90e428df5e149e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad44a208d35ca938ae9564e5e26687cde"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad44a208d35ca938ae9564e5e26687cde">MakeIsGreaterCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="memdesc:ad44a208d35ca938ae9564e5e26687cde"><td class="mdescLeft">&#160;</td><td class="mdescRight">b == (left &gt; right) <a href="classoperations__research_1_1_solver.html#ad44a208d35ca938ae9564e5e26687cde">More...</a><br /></td></tr>
<tr class="separator:ad44a208d35ca938ae9564e5e26687cde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3acffe26a83237c5ff730b6ee4b81c94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3acffe26a83237c5ff730b6ee4b81c94">MakeGreater</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:a3acffe26a83237c5ff730b6ee4b81c94"><td class="mdescLeft">&#160;</td><td class="mdescRight">left &gt; right <a href="classoperations__research_1_1_solver.html#a3acffe26a83237c5ff730b6ee4b81c94">More...</a><br /></td></tr>
<tr class="separator:a3acffe26a83237c5ff730b6ee4b81c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a827ac0b1b71dec87b5b9fcf76af5f925"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a827ac0b1b71dec87b5b9fcf76af5f925">MakeGreater</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a827ac0b1b71dec87b5b9fcf76af5f925"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr &gt; value <a href="classoperations__research_1_1_solver.html#a827ac0b1b71dec87b5b9fcf76af5f925">More...</a><br /></td></tr>
<tr class="separator:a827ac0b1b71dec87b5b9fcf76af5f925"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a635a8438145d7e0816bc025c24f6e90d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a635a8438145d7e0816bc025c24f6e90d">MakeGreater</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, int <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a635a8438145d7e0816bc025c24f6e90d"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr &gt; value <a href="classoperations__research_1_1_solver.html#a635a8438145d7e0816bc025c24f6e90d">More...</a><br /></td></tr>
<tr class="separator:a635a8438145d7e0816bc025c24f6e90d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27a55b93921ded4524b5d3d856becfeb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a27a55b93921ded4524b5d3d856becfeb">MakeIsLessCstCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> c, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="memdesc:a27a55b93921ded4524b5d3d856becfeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">b == (v &lt; c) <a href="classoperations__research_1_1_solver.html#a27a55b93921ded4524b5d3d856becfeb">More...</a><br /></td></tr>
<tr class="separator:a27a55b93921ded4524b5d3d856becfeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addc66dbef984ddcc2dfa21e3d4d60c6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#addc66dbef984ddcc2dfa21e3d4d60c6b">MakeIsLessCstVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:addc66dbef984ddcc2dfa21e3d4d60c6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (var &lt; value) <a href="classoperations__research_1_1_solver.html#addc66dbef984ddcc2dfa21e3d4d60c6b">More...</a><br /></td></tr>
<tr class="separator:addc66dbef984ddcc2dfa21e3d4d60c6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaadfa527b0411d38dbc0d5914814cc1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aaaadfa527b0411d38dbc0d5914814cc1">MakeIsLessVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:aaaadfa527b0411d38dbc0d5914814cc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">status var of (left &lt; right) <a href="classoperations__research_1_1_solver.html#aaaadfa527b0411d38dbc0d5914814cc1">More...</a><br /></td></tr>
<tr class="separator:aaaadfa527b0411d38dbc0d5914814cc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a626142a335c69b8aefa24c5082033c7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a626142a335c69b8aefa24c5082033c7b">MakeIsLessCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="memdesc:a626142a335c69b8aefa24c5082033c7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">b == (left &lt; right) <a href="classoperations__research_1_1_solver.html#a626142a335c69b8aefa24c5082033c7b">More...</a><br /></td></tr>
<tr class="separator:a626142a335c69b8aefa24c5082033c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a199b73a65e10bcf7c43f391abb06e9f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a199b73a65e10bcf7c43f391abb06e9f7">MakeLess</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const left, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const right)</td></tr>
<tr class="memdesc:a199b73a65e10bcf7c43f391abb06e9f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">left &lt; right <a href="classoperations__research_1_1_solver.html#a199b73a65e10bcf7c43f391abb06e9f7">More...</a><br /></td></tr>
<tr class="separator:a199b73a65e10bcf7c43f391abb06e9f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6b352c72908e584ca4731c097f1d1bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af6b352c72908e584ca4731c097f1d1bc">MakeLess</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:af6b352c72908e584ca4731c097f1d1bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr &lt; value <a href="classoperations__research_1_1_solver.html#af6b352c72908e584ca4731c097f1d1bc">More...</a><br /></td></tr>
<tr class="separator:af6b352c72908e584ca4731c097f1d1bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25d18071297935ff4160442ae7c56c27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a25d18071297935ff4160442ae7c56c27">MakeLess</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, int <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="memdesc:a25d18071297935ff4160442ae7c56c27"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr &lt; value <a href="classoperations__research_1_1_solver.html#a25d18071297935ff4160442ae7c56c27">More...</a><br /></td></tr>
<tr class="separator:a25d18071297935ff4160442ae7c56c27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3401c09ef84f2b059aafb101bc1661e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad3401c09ef84f2b059aafb101bc1661e">MakeSumLessOrEqual</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> cst)</td></tr>
<tr class="memdesc:ad3401c09ef84f2b059aafb101bc1661e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variation on arrays. <a href="classoperations__research_1_1_solver.html#ad3401c09ef84f2b059aafb101bc1661e">More...</a><br /></td></tr>
<tr class="separator:ad3401c09ef84f2b059aafb101bc1661e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4a0a8332c9a638454680b3755f519ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af4a0a8332c9a638454680b3755f519ba">MakeSumGreaterOrEqual</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> cst)</td></tr>
<tr class="separator:af4a0a8332c9a638454680b3755f519ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a894fb1205df2bca78fab2be8ff92b88f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a894fb1205df2bca78fab2be8ff92b88f">MakeSumEquality</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> cst)</td></tr>
<tr class="separator:a894fb1205df2bca78fab2be8ff92b88f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec6401c023dab782b331b0238c6ff5e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aec6401c023dab782b331b0238c6ff5e4">MakeSumEquality</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>)</td></tr>
<tr class="separator:aec6401c023dab782b331b0238c6ff5e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd751badd79a96a78ead178e15ce1889"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afd751badd79a96a78ead178e15ce1889">MakeScalProdEquality</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;<a class="el" href="sat_2lp__utils_8cc.html#ab1734711414da2e668957d24a41b1ddf">coefficients</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> cst)</td></tr>
<tr class="separator:afd751badd79a96a78ead178e15ce1889"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb4aa121bc38a7e4e5bc55d7b6c38255"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afb4aa121bc38a7e4e5bc55d7b6c38255">MakeScalProdEquality</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;<a class="el" href="sat_2lp__utils_8cc.html#ab1734711414da2e668957d24a41b1ddf">coefficients</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> cst)</td></tr>
<tr class="separator:afb4aa121bc38a7e4e5bc55d7b6c38255"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a770aca9c5eee3408550582c4041a542a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a770aca9c5eee3408550582c4041a542a">MakeScalProdEquality</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;<a class="el" href="sat_2lp__utils_8cc.html#ab1734711414da2e668957d24a41b1ddf">coefficients</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const target)</td></tr>
<tr class="separator:a770aca9c5eee3408550582c4041a542a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cb4f284364b6aa084c48de17678399a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5cb4f284364b6aa084c48de17678399a">MakeScalProdEquality</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;<a class="el" href="sat_2lp__utils_8cc.html#ab1734711414da2e668957d24a41b1ddf">coefficients</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const target)</td></tr>
<tr class="separator:a5cb4f284364b6aa084c48de17678399a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9757aaa6eb766ddafe22055f295af3b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a9757aaa6eb766ddafe22055f295af3b9">MakeScalProdGreaterOrEqual</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;coeffs, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> cst)</td></tr>
<tr class="separator:a9757aaa6eb766ddafe22055f295af3b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca0ac31204db5d354db0c63de8ef0966"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aca0ac31204db5d354db0c63de8ef0966">MakeScalProdGreaterOrEqual</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;coeffs, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> cst)</td></tr>
<tr class="separator:aca0ac31204db5d354db0c63de8ef0966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e2fa19092cefddf0079e3368d74fe3b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6e2fa19092cefddf0079e3368d74fe3b">MakeScalProdLessOrEqual</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;<a class="el" href="sat_2lp__utils_8cc.html#ab1734711414da2e668957d24a41b1ddf">coefficients</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> cst)</td></tr>
<tr class="separator:a6e2fa19092cefddf0079e3368d74fe3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e01cb32d85e77883420829e827a0547"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6e01cb32d85e77883420829e827a0547">MakeScalProdLessOrEqual</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;<a class="el" href="sat_2lp__utils_8cc.html#ab1734711414da2e668957d24a41b1ddf">coefficients</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> cst)</td></tr>
<tr class="separator:a6e01cb32d85e77883420829e827a0547"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf4b4c9f1cc7a6f674a721a5943034af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#adf4b4c9f1cc7a6f674a721a5943034af">MakeMinEquality</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const min_var)</td></tr>
<tr class="separator:adf4b4c9f1cc7a6f674a721a5943034af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f94e0e067e2b294237e14f0dfd5aaa7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6f94e0e067e2b294237e14f0dfd5aaa7">MakeMaxEquality</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const max_var)</td></tr>
<tr class="separator:a6f94e0e067e2b294237e14f0dfd5aaa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add0ab03e6773b9317ef15f667e9e08ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#add0ab03e6773b9317ef15f667e9e08ad">MakeElementEquality</a> (const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;vals, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const target)</td></tr>
<tr class="separator:add0ab03e6773b9317ef15f667e9e08ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dacaf3594ba4371238e9d69ba778151"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7dacaf3594ba4371238e9d69ba778151">MakeElementEquality</a> (const std::vector&lt; int &gt; &amp;vals, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const target)</td></tr>
<tr class="separator:a7dacaf3594ba4371238e9d69ba778151"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2988304a57c8b68fdd6ea271259d0143"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2988304a57c8b68fdd6ea271259d0143">MakeElementEquality</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const target)</td></tr>
<tr class="separator:a2988304a57c8b68fdd6ea271259d0143"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dd140f52dd2059ffd9a1f7cbe431fb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3dd140f52dd2059ffd9a1f7cbe431fb8">MakeElementEquality</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> target)</td></tr>
<tr class="separator:a3dd140f52dd2059ffd9a1f7cbe431fb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fff62e191cecd9c73a05eeb4d386914"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2fff62e191cecd9c73a05eeb4d386914">MakeAbsEquality</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const abs_var)</td></tr>
<tr class="memdesc:a2fff62e191cecd9c73a05eeb4d386914"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates the constraint abs(var) == abs_var. <a href="classoperations__research_1_1_solver.html#a2fff62e191cecd9c73a05eeb4d386914">More...</a><br /></td></tr>
<tr class="separator:a2fff62e191cecd9c73a05eeb4d386914"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada8a8369cc464a2d428cd369228acec1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ada8a8369cc464a2d428cd369228acec1">MakeIndexOfConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> target)</td></tr>
<tr class="memdesc:ada8a8369cc464a2d428cd369228acec1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint is a special case of the element constraint with an array of integer variables, where the variables are all different and the index variable is constrained such that vars[index] == target. <a href="classoperations__research_1_1_solver.html#ada8a8369cc464a2d428cd369228acec1">More...</a><br /></td></tr>
<tr class="separator:ada8a8369cc464a2d428cd369228acec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a757134fa69300766dced7f3ed9cd1810"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a757134fa69300766dced7f3ed9cd1810">MakeConstraintInitialPropagateCallback</a> (<a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *const <a class="el" href="demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695">ct</a>)</td></tr>
<tr class="memdesc:a757134fa69300766dced7f3ed9cd1810"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of the constraint 'ct'. <a href="classoperations__research_1_1_solver.html#a757134fa69300766dced7f3ed9cd1810">More...</a><br /></td></tr>
<tr class="separator:a757134fa69300766dced7f3ed9cd1810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac46ae3a82d68424788c0eabc3d4b838c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac46ae3a82d68424788c0eabc3d4b838c">MakeDelayedConstraintInitialPropagateCallback</a> (<a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *const <a class="el" href="demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695">ct</a>)</td></tr>
<tr class="memdesc:ac46ae3a82d68424788c0eabc3d4b838c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of the constraint 'ct' with low priority. <a href="classoperations__research_1_1_solver.html#ac46ae3a82d68424788c0eabc3d4b838c">More...</a><br /></td></tr>
<tr class="separator:ac46ae3a82d68424788c0eabc3d4b838c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f0e3322d5ae085dc9958c4fd5329918"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3f0e3322d5ae085dc9958c4fd5329918">MakeActionDemon</a> (<a class="el" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> action)</td></tr>
<tr class="memdesc:a3f0e3322d5ae085dc9958c4fd5329918"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a demon from a callback. <a href="classoperations__research_1_1_solver.html#a3f0e3322d5ae085dc9958c4fd5329918">More...</a><br /></td></tr>
<tr class="separator:a3f0e3322d5ae085dc9958c4fd5329918"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59234ab632db0df159df6a15f32d904a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a59234ab632db0df159df6a15f32d904a">MakeClosureDemon</a> (<a class="el" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Closure</a> closure)</td></tr>
<tr class="memdesc:a59234ab632db0df159df6a15f32d904a"><td class="mdescLeft">&#160;</td><td class="mdescRight">!defined(SWIG) <a href="classoperations__research_1_1_solver.html#a59234ab632db0df159df6a15f32d904a">More...</a><br /></td></tr>
<tr class="separator:a59234ab632db0df159df6a15f32d904a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4327fa8b54b0126c8cf52628aa5a6943"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4327fa8b54b0126c8cf52628aa5a6943">MakeBetweenCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> l, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> u)</td></tr>
<tr class="memdesc:a4327fa8b54b0126c8cf52628aa5a6943"><td class="mdescLeft">&#160;</td><td class="mdescRight">(l &lt;= expr &lt;= u) <a href="classoperations__research_1_1_solver.html#a4327fa8b54b0126c8cf52628aa5a6943">More...</a><br /></td></tr>
<tr class="separator:a4327fa8b54b0126c8cf52628aa5a6943"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39431073dfb17274b3274cc1186c9593"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a39431073dfb17274b3274cc1186c9593">MakeNotBetweenCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> l, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> u)</td></tr>
<tr class="memdesc:a39431073dfb17274b3274cc1186c9593"><td class="mdescLeft">&#160;</td><td class="mdescRight">(expr &lt; l || expr &gt; u) This constraint is lazy as it will not make holes in the domain of variables. <a href="classoperations__research_1_1_solver.html#a39431073dfb17274b3274cc1186c9593">More...</a><br /></td></tr>
<tr class="separator:a39431073dfb17274b3274cc1186c9593"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e371bd5621abb4d1d0b8f55baeb8f3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7e371bd5621abb4d1d0b8f55baeb8f3f">MakeIsBetweenCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> l, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> u, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="memdesc:a7e371bd5621abb4d1d0b8f55baeb8f3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">b == (l &lt;= expr &lt;= u) <a href="classoperations__research_1_1_solver.html#a7e371bd5621abb4d1d0b8f55baeb8f3f">More...</a><br /></td></tr>
<tr class="separator:a7e371bd5621abb4d1d0b8f55baeb8f3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1244adc579624a014f3adfdebe5481c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab1244adc579624a014f3adfdebe5481c">MakeIsBetweenVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> l, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> u)</td></tr>
<tr class="separator:ab1244adc579624a014f3adfdebe5481c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a043222154f86ed9d4817312c65cb3555"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a043222154f86ed9d4817312c65cb3555">MakeMemberCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;values)</td></tr>
<tr class="memdesc:a043222154f86ed9d4817312c65cb3555"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr in set. <a href="classoperations__research_1_1_solver.html#a043222154f86ed9d4817312c65cb3555">More...</a><br /></td></tr>
<tr class="separator:a043222154f86ed9d4817312c65cb3555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3882fe2a352a093187ede78f9e532035"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3882fe2a352a093187ede78f9e532035">MakeMemberCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, const std::vector&lt; int &gt; &amp;values)</td></tr>
<tr class="separator:a3882fe2a352a093187ede78f9e532035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f41ed90da905d301ce7b35c3b382831"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6f41ed90da905d301ce7b35c3b382831">MakeNotMemberCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;values)</td></tr>
<tr class="memdesc:a6f41ed90da905d301ce7b35c3b382831"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr not in set. <a href="classoperations__research_1_1_solver.html#a6f41ed90da905d301ce7b35c3b382831">More...</a><br /></td></tr>
<tr class="separator:a6f41ed90da905d301ce7b35c3b382831"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5701706ae773c6626d2f0b79892e61d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5701706ae773c6626d2f0b79892e61d9">MakeNotMemberCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, const std::vector&lt; int &gt; &amp;values)</td></tr>
<tr class="separator:a5701706ae773c6626d2f0b79892e61d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2b2edd413682d6ee5c28f5f762034a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac2b2edd413682d6ee5c28f5f762034a2">MakeNotMemberCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; starts, std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; ends)</td></tr>
<tr class="memdesc:ac2b2edd413682d6ee5c28f5f762034a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr should not be in the list of forbidden intervals [start[i]..end[i]]. <a href="classoperations__research_1_1_solver.html#ac2b2edd413682d6ee5c28f5f762034a2">More...</a><br /></td></tr>
<tr class="separator:ac2b2edd413682d6ee5c28f5f762034a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bd156c8498d15a6f3993b695ebb9d51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a9bd156c8498d15a6f3993b695ebb9d51">MakeNotMemberCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, std::vector&lt; int &gt; starts, std::vector&lt; int &gt; ends)</td></tr>
<tr class="memdesc:a9bd156c8498d15a6f3993b695ebb9d51"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr should not be in the list of forbidden intervals [start[i]..end[i]]. <a href="classoperations__research_1_1_solver.html#a9bd156c8498d15a6f3993b695ebb9d51">More...</a><br /></td></tr>
<tr class="separator:a9bd156c8498d15a6f3993b695ebb9d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d8d56f97ecfa5148d9073ea4e7a09b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5d8d56f97ecfa5148d9073ea4e7a09b6">MakeNotMemberCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *expr, <a class="el" href="classoperations__research_1_1_sorted_disjoint_interval_list.html">SortedDisjointIntervalList</a> intervals)</td></tr>
<tr class="memdesc:a5d8d56f97ecfa5148d9073ea4e7a09b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">expr should not be in the list of forbidden intervals. <a href="classoperations__research_1_1_solver.html#a5d8d56f97ecfa5148d9073ea4e7a09b6">More...</a><br /></td></tr>
<tr class="separator:a5d8d56f97ecfa5148d9073ea4e7a09b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6eea4f3826f7d85dd02560c30a29663"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab6eea4f3826f7d85dd02560c30a29663">MakeIsMemberCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;values, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const boolvar)</td></tr>
<tr class="memdesc:ab6eea4f3826f7d85dd02560c30a29663"><td class="mdescLeft">&#160;</td><td class="mdescRight">boolvar == (expr in set) <a href="classoperations__research_1_1_solver.html#ab6eea4f3826f7d85dd02560c30a29663">More...</a><br /></td></tr>
<tr class="separator:ab6eea4f3826f7d85dd02560c30a29663"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adedce71d13d901cec6c4c8ff80b10377"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#adedce71d13d901cec6c4c8ff80b10377">MakeIsMemberCt</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, const std::vector&lt; int &gt; &amp;values, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const boolvar)</td></tr>
<tr class="separator:adedce71d13d901cec6c4c8ff80b10377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a699879fea978790163f10db7d445afbb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a699879fea978790163f10db7d445afbb">MakeIsMemberVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;values)</td></tr>
<tr class="separator:a699879fea978790163f10db7d445afbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95dadc61fe3a5d03148b48898a76ba08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a95dadc61fe3a5d03148b48898a76ba08">MakeIsMemberVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, const std::vector&lt; int &gt; &amp;values)</td></tr>
<tr class="separator:a95dadc61fe3a5d03148b48898a76ba08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8288e9ee5ea618c2644edf72b718b26b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a8288e9ee5ea618c2644edf72b718b26b">MakeAtMost</a> (std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> max_count)</td></tr>
<tr class="memdesc:a8288e9ee5ea618c2644edf72b718b26b"><td class="mdescLeft">&#160;</td><td class="mdescRight">|{i | vars[i] == value}| &lt;= max_count <a href="classoperations__research_1_1_solver.html#a8288e9ee5ea618c2644edf72b718b26b">More...</a><br /></td></tr>
<tr class="separator:a8288e9ee5ea618c2644edf72b718b26b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0a075064f92e8b5eb071fe42ac9ab47"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac0a075064f92e8b5eb071fe42ac9ab47">MakeCount</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> max_count)</td></tr>
<tr class="memdesc:ac0a075064f92e8b5eb071fe42ac9ab47"><td class="mdescLeft">&#160;</td><td class="mdescRight">|{i | vars[i] == value}| == max_count <a href="classoperations__research_1_1_solver.html#ac0a075064f92e8b5eb071fe42ac9ab47">More...</a><br /></td></tr>
<tr class="separator:ac0a075064f92e8b5eb071fe42ac9ab47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a225b1f097c33764ba8b00e27e1f72f11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a225b1f097c33764ba8b00e27e1f72f11">MakeCount</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const max_count)</td></tr>
<tr class="memdesc:a225b1f097c33764ba8b00e27e1f72f11"><td class="mdescLeft">&#160;</td><td class="mdescRight">|{i | vars[i] == value}| == max_count <a href="classoperations__research_1_1_solver.html#a225b1f097c33764ba8b00e27e1f72f11">More...</a><br /></td></tr>
<tr class="separator:a225b1f097c33764ba8b00e27e1f72f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a806cf614c19001fbacaa41a918534ca9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a806cf614c19001fbacaa41a918534ca9">MakeDistribute</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;values, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;cards)</td></tr>
<tr class="memdesc:a806cf614c19001fbacaa41a918534ca9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aggregated version of count: |{i | v[i] == values[j]}| == cards[j]. <a href="classoperations__research_1_1_solver.html#a806cf614c19001fbacaa41a918534ca9">More...</a><br /></td></tr>
<tr class="separator:a806cf614c19001fbacaa41a918534ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee1a846454b8c2e5f38a8e030343e24f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aee1a846454b8c2e5f38a8e030343e24f">MakeDistribute</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;values, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;cards)</td></tr>
<tr class="memdesc:aee1a846454b8c2e5f38a8e030343e24f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aggregated version of count: |{i | v[i] == values[j]}| == cards[j]. <a href="classoperations__research_1_1_solver.html#aee1a846454b8c2e5f38a8e030343e24f">More...</a><br /></td></tr>
<tr class="separator:aee1a846454b8c2e5f38a8e030343e24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9535e1e548aac3b91310c82b71bf6d22"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a9535e1e548aac3b91310c82b71bf6d22">MakeDistribute</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;cards)</td></tr>
<tr class="memdesc:a9535e1e548aac3b91310c82b71bf6d22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aggregated version of count: |{i | v[i] == j}| == cards[j]. <a href="classoperations__research_1_1_solver.html#a9535e1e548aac3b91310c82b71bf6d22">More...</a><br /></td></tr>
<tr class="separator:a9535e1e548aac3b91310c82b71bf6d22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f8e32de703e02a99166f626f069d582"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5f8e32de703e02a99166f626f069d582">MakeDistribute</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> card_min, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> card_max, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> card_size)</td></tr>
<tr class="memdesc:a5f8e32de703e02a99166f626f069d582"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aggregated version of count with bounded cardinalities: forall j in 0 . <a href="classoperations__research_1_1_solver.html#a5f8e32de703e02a99166f626f069d582">More...</a><br /></td></tr>
<tr class="separator:a5f8e32de703e02a99166f626f069d582"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75d29d67ab94e0e0b3553ab24bb89527"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a75d29d67ab94e0e0b3553ab24bb89527">MakeDistribute</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;card_min, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;card_max)</td></tr>
<tr class="memdesc:a75d29d67ab94e0e0b3553ab24bb89527"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aggregated version of count with bounded cardinalities: forall j in 0 . <a href="classoperations__research_1_1_solver.html#a75d29d67ab94e0e0b3553ab24bb89527">More...</a><br /></td></tr>
<tr class="separator:a75d29d67ab94e0e0b3553ab24bb89527"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ddd8656b185d1ec97ba582431c39787"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a9ddd8656b185d1ec97ba582431c39787">MakeDistribute</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;card_min, const std::vector&lt; int &gt; &amp;card_max)</td></tr>
<tr class="memdesc:a9ddd8656b185d1ec97ba582431c39787"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aggregated version of count with bounded cardinalities: forall j in 0 . <a href="classoperations__research_1_1_solver.html#a9ddd8656b185d1ec97ba582431c39787">More...</a><br /></td></tr>
<tr class="separator:a9ddd8656b185d1ec97ba582431c39787"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47892131fffd78b176ce54a2ebbcb9ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a47892131fffd78b176ce54a2ebbcb9ae">MakeDistribute</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;values, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;card_min, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;card_max)</td></tr>
<tr class="memdesc:a47892131fffd78b176ce54a2ebbcb9ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aggregated version of count with bounded cardinalities: forall j in 0 . <a href="classoperations__research_1_1_solver.html#a47892131fffd78b176ce54a2ebbcb9ae">More...</a><br /></td></tr>
<tr class="separator:a47892131fffd78b176ce54a2ebbcb9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd3decca8be2b860ad07a2755cd1405c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afd3decca8be2b860ad07a2755cd1405c">MakeDistribute</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;values, const std::vector&lt; int &gt; &amp;card_min, const std::vector&lt; int &gt; &amp;card_max)</td></tr>
<tr class="memdesc:afd3decca8be2b860ad07a2755cd1405c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aggregated version of count with bounded cardinalities: forall j in 0 . <a href="classoperations__research_1_1_solver.html#afd3decca8be2b860ad07a2755cd1405c">More...</a><br /></td></tr>
<tr class="separator:afd3decca8be2b860ad07a2755cd1405c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f0d4776441fdd11e965e2587f1b7a82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0f0d4776441fdd11e965e2587f1b7a82">MakeDeviation</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const deviation_var, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> total_sum)</td></tr>
<tr class="memdesc:a0f0d4776441fdd11e965e2587f1b7a82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deviation constraint: sum_i |n * vars[i] - total_sum| &lt;= deviation_var and sum_i vars[i] == total_sum n = #vars. <a href="classoperations__research_1_1_solver.html#a0f0d4776441fdd11e965e2587f1b7a82">More...</a><br /></td></tr>
<tr class="separator:a0f0d4776441fdd11e965e2587f1b7a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac145423b7d355bcd75d627871ca95e86"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac145423b7d355bcd75d627871ca95e86">MakeAllDifferent</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars)</td></tr>
<tr class="memdesc:ac145423b7d355bcd75d627871ca95e86"><td class="mdescLeft">&#160;</td><td class="mdescRight">All variables are pairwise different. <a href="classoperations__research_1_1_solver.html#ac145423b7d355bcd75d627871ca95e86">More...</a><br /></td></tr>
<tr class="separator:ac145423b7d355bcd75d627871ca95e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ab1471e27355b524a9a50b8e8386717"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5ab1471e27355b524a9a50b8e8386717">MakeAllDifferent</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, bool stronger_propagation)</td></tr>
<tr class="memdesc:a5ab1471e27355b524a9a50b8e8386717"><td class="mdescLeft">&#160;</td><td class="mdescRight">All variables are pairwise different. <a href="classoperations__research_1_1_solver.html#a5ab1471e27355b524a9a50b8e8386717">More...</a><br /></td></tr>
<tr class="separator:a5ab1471e27355b524a9a50b8e8386717"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a538951377d369ae5381c71cd876d621a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a538951377d369ae5381c71cd876d621a">MakeAllDifferentExcept</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> escape_value)</td></tr>
<tr class="memdesc:a538951377d369ae5381c71cd876d621a"><td class="mdescLeft">&#160;</td><td class="mdescRight">All variables are pairwise different, unless they are assigned to the escape value. <a href="classoperations__research_1_1_solver.html#a538951377d369ae5381c71cd876d621a">More...</a><br /></td></tr>
<tr class="separator:a538951377d369ae5381c71cd876d621a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac14b4f9be9e760378da86da1bc2abd00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac14b4f9be9e760378da86da1bc2abd00">MakeSortingConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;sorted)</td></tr>
<tr class="memdesc:ac14b4f9be9e760378da86da1bc2abd00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint binding the arrays of variables "vars" and "sorted_vars": sorted_vars[0] must be equal to the minimum of all variables in vars, and so on: the value of sorted_vars[i] must be equal to the i-th value of variables invars. <a href="classoperations__research_1_1_solver.html#ac14b4f9be9e760378da86da1bc2abd00">More...</a><br /></td></tr>
<tr class="separator:ac14b4f9be9e760378da86da1bc2abd00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41bc583e647b18a0b71d07859581e640"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a41bc583e647b18a0b71d07859581e640">MakeLexicalLess</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;left, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;right)</td></tr>
<tr class="memdesc:a41bc583e647b18a0b71d07859581e640"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint that enforces that left is lexicographically less than right. <a href="classoperations__research_1_1_solver.html#a41bc583e647b18a0b71d07859581e640">More...</a><br /></td></tr>
<tr class="separator:a41bc583e647b18a0b71d07859581e640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8acdedd57a41a9cf6e607bdd8e20f02b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a8acdedd57a41a9cf6e607bdd8e20f02b">MakeLexicalLessOrEqual</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;left, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;right)</td></tr>
<tr class="memdesc:a8acdedd57a41a9cf6e607bdd8e20f02b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint that enforces that left is lexicographically less than or equal to right. <a href="classoperations__research_1_1_solver.html#a8acdedd57a41a9cf6e607bdd8e20f02b">More...</a><br /></td></tr>
<tr class="separator:a8acdedd57a41a9cf6e607bdd8e20f02b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc32f3a80394fd12e8fc7f22e20c34ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abc32f3a80394fd12e8fc7f22e20c34ca">MakeInversePermutationConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;left, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;right)</td></tr>
<tr class="memdesc:abc32f3a80394fd12e8fc7f22e20c34ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint that enforces that 'left' and 'right' both represent permutations of [0..left.size()-1], and that 'right' is the inverse permutation of 'left', i.e. <a href="classoperations__research_1_1_solver.html#abc32f3a80394fd12e8fc7f22e20c34ca">More...</a><br /></td></tr>
<tr class="separator:abc32f3a80394fd12e8fc7f22e20c34ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add19a54159cf1d9d075474b977a8788f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#add19a54159cf1d9d075474b977a8788f">MakeIndexOfFirstMaxValueConstraint</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *<a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars)</td></tr>
<tr class="memdesc:add19a54159cf1d9d075474b977a8788f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint that binds the index variable to the index of the first variable with the maximum value. <a href="classoperations__research_1_1_solver.html#add19a54159cf1d9d075474b977a8788f">More...</a><br /></td></tr>
<tr class="separator:add19a54159cf1d9d075474b977a8788f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b761ab631609dadf6e6d06432853051"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2b761ab631609dadf6e6d06432853051">MakeIndexOfFirstMinValueConstraint</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *<a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars)</td></tr>
<tr class="memdesc:a2b761ab631609dadf6e6d06432853051"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint that binds the index variable to the index of the first variable with the minimum value. <a href="classoperations__research_1_1_solver.html#a2b761ab631609dadf6e6d06432853051">More...</a><br /></td></tr>
<tr class="separator:a2b761ab631609dadf6e6d06432853051"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a244b2a437a5d33e9c08c747988c8f830"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a244b2a437a5d33e9c08c747988c8f830">MakeNullIntersect</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;first_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;second_vars)</td></tr>
<tr class="memdesc:a244b2a437a5d33e9c08c747988c8f830"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint that states that all variables in the first vector are different from all variables in the second group. <a href="classoperations__research_1_1_solver.html#a244b2a437a5d33e9c08c747988c8f830">More...</a><br /></td></tr>
<tr class="separator:a244b2a437a5d33e9c08c747988c8f830"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1899c19a3c4f7dcdb98967aefa61f154"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1899c19a3c4f7dcdb98967aefa61f154">MakeNullIntersectExcept</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;first_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;second_vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> escape_value)</td></tr>
<tr class="memdesc:a1899c19a3c4f7dcdb98967aefa61f154"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint that states that all variables in the first vector are different from all variables from the second group, unless they are assigned to the escape value. <a href="classoperations__research_1_1_solver.html#a1899c19a3c4f7dcdb98967aefa61f154">More...</a><br /></td></tr>
<tr class="separator:a1899c19a3c4f7dcdb98967aefa61f154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af86d4d3fd4b1b37d56a50a0a6c7628d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af86d4d3fd4b1b37d56a50a0a6c7628d6">MakeNoCycle</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;nexts, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;active, <a class="el" href="classoperations__research_1_1_solver.html#a021ae5a2766d4ccaa133a5bbb5398464">IndexFilter1</a> sink_handler=nullptr)</td></tr>
<tr class="memdesc:af86d4d3fd4b1b37d56a50a0a6c7628d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent cycles. <a href="classoperations__research_1_1_solver.html#af86d4d3fd4b1b37d56a50a0a6c7628d6">More...</a><br /></td></tr>
<tr class="separator:af86d4d3fd4b1b37d56a50a0a6c7628d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81fb93226e8adf2f9131624b7a0eaba3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a81fb93226e8adf2f9131624b7a0eaba3">MakeNoCycle</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;nexts, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;active, <a class="el" href="classoperations__research_1_1_solver.html#a021ae5a2766d4ccaa133a5bbb5398464">IndexFilter1</a> sink_handler, bool assume_paths)</td></tr>
<tr class="separator:a81fb93226e8adf2f9131624b7a0eaba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a399fa67037695a2651e9e9c49ec1e014"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a399fa67037695a2651e9e9c49ec1e014">MakeCircuit</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;nexts)</td></tr>
<tr class="memdesc:a399fa67037695a2651e9e9c49ec1e014"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force the "nexts" variable to create a complete Hamiltonian path. <a href="classoperations__research_1_1_solver.html#a399fa67037695a2651e9e9c49ec1e014">More...</a><br /></td></tr>
<tr class="separator:a399fa67037695a2651e9e9c49ec1e014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c08fc5456634780867df83cff1d8a54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1c08fc5456634780867df83cff1d8a54">MakeSubCircuit</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;nexts)</td></tr>
<tr class="memdesc:a1c08fc5456634780867df83cff1d8a54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force the "nexts" variable to create a complete Hamiltonian path for those that do not loop upon themselves. <a href="classoperations__research_1_1_solver.html#a1c08fc5456634780867df83cff1d8a54">More...</a><br /></td></tr>
<tr class="separator:a1c08fc5456634780867df83cff1d8a54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad66fddae43e332f97a4adc47624b799b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad66fddae43e332f97a4adc47624b799b">MakePathCumul</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;nexts, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;active, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;cumuls, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;transits)</td></tr>
<tr class="memdesc:ad66fddae43e332f97a4adc47624b799b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + transits[i]. <a href="classoperations__research_1_1_solver.html#ad66fddae43e332f97a4adc47624b799b">More...</a><br /></td></tr>
<tr class="separator:ad66fddae43e332f97a4adc47624b799b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d06186cf102695501bfc59cf790877"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a46d06186cf102695501bfc59cf790877">MakeDelayedPathCumul</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;nexts, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;active, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;cumuls, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;transits)</td></tr>
<tr class="memdesc:a46d06186cf102695501bfc59cf790877"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delayed version of the same constraint: propagation on the nexts variables is delayed until all constraints have propagated. <a href="classoperations__research_1_1_solver.html#a46d06186cf102695501bfc59cf790877">More...</a><br /></td></tr>
<tr class="separator:a46d06186cf102695501bfc59cf790877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69686be8775ce21f8f1da5ae8570ec71"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a69686be8775ce21f8f1da5ae8570ec71">MakePathCumul</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;nexts, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;active, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;cumuls, <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> transit_evaluator)</td></tr>
<tr class="memdesc:a69686be8775ce21f8f1da5ae8570ec71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + transit_evaluator(i, next[i]). <a href="classoperations__research_1_1_solver.html#a69686be8775ce21f8f1da5ae8570ec71">More...</a><br /></td></tr>
<tr class="separator:a69686be8775ce21f8f1da5ae8570ec71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad92d314c2a6358cff54e0cafbee5c5af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad92d314c2a6358cff54e0cafbee5c5af">MakePathCumul</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;nexts, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;active, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;cumuls, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;slacks, <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> transit_evaluator)</td></tr>
<tr class="memdesc:ad92d314c2a6358cff54e0cafbee5c5af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + transit_evaluator(i, next[i]) + slacks[i]. <a href="classoperations__research_1_1_solver.html#ad92d314c2a6358cff54e0cafbee5c5af">More...</a><br /></td></tr>
<tr class="separator:ad92d314c2a6358cff54e0cafbee5c5af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58c31dc4ccc27831f8c75359865e6185"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a58c31dc4ccc27831f8c75359865e6185">MakePathConnected</a> (std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; nexts, std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; sources, std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; sinks, std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; status)</td></tr>
<tr class="memdesc:a58c31dc4ccc27831f8c75359865e6185"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1_constraint.html" title="A constraint is the main modeling object.">Constraint</a> enforcing that status[i] is true iff there's a path defined on next variables from sources[i] to sinks[i]. <a href="classoperations__research_1_1_solver.html#a58c31dc4ccc27831f8c75359865e6185">More...</a><br /></td></tr>
<tr class="separator:a58c31dc4ccc27831f8c75359865e6185"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5119b2b21dac7cbfa3eea46b1103a9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae5119b2b21dac7cbfa3eea46b1103a9e">MakePathPrecedenceConstraint</a> (std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; nexts, const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;precedences)</td></tr>
<tr class="memdesc:ae5119b2b21dac7cbfa3eea46b1103a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contraint enforcing, for each pair (i,j) in precedences, i to be before j in paths defined by next variables. <a href="classoperations__research_1_1_solver.html#ae5119b2b21dac7cbfa3eea46b1103a9e">More...</a><br /></td></tr>
<tr class="separator:ae5119b2b21dac7cbfa3eea46b1103a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae628366b4d1baa03c3129d7610e4dc55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae628366b4d1baa03c3129d7610e4dc55">MakePathPrecedenceConstraint</a> (std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; nexts, const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;precedences, const std::vector&lt; int &gt; &amp;lifo_path_starts, const std::vector&lt; int &gt; &amp;fifo_path_starts)</td></tr>
<tr class="memdesc:ae628366b4d1baa03c3129d7610e4dc55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as MakePathPrecedenceConstraint but ensures precedence pairs on some paths follow a LIFO or FIFO order. <a href="classoperations__research_1_1_solver.html#ae628366b4d1baa03c3129d7610e4dc55">More...</a><br /></td></tr>
<tr class="separator:ae628366b4d1baa03c3129d7610e4dc55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8b98f1f83afa9e3b5828dc2349e3837"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac8b98f1f83afa9e3b5828dc2349e3837">MakePathTransitPrecedenceConstraint</a> (std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; nexts, std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; transits, const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;precedences)</td></tr>
<tr class="memdesc:ac8b98f1f83afa9e3b5828dc2349e3837"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as MakePathPrecedenceConstraint but will force i to be before j if the sum of transits on the path from i to j is strictly positive. <a href="classoperations__research_1_1_solver.html#ac8b98f1f83afa9e3b5828dc2349e3837">More...</a><br /></td></tr>
<tr class="separator:ac8b98f1f83afa9e3b5828dc2349e3837"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19542a9cd12586e432cf9ef6d9b07c31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a19542a9cd12586e432cf9ef6d9b07c31">MakeMapDomain</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;actives)</td></tr>
<tr class="memdesc:a19542a9cd12586e432cf9ef6d9b07c31"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint maps the domain of 'var' onto the array of variables 'actives'. <a href="classoperations__research_1_1_solver.html#a19542a9cd12586e432cf9ef6d9b07c31">More...</a><br /></td></tr>
<tr class="separator:a19542a9cd12586e432cf9ef6d9b07c31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4c960f5d46ac35f537ade04ff7e2cc3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af4c960f5d46ac35f537ade04ff7e2cc3">MakeAllowedAssignments</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const <a class="el" href="classoperations__research_1_1_int_tuple_set.html">IntTupleSet</a> &amp;tuples)</td></tr>
<tr class="memdesc:af4c960f5d46ac35f537ade04ff7e2cc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method creates a constraint where the graph of the relation between the variables is given in extension. <a href="classoperations__research_1_1_solver.html#af4c960f5d46ac35f537ade04ff7e2cc3">More...</a><br /></td></tr>
<tr class="separator:af4c960f5d46ac35f537ade04ff7e2cc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cfaedc62ca0207cf4f0b2368d809082"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3cfaedc62ca0207cf4f0b2368d809082">MakeTransitionConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const <a class="el" href="classoperations__research_1_1_int_tuple_set.html">IntTupleSet</a> &amp;transition_table, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> initial_state, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;final_states)</td></tr>
<tr class="memdesc:a3cfaedc62ca0207cf4f0b2368d809082"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint create a finite automaton that will check the sequence of variables vars. <a href="classoperations__research_1_1_solver.html#a3cfaedc62ca0207cf4f0b2368d809082">More...</a><br /></td></tr>
<tr class="separator:a3cfaedc62ca0207cf4f0b2368d809082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab07d153017b0aab71a9d2d28d5ef940a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab07d153017b0aab71a9d2d28d5ef940a">MakeTransitionConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const <a class="el" href="classoperations__research_1_1_int_tuple_set.html">IntTupleSet</a> &amp;transition_table, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> initial_state, const std::vector&lt; int &gt; &amp;final_states)</td></tr>
<tr class="memdesc:ab07d153017b0aab71a9d2d28d5ef940a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint create a finite automaton that will check the sequence of variables vars. <a href="classoperations__research_1_1_solver.html#ab07d153017b0aab71a9d2d28d5ef940a">More...</a><br /></td></tr>
<tr class="separator:ab07d153017b0aab71a9d2d28d5ef940a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ddadd35d3227ee3f1216b9d7129227f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4ddadd35d3227ee3f1216b9d7129227f">MakeNonOverlappingBoxesConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;x_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;y_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;x_size, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;y_size)</td></tr>
<tr class="memdesc:a4ddadd35d3227ee3f1216b9d7129227f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint states that all the boxes must not overlap. <a href="classoperations__research_1_1_solver.html#a4ddadd35d3227ee3f1216b9d7129227f">More...</a><br /></td></tr>
<tr class="separator:a4ddadd35d3227ee3f1216b9d7129227f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a597004f8090e2477251a5cc2c21878f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a597004f8090e2477251a5cc2c21878f2">MakeNonOverlappingBoxesConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;x_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;y_vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;x_size, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;y_size)</td></tr>
<tr class="separator:a597004f8090e2477251a5cc2c21878f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0226a133f43985fecfdd49803e53b17"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac0226a133f43985fecfdd49803e53b17">MakeNonOverlappingBoxesConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;x_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;y_vars, const std::vector&lt; int &gt; &amp;x_size, const std::vector&lt; int &gt; &amp;y_size)</td></tr>
<tr class="separator:ac0226a133f43985fecfdd49803e53b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4f11683c5546c728671e917d2031384"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac4f11683c5546c728671e917d2031384">MakeNonOverlappingNonStrictBoxesConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;x_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;y_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;x_size, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;y_size)</td></tr>
<tr class="memdesc:ac4f11683c5546c728671e917d2031384"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint states that all the boxes must not overlap. <a href="classoperations__research_1_1_solver.html#ac4f11683c5546c728671e917d2031384">More...</a><br /></td></tr>
<tr class="separator:ac4f11683c5546c728671e917d2031384"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5efbbd57dfa0bbb47ac45a69cabb5748"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5efbbd57dfa0bbb47ac45a69cabb5748">MakeNonOverlappingNonStrictBoxesConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;x_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;y_vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;x_size, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;y_size)</td></tr>
<tr class="separator:a5efbbd57dfa0bbb47ac45a69cabb5748"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a931314662eb3ee9591e6d0c7635f5971"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a931314662eb3ee9591e6d0c7635f5971">MakeNonOverlappingNonStrictBoxesConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;x_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;y_vars, const std::vector&lt; int &gt; &amp;x_size, const std::vector&lt; int &gt; &amp;y_size)</td></tr>
<tr class="separator:a931314662eb3ee9591e6d0c7635f5971"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b2a6a82cd9f48e35d7927df60f823df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_pack.html">Pack</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3b2a6a82cd9f48e35d7927df60f823df">MakePack</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, int number_of_bins)</td></tr>
<tr class="memdesc:a3b2a6a82cd9f48e35d7927df60f823df"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint packs all variables onto 'number_of_bins' variables. <a href="classoperations__research_1_1_solver.html#a3b2a6a82cd9f48e35d7927df60f823df">More...</a><br /></td></tr>
<tr class="separator:a3b2a6a82cd9f48e35d7927df60f823df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6d375a617d535e63ae45710d8e455b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab6d375a617d535e63ae45710d8e455b2">MakeFixedDurationIntervalVar</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#ab2188791e61e013dc8b28e66b31041cd">start_min</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#a7c8133c50ba59755e2162ad1a9478da7">start_max</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration, bool optional, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:ab6d375a617d535e63ae45710d8e455b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an interval var with a fixed duration. <a href="classoperations__research_1_1_solver.html#ab6d375a617d535e63ae45710d8e455b2">More...</a><br /></td></tr>
<tr class="separator:ab6d375a617d535e63ae45710d8e455b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae40872f6abd544d1c191ac370b7e22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a8ae40872f6abd544d1c191ac370b7e22">MakeFixedDurationIntervalVarArray</a> (int count, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#ab2188791e61e013dc8b28e66b31041cd">start_min</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#a7c8133c50ba59755e2162ad1a9478da7">start_max</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration, bool optional, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>, std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const array)</td></tr>
<tr class="memdesc:a8ae40872f6abd544d1c191ac370b7e22"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method fills the vector with 'count' interval variables built with the corresponding parameters. <a href="classoperations__research_1_1_solver.html#a8ae40872f6abd544d1c191ac370b7e22">More...</a><br /></td></tr>
<tr class="separator:a8ae40872f6abd544d1c191ac370b7e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeb553b69010592a6b2235fc1f8d830f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aaeb553b69010592a6b2235fc1f8d830f">MakeFixedDurationIntervalVar</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const start_variable, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:aaeb553b69010592a6b2235fc1f8d830f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a performed interval var with a fixed duration. <a href="classoperations__research_1_1_solver.html#aaeb553b69010592a6b2235fc1f8d830f">More...</a><br /></td></tr>
<tr class="separator:aaeb553b69010592a6b2235fc1f8d830f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53d54d9e50487546e611be40f9cad491"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a53d54d9e50487546e611be40f9cad491">MakeFixedDurationIntervalVar</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const start_variable, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const performed_variable, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a53d54d9e50487546e611be40f9cad491"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an interval var with a fixed duration, and performed_variable. <a href="classoperations__research_1_1_solver.html#a53d54d9e50487546e611be40f9cad491">More...</a><br /></td></tr>
<tr class="separator:a53d54d9e50487546e611be40f9cad491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af07acb0b686d40e056a7b2a127eb5ba6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af07acb0b686d40e056a7b2a127eb5ba6">MakeFixedDurationIntervalVarArray</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;start_variables, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>, std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const array)</td></tr>
<tr class="memdesc:af07acb0b686d40e056a7b2a127eb5ba6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method fills the vector with 'count' interval var built with the corresponding start variables. <a href="classoperations__research_1_1_solver.html#af07acb0b686d40e056a7b2a127eb5ba6">More...</a><br /></td></tr>
<tr class="separator:af07acb0b686d40e056a7b2a127eb5ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe0f1bbaab72ae2ac9f6b483064e19f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afe0f1bbaab72ae2ac9f6b483064e19f8">MakeFixedDurationIntervalVarArray</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;start_variables, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;durations, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>, std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const array)</td></tr>
<tr class="memdesc:afe0f1bbaab72ae2ac9f6b483064e19f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method fills the vector with interval variables built with the corresponding start variables. <a href="classoperations__research_1_1_solver.html#afe0f1bbaab72ae2ac9f6b483064e19f8">More...</a><br /></td></tr>
<tr class="separator:afe0f1bbaab72ae2ac9f6b483064e19f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae003f9e6fbeec988e9e3ba456d1f2808"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae003f9e6fbeec988e9e3ba456d1f2808">MakeFixedDurationIntervalVarArray</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;start_variables, const std::vector&lt; int &gt; &amp;durations, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>, std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const array)</td></tr>
<tr class="memdesc:ae003f9e6fbeec988e9e3ba456d1f2808"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method fills the vector with interval variables built with the corresponding start variables. <a href="classoperations__research_1_1_solver.html#ae003f9e6fbeec988e9e3ba456d1f2808">More...</a><br /></td></tr>
<tr class="separator:ae003f9e6fbeec988e9e3ba456d1f2808"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d9ecf928f4a534fda1be370eae4efea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5d9ecf928f4a534fda1be370eae4efea">MakeFixedDurationIntervalVarArray</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;start_variables, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;durations, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;performed_variables, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>, std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const array)</td></tr>
<tr class="memdesc:a5d9ecf928f4a534fda1be370eae4efea"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method fills the vector with interval variables built with the corresponding start and performed variables. <a href="classoperations__research_1_1_solver.html#a5d9ecf928f4a534fda1be370eae4efea">More...</a><br /></td></tr>
<tr class="separator:a5d9ecf928f4a534fda1be370eae4efea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fed63f576ec3fe7a25a5a0341537480"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4fed63f576ec3fe7a25a5a0341537480">MakeFixedDurationIntervalVarArray</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;start_variables, const std::vector&lt; int &gt; &amp;durations, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;performed_variables, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>, std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const array)</td></tr>
<tr class="memdesc:a4fed63f576ec3fe7a25a5a0341537480"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method fills the vector with interval variables built with the corresponding start and performed variables. <a href="classoperations__research_1_1_solver.html#a4fed63f576ec3fe7a25a5a0341537480">More...</a><br /></td></tr>
<tr class="separator:a4fed63f576ec3fe7a25a5a0341537480"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b8f7ad95ea286922f2ef70a4fd84769"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5b8f7ad95ea286922f2ef70a4fd84769">MakeFixedInterval</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> start, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a5b8f7ad95ea286922f2ef70a4fd84769"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a fixed and performed interval. <a href="classoperations__research_1_1_solver.html#a5b8f7ad95ea286922f2ef70a4fd84769">More...</a><br /></td></tr>
<tr class="separator:a5b8f7ad95ea286922f2ef70a4fd84769"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae30cfd81898c56d3414b87d3aab51bf2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae30cfd81898c56d3414b87d3aab51bf2">MakeIntervalVar</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#ab2188791e61e013dc8b28e66b31041cd">start_min</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#a7c8133c50ba59755e2162ad1a9478da7">start_max</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration_min, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration_max, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#a16edac3fa04d9ba10ff012b5fb8add05">end_min</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#a3db7a45809ea7c6000b10a58f003b331">end_max</a>, bool optional, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:ae30cfd81898c56d3414b87d3aab51bf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an interval var by specifying the bounds on start, duration, and end. <a href="classoperations__research_1_1_solver.html#ae30cfd81898c56d3414b87d3aab51bf2">More...</a><br /></td></tr>
<tr class="separator:ae30cfd81898c56d3414b87d3aab51bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf3f40bd93fd979cdd7d089447e52326"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aaf3f40bd93fd979cdd7d089447e52326">MakeIntervalVarArray</a> (int count, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#ab2188791e61e013dc8b28e66b31041cd">start_min</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#a7c8133c50ba59755e2162ad1a9478da7">start_max</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration_min, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration_max, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#a16edac3fa04d9ba10ff012b5fb8add05">end_min</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="sched__constraints_8cc.html#a3db7a45809ea7c6000b10a58f003b331">end_max</a>, bool optional, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>, std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const array)</td></tr>
<tr class="memdesc:aaf3f40bd93fd979cdd7d089447e52326"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method fills the vector with 'count' interval var built with the corresponding parameters. <a href="classoperations__research_1_1_solver.html#aaf3f40bd93fd979cdd7d089447e52326">More...</a><br /></td></tr>
<tr class="separator:aaf3f40bd93fd979cdd7d089447e52326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad10da04717f2923d609f093f9cb372c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad10da04717f2923d609f093f9cb372c7">MakeMirrorInterval</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const interval_var)</td></tr>
<tr class="memdesc:ad10da04717f2923d609f093f9cb372c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an interval var that is the mirror image of the given one, that is, the interval var obtained by reversing the axis. <a href="classoperations__research_1_1_solver.html#ad10da04717f2923d609f093f9cb372c7">More...</a><br /></td></tr>
<tr class="separator:ad10da04717f2923d609f093f9cb372c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acef49cc8d3ff13b0a4ca8a1c58be7a54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#acef49cc8d3ff13b0a4ca8a1c58be7a54">MakeFixedDurationStartSyncedOnStartIntervalVar</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const interval_var, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> offset)</td></tr>
<tr class="memdesc:acef49cc8d3ff13b0a4ca8a1c58be7a54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an interval var with a fixed duration whose start is synchronized with the start of another interval, with a given offset. <a href="classoperations__research_1_1_solver.html#acef49cc8d3ff13b0a4ca8a1c58be7a54">More...</a><br /></td></tr>
<tr class="separator:acef49cc8d3ff13b0a4ca8a1c58be7a54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe56a667003808b938d63f858c1c2836"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abe56a667003808b938d63f858c1c2836">MakeFixedDurationStartSyncedOnEndIntervalVar</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const interval_var, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> offset)</td></tr>
<tr class="memdesc:abe56a667003808b938d63f858c1c2836"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an interval var with a fixed duration whose start is synchronized with the end of another interval, with a given offset. <a href="classoperations__research_1_1_solver.html#abe56a667003808b938d63f858c1c2836">More...</a><br /></td></tr>
<tr class="separator:abe56a667003808b938d63f858c1c2836"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79815eab79172e06f6748cca96714b3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a79815eab79172e06f6748cca96714b3a">MakeFixedDurationEndSyncedOnStartIntervalVar</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const interval_var, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> offset)</td></tr>
<tr class="memdesc:a79815eab79172e06f6748cca96714b3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an interval var with a fixed duration whose end is synchronized with the start of another interval, with a given offset. <a href="classoperations__research_1_1_solver.html#a79815eab79172e06f6748cca96714b3a">More...</a><br /></td></tr>
<tr class="separator:a79815eab79172e06f6748cca96714b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a571d6bd2cab9d27f4a2879f262776cb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a571d6bd2cab9d27f4a2879f262776cb8">MakeFixedDurationEndSyncedOnEndIntervalVar</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const interval_var, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> duration, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> offset)</td></tr>
<tr class="memdesc:a571d6bd2cab9d27f4a2879f262776cb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an interval var with a fixed duration whose end is synchronized with the end of another interval, with a given offset. <a href="classoperations__research_1_1_solver.html#a571d6bd2cab9d27f4a2879f262776cb8">More...</a><br /></td></tr>
<tr class="separator:a571d6bd2cab9d27f4a2879f262776cb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56e2e5cebd866f391c08575b1e68bfa9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a56e2e5cebd866f391c08575b1e68bfa9">MakeIntervalRelaxedMin</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const interval_var)</td></tr>
<tr class="memdesc:a56e2e5cebd866f391c08575b1e68bfa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates and returns an interval variable that wraps around the given one, relaxing the min start and end. <a href="classoperations__research_1_1_solver.html#a56e2e5cebd866f391c08575b1e68bfa9">More...</a><br /></td></tr>
<tr class="separator:a56e2e5cebd866f391c08575b1e68bfa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e4d98b8a01fda7eb776fbc559096f5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7e4d98b8a01fda7eb776fbc559096f5f">MakeIntervalRelaxedMax</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const interval_var)</td></tr>
<tr class="memdesc:a7e4d98b8a01fda7eb776fbc559096f5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates and returns an interval variable that wraps around the given one, relaxing the max start and end. <a href="classoperations__research_1_1_solver.html#a7e4d98b8a01fda7eb776fbc559096f5f">More...</a><br /></td></tr>
<tr class="separator:a7e4d98b8a01fda7eb776fbc559096f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a43933f7f3f5e21d1c95f0917c6ca8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1a43933f7f3f5e21d1c95f0917c6ca8b">MakeIntervalVarRelation</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const t, <a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9">UnaryIntervalRelation</a> r, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> d)</td></tr>
<tr class="memdesc:a1a43933f7f3f5e21d1c95f0917c6ca8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method creates a relation between an interval var and a date. <a href="classoperations__research_1_1_solver.html#a1a43933f7f3f5e21d1c95f0917c6ca8b">More...</a><br /></td></tr>
<tr class="separator:a1a43933f7f3f5e21d1c95f0917c6ca8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00078e41fa2bdd723a05a8a9530e0806"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a00078e41fa2bdd723a05a8a9530e0806">MakeIntervalVarRelation</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const t1, <a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> r, <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const t2)</td></tr>
<tr class="memdesc:a00078e41fa2bdd723a05a8a9530e0806"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method creates a relation between two interval vars. <a href="classoperations__research_1_1_solver.html#a00078e41fa2bdd723a05a8a9530e0806">More...</a><br /></td></tr>
<tr class="separator:a00078e41fa2bdd723a05a8a9530e0806"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95dd34b304804318c3f5166f5d608da4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a95dd34b304804318c3f5166f5d608da4">MakeIntervalVarRelationWithDelay</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const t1, <a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> r, <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const t2, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> delay)</td></tr>
<tr class="memdesc:a95dd34b304804318c3f5166f5d608da4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method creates a relation between two interval vars. <a href="classoperations__research_1_1_solver.html#a95dd34b304804318c3f5166f5d608da4">More...</a><br /></td></tr>
<tr class="separator:a95dd34b304804318c3f5166f5d608da4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaed1bc5fc04dc964df5e7dfd11476098"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aaed1bc5fc04dc964df5e7dfd11476098">MakeTemporalDisjunction</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const t1, <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const t2, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const alt)</td></tr>
<tr class="memdesc:aaed1bc5fc04dc964df5e7dfd11476098"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint implements a temporal disjunction between two interval vars t1 and t2. <a href="classoperations__research_1_1_solver.html#aaed1bc5fc04dc964df5e7dfd11476098">More...</a><br /></td></tr>
<tr class="separator:aaed1bc5fc04dc964df5e7dfd11476098"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69b188301916efe8e213e3ac35264dc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a69b188301916efe8e213e3ac35264dc6">MakeTemporalDisjunction</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const t1, <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const t2)</td></tr>
<tr class="memdesc:a69b188301916efe8e213e3ac35264dc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint implements a temporal disjunction between two interval vars. <a href="classoperations__research_1_1_solver.html#a69b188301916efe8e213e3ac35264dc6">More...</a><br /></td></tr>
<tr class="separator:a69b188301916efe8e213e3ac35264dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62dca63c6e5610d51dc8c3abe6227747"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_disjunctive_constraint.html">DisjunctiveConstraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a62dca63c6e5610d51dc8c3abe6227747">MakeDisjunctiveConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;intervals, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a62dca63c6e5610d51dc8c3abe6227747"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint forces all interval vars into an non-overlapping sequence. <a href="classoperations__research_1_1_solver.html#a62dca63c6e5610d51dc8c3abe6227747">More...</a><br /></td></tr>
<tr class="separator:a62dca63c6e5610d51dc8c3abe6227747"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24b4b61a5f3c224f86354447abdccaa8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_disjunctive_constraint.html">DisjunctiveConstraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a24b4b61a5f3c224f86354447abdccaa8">MakeStrictDisjunctiveConstraint</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;intervals, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a24b4b61a5f3c224f86354447abdccaa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint forces all interval vars into an non-overlapping sequence. <a href="classoperations__research_1_1_solver.html#a24b4b61a5f3c224f86354447abdccaa8">More...</a><br /></td></tr>
<tr class="separator:a24b4b61a5f3c224f86354447abdccaa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d68e84f2cdbfec2a2764d1ce523ccda"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4d68e84f2cdbfec2a2764d1ce523ccda">MakeCumulative</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;intervals, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;demands, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="routing__flow_8cc.html#adf3be22c64f10c0783c0cf277e857adf">capacity</a>, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a4d68e84f2cdbfec2a2764d1ce523ccda"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint forces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. <a href="classoperations__research_1_1_solver.html#a4d68e84f2cdbfec2a2764d1ce523ccda">More...</a><br /></td></tr>
<tr class="separator:a4d68e84f2cdbfec2a2764d1ce523ccda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77443009380c4c406b39bb1299607f4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a77443009380c4c406b39bb1299607f4e">MakeCumulative</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;intervals, const std::vector&lt; int &gt; &amp;demands, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="routing__flow_8cc.html#adf3be22c64f10c0783c0cf277e857adf">capacity</a>, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a77443009380c4c406b39bb1299607f4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint forces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. <a href="classoperations__research_1_1_solver.html#a77443009380c4c406b39bb1299607f4e">More...</a><br /></td></tr>
<tr class="separator:a77443009380c4c406b39bb1299607f4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6365c8ad4dcc8b689384992f95ddc80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae6365c8ad4dcc8b689384992f95ddc80">MakeCumulative</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;intervals, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;demands, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="routing__flow_8cc.html#adf3be22c64f10c0783c0cf277e857adf">capacity</a>, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:ae6365c8ad4dcc8b689384992f95ddc80"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint forces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. <a href="classoperations__research_1_1_solver.html#ae6365c8ad4dcc8b689384992f95ddc80">More...</a><br /></td></tr>
<tr class="separator:ae6365c8ad4dcc8b689384992f95ddc80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93e20bcba087839713b8f10e0f906396"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a93e20bcba087839713b8f10e0f906396">MakeCumulative</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;intervals, const std::vector&lt; int &gt; &amp;demands, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="routing__flow_8cc.html#adf3be22c64f10c0783c0cf277e857adf">capacity</a>, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a93e20bcba087839713b8f10e0f906396"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint enforces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. <a href="classoperations__research_1_1_solver.html#a93e20bcba087839713b8f10e0f906396">More...</a><br /></td></tr>
<tr class="separator:a93e20bcba087839713b8f10e0f906396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cd3daabc584b0d60c8eddb00f09d7c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6cd3daabc584b0d60c8eddb00f09d7c0">MakeCumulative</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;intervals, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;demands, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="routing__flow_8cc.html#adf3be22c64f10c0783c0cf277e857adf">capacity</a>, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a6cd3daabc584b0d60c8eddb00f09d7c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint enforces that, for any integer t, the sum of demands corresponding to an interval containing t does not exceed the given capacity. <a href="classoperations__research_1_1_solver.html#a6cd3daabc584b0d60c8eddb00f09d7c0">More...</a><br /></td></tr>
<tr class="separator:a6cd3daabc584b0d60c8eddb00f09d7c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a251bbe8741707d92c5ff1fbf2ddcd51c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a251bbe8741707d92c5ff1fbf2ddcd51c">MakeCumulative</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;intervals, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;demands, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="routing__flow_8cc.html#adf3be22c64f10c0783c0cf277e857adf">capacity</a>, const std::string &amp;<a class="el" href="linear__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
<tr class="memdesc:a251bbe8741707d92c5ff1fbf2ddcd51c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint enforces that, for any integer t, the sum of demands corresponding to an interval containing t does not exceed the given capacity. <a href="classoperations__research_1_1_solver.html#a251bbe8741707d92c5ff1fbf2ddcd51c">More...</a><br /></td></tr>
<tr class="separator:a251bbe8741707d92c5ff1fbf2ddcd51c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a279756d1bcfa51f40d5fc8e299abab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4a279756d1bcfa51f40d5fc8e299abab">MakeCover</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const target_var)</td></tr>
<tr class="memdesc:a4a279756d1bcfa51f40d5fc8e299abab"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraint states that the target_var is the convex hull of the intervals. <a href="classoperations__research_1_1_solver.html#a4a279756d1bcfa51f40d5fc8e299abab">More...</a><br /></td></tr>
<tr class="separator:a4a279756d1bcfa51f40d5fc8e299abab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8d11f92b1af7b582f49c50ff1a02559"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac8d11f92b1af7b582f49c50ff1a02559">MakeEquality</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const var1, <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const var2)</td></tr>
<tr class="memdesc:ac8d11f92b1af7b582f49c50ff1a02559"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constraints states that the two interval variables are equal. <a href="classoperations__research_1_1_solver.html#ac8d11f92b1af7b582f49c50ff1a02559">More...</a><br /></td></tr>
<tr class="separator:ac8d11f92b1af7b582f49c50ff1a02559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad45ddc54149c5954c2bbd4e2657f9148"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad45ddc54149c5954c2bbd4e2657f9148">MakeAssignment</a> ()</td></tr>
<tr class="memdesc:ad45ddc54149c5954c2bbd4e2657f9148"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method creates an empty assignment. <a href="classoperations__research_1_1_solver.html#ad45ddc54149c5954c2bbd4e2657f9148">More...</a><br /></td></tr>
<tr class="separator:ad45ddc54149c5954c2bbd4e2657f9148"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9de14b462099fa53449fe7a133d1fc2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a9de14b462099fa53449fe7a133d1fc2f">MakeAssignment</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const <a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a>)</td></tr>
<tr class="memdesc:a9de14b462099fa53449fe7a133d1fc2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method creates an assignment which is a copy of 'a'. <a href="classoperations__research_1_1_solver.html#a9de14b462099fa53449fe7a133d1fc2f">More...</a><br /></td></tr>
<tr class="separator:a9de14b462099fa53449fe7a133d1fc2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf9b3b0021ba123b577f437d549432f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#acf9b3b0021ba123b577f437d549432f8">MakeFirstSolutionCollector</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const assignment)</td></tr>
<tr class="memdesc:acf9b3b0021ba123b577f437d549432f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect the first solution of the search. <a href="classoperations__research_1_1_solver.html#acf9b3b0021ba123b577f437d549432f8">More...</a><br /></td></tr>
<tr class="separator:acf9b3b0021ba123b577f437d549432f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad86f3c4cb67c8eb128337d1204546788"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad86f3c4cb67c8eb128337d1204546788">MakeFirstSolutionCollector</a> ()</td></tr>
<tr class="memdesc:ad86f3c4cb67c8eb128337d1204546788"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect the first solution of the search. <a href="classoperations__research_1_1_solver.html#ad86f3c4cb67c8eb128337d1204546788">More...</a><br /></td></tr>
<tr class="separator:ad86f3c4cb67c8eb128337d1204546788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a332573b6f1f4a48e23907a8128d18b03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a332573b6f1f4a48e23907a8128d18b03">MakeLastSolutionCollector</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const assignment)</td></tr>
<tr class="memdesc:a332573b6f1f4a48e23907a8128d18b03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect the last solution of the search. <a href="classoperations__research_1_1_solver.html#a332573b6f1f4a48e23907a8128d18b03">More...</a><br /></td></tr>
<tr class="separator:a332573b6f1f4a48e23907a8128d18b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a119c56614135f6d23a162fd8f42f99bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a119c56614135f6d23a162fd8f42f99bf">MakeLastSolutionCollector</a> ()</td></tr>
<tr class="memdesc:a119c56614135f6d23a162fd8f42f99bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect the last solution of the search. <a href="classoperations__research_1_1_solver.html#a119c56614135f6d23a162fd8f42f99bf">More...</a><br /></td></tr>
<tr class="separator:a119c56614135f6d23a162fd8f42f99bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aded8803669b18a66cf5746fdc3bedfc9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aded8803669b18a66cf5746fdc3bedfc9">MakeBestValueSolutionCollector</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const assignment, bool maximize)</td></tr>
<tr class="memdesc:aded8803669b18a66cf5746fdc3bedfc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignment' does not have an objective no solution is collected. <a href="classoperations__research_1_1_solver.html#aded8803669b18a66cf5746fdc3bedfc9">More...</a><br /></td></tr>
<tr class="separator:aded8803669b18a66cf5746fdc3bedfc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67f24dec948277b4e908f49f8c3c8909"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a67f24dec948277b4e908f49f8c3c8909">MakeBestValueSolutionCollector</a> (bool maximize)</td></tr>
<tr class="memdesc:a67f24dec948277b4e908f49f8c3c8909"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignment' does not have an objective no solution is collected. <a href="classoperations__research_1_1_solver.html#a67f24dec948277b4e908f49f8c3c8909">More...</a><br /></td></tr>
<tr class="separator:a67f24dec948277b4e908f49f8c3c8909"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afabdd434109505b4ffb708387f868c1c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afabdd434109505b4ffb708387f868c1c">MakeNBestValueSolutionCollector</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const assignment, int solution_count, bool maximize)</td></tr>
<tr class="memdesc:afabdd434109505b4ffb708387f868c1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as MakeBestValueSolutionCollector but collects the best solution_count solutions. <a href="classoperations__research_1_1_solver.html#afabdd434109505b4ffb708387f868c1c">More...</a><br /></td></tr>
<tr class="separator:afabdd434109505b4ffb708387f868c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbc2064c8c125c7d57064b7f9bbb02e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#adbc2064c8c125c7d57064b7f9bbb02e7">MakeNBestValueSolutionCollector</a> (int solution_count, bool maximize)</td></tr>
<tr class="separator:adbc2064c8c125c7d57064b7f9bbb02e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a159af7a4def562cb19dc241d2dedb082"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a159af7a4def562cb19dc241d2dedb082">MakeAllSolutionCollector</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const assignment)</td></tr>
<tr class="memdesc:a159af7a4def562cb19dc241d2dedb082"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect all solutions of the search. <a href="classoperations__research_1_1_solver.html#a159af7a4def562cb19dc241d2dedb082">More...</a><br /></td></tr>
<tr class="separator:a159af7a4def562cb19dc241d2dedb082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05d70521aabf6139379104bb7b1bc891"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a05d70521aabf6139379104bb7b1bc891">MakeAllSolutionCollector</a> ()</td></tr>
<tr class="memdesc:a05d70521aabf6139379104bb7b1bc891"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect all solutions of the search. <a href="classoperations__research_1_1_solver.html#a05d70521aabf6139379104bb7b1bc891">More...</a><br /></td></tr>
<tr class="separator:a05d70521aabf6139379104bb7b1bc891"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae345624c3b09b85a022f76a17beb5518"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae345624c3b09b85a022f76a17beb5518">MakeMinimize</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:ae345624c3b09b85a022f76a17beb5518"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a minimization objective. <a href="classoperations__research_1_1_solver.html#ae345624c3b09b85a022f76a17beb5518">More...</a><br /></td></tr>
<tr class="separator:ae345624c3b09b85a022f76a17beb5518"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a293a210f890ccbc9805935762632831d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a293a210f890ccbc9805935762632831d">MakeMaximize</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:a293a210f890ccbc9805935762632831d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a maximization objective. <a href="classoperations__research_1_1_solver.html#a293a210f890ccbc9805935762632831d">More...</a><br /></td></tr>
<tr class="separator:a293a210f890ccbc9805935762632831d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeef4feabd78d38d89a4c56dd29663693"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aeef4feabd78d38d89a4c56dd29663693">MakeOptimize</a> (bool maximize, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:aeef4feabd78d38d89a4c56dd29663693"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a objective with a given sense (true = maximization). <a href="classoperations__research_1_1_solver.html#aeef4feabd78d38d89a4c56dd29663693">More...</a><br /></td></tr>
<tr class="separator:aeef4feabd78d38d89a4c56dd29663693"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf43b6164a1c8f8916a8f7ea78fb962a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#acf43b6164a1c8f8916a8f7ea78fb962a">MakeWeightedMinimize</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;sub_objectives, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;weights, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:acf43b6164a1c8f8916a8f7ea78fb962a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a minimization weighted objective. <a href="classoperations__research_1_1_solver.html#acf43b6164a1c8f8916a8f7ea78fb962a">More...</a><br /></td></tr>
<tr class="separator:acf43b6164a1c8f8916a8f7ea78fb962a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab07ab12641c5749914889928bb13b54d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab07ab12641c5749914889928bb13b54d">MakeWeightedMinimize</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;sub_objectives, const std::vector&lt; int &gt; &amp;weights, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:ab07ab12641c5749914889928bb13b54d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a minimization weighted objective. <a href="classoperations__research_1_1_solver.html#ab07ab12641c5749914889928bb13b54d">More...</a><br /></td></tr>
<tr class="separator:ab07ab12641c5749914889928bb13b54d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101a182bb4ded486e793c7c0239a3bc3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a101a182bb4ded486e793c7c0239a3bc3">MakeWeightedMaximize</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;sub_objectives, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;weights, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:a101a182bb4ded486e793c7c0239a3bc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a maximization weigthed objective. <a href="classoperations__research_1_1_solver.html#a101a182bb4ded486e793c7c0239a3bc3">More...</a><br /></td></tr>
<tr class="separator:a101a182bb4ded486e793c7c0239a3bc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adac1f0aa518ddb6d67050a2087b29309"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#adac1f0aa518ddb6d67050a2087b29309">MakeWeightedMaximize</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;sub_objectives, const std::vector&lt; int &gt; &amp;weights, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:adac1f0aa518ddb6d67050a2087b29309"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a maximization weigthed objective. <a href="classoperations__research_1_1_solver.html#adac1f0aa518ddb6d67050a2087b29309">More...</a><br /></td></tr>
<tr class="separator:adac1f0aa518ddb6d67050a2087b29309"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72e279a33cbe8927bdbe5ca3c0d92936"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a72e279a33cbe8927bdbe5ca3c0d92936">MakeWeightedOptimize</a> (bool maximize, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;sub_objectives, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;weights, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:a72e279a33cbe8927bdbe5ca3c0d92936"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a weighted objective with a given sense (true = maximization). <a href="classoperations__research_1_1_solver.html#a72e279a33cbe8927bdbe5ca3c0d92936">More...</a><br /></td></tr>
<tr class="separator:a72e279a33cbe8927bdbe5ca3c0d92936"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7ad4763bbe1e84de9d4fd50b9b23c7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab7ad4763bbe1e84de9d4fd50b9b23c7b">MakeWeightedOptimize</a> (bool maximize, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;sub_objectives, const std::vector&lt; int &gt; &amp;weights, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:ab7ad4763bbe1e84de9d4fd50b9b23c7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a weighted objective with a given sense (true = maximization). <a href="classoperations__research_1_1_solver.html#ab7ad4763bbe1e84de9d4fd50b9b23c7b">More...</a><br /></td></tr>
<tr class="separator:ab7ad4763bbe1e84de9d4fd50b9b23c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd5d8979774c2578b20a30a27cd0a0e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#acd5d8979774c2578b20a30a27cd0a0e8">MakeTabuSearch</a> (bool maximize, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> keep_tenure, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> forbid_tenure, double tabu_factor)</td></tr>
<tr class="memdesc:acd5d8979774c2578b20a30a27cd0a0e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">MetaHeuristics which try to get the search out of local optima. <a href="classoperations__research_1_1_solver.html#acd5d8979774c2578b20a30a27cd0a0e8">More...</a><br /></td></tr>
<tr class="separator:acd5d8979774c2578b20a30a27cd0a0e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3339cffbe749b1fafdd7a1501fa78129"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3339cffbe749b1fafdd7a1501fa78129">MakeGenericTabuSearch</a> (bool maximize, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;tabu_vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> forbid_tenure)</td></tr>
<tr class="memdesc:a3339cffbe749b1fafdd7a1501fa78129"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a Tabu <a class="el" href="classoperations__research_1_1_search.html">Search</a> based on the vars |vars|. <a href="classoperations__research_1_1_solver.html#a3339cffbe749b1fafdd7a1501fa78129">More...</a><br /></td></tr>
<tr class="separator:a3339cffbe749b1fafdd7a1501fa78129"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34a90adc0455c624af0052870961873d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a34a90adc0455c624af0052870961873d">MakeSimulatedAnnealing</a> (bool maximize, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> initial_temperature)</td></tr>
<tr class="memdesc:a34a90adc0455c624af0052870961873d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a Simulated Annealing monitor. <a href="classoperations__research_1_1_solver.html#a34a90adc0455c624af0052870961873d">More...</a><br /></td></tr>
<tr class="separator:a34a90adc0455c624af0052870961873d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8943488bb15bd0d5db097f33c8abf20"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa8943488bb15bd0d5db097f33c8abf20">MakeGuidedLocalSearch</a> (bool maximize, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const objective, <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> objective_function, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, double penalty_factor)</td></tr>
<tr class="memdesc:aa8943488bb15bd0d5db097f33c8abf20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a Guided Local <a class="el" href="classoperations__research_1_1_search.html">Search</a> monitor. <a href="classoperations__research_1_1_solver.html#aa8943488bb15bd0d5db097f33c8abf20">More...</a><br /></td></tr>
<tr class="separator:aa8943488bb15bd0d5db097f33c8abf20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d8a8608009551f1dd9a3439c1040062"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6d8a8608009551f1dd9a3439c1040062">MakeGuidedLocalSearch</a> (bool maximize, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const objective, <a class="el" href="classoperations__research_1_1_solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> objective_function, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;secondary_vars, double penalty_factor)</td></tr>
<tr class="separator:a6d8a8608009551f1dd9a3439c1040062"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03acbbff21df66d6b126aa41124e5d2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a03acbbff21df66d6b126aa41124e5d2c">MakeLubyRestart</a> (int scale_factor)</td></tr>
<tr class="memdesc:a03acbbff21df66d6b126aa41124e5d2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This search monitor will restart the search periodically. <a href="classoperations__research_1_1_solver.html#a03acbbff21df66d6b126aa41124e5d2c">More...</a><br /></td></tr>
<tr class="separator:a03acbbff21df66d6b126aa41124e5d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a860294d137e8364921c233dccb725ace"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a860294d137e8364921c233dccb725ace">MakeConstantRestart</a> (int frequency)</td></tr>
<tr class="memdesc:a860294d137e8364921c233dccb725ace"><td class="mdescLeft">&#160;</td><td class="mdescRight">This search monitor will restart the search periodically after 'frequency' failures. <a href="classoperations__research_1_1_solver.html#a860294d137e8364921c233dccb725ace">More...</a><br /></td></tr>
<tr class="separator:a860294d137e8364921c233dccb725ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa039067a5797a91839f3b445d58d331e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa039067a5797a91839f3b445d58d331e">MakeTimeLimit</a> (absl::Duration <a class="el" href="resource_8cc.html#a13421db7d7e84fff732599bcf954c5cc">time</a>)</td></tr>
<tr class="memdesc:aa039067a5797a91839f3b445d58d331e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a search limit that constrains the running time. <a href="classoperations__research_1_1_solver.html#aa039067a5797a91839f3b445d58d331e">More...</a><br /></td></tr>
<tr class="separator:aa039067a5797a91839f3b445d58d331e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57003ddd7c36d7d24a093eb1f06ff1e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a57003ddd7c36d7d24a093eb1f06ff1e6">MakeTimeLimit</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> time_in_ms)</td></tr>
<tr class="separator:a57003ddd7c36d7d24a093eb1f06ff1e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80939f447e1c464a1ad69c0f6eb48ee3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a80939f447e1c464a1ad69c0f6eb48ee3">MakeBranchesLimit</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="classoperations__research_1_1_solver.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>)</td></tr>
<tr class="memdesc:a80939f447e1c464a1ad69c0f6eb48ee3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a search limit that constrains the number of branches explored in the search tree. <a href="classoperations__research_1_1_solver.html#a80939f447e1c464a1ad69c0f6eb48ee3">More...</a><br /></td></tr>
<tr class="separator:a80939f447e1c464a1ad69c0f6eb48ee3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43d07af618a9f119a0b75d82abf246f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a43d07af618a9f119a0b75d82abf246f1">MakeFailuresLimit</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="classoperations__research_1_1_solver.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>)</td></tr>
<tr class="memdesc:a43d07af618a9f119a0b75d82abf246f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a search limit that constrains the number of failures that can happen when exploring the search tree. <a href="classoperations__research_1_1_solver.html#a43d07af618a9f119a0b75d82abf246f1">More...</a><br /></td></tr>
<tr class="separator:a43d07af618a9f119a0b75d82abf246f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1209ecc475be440394980d80ef93cb82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1209ecc475be440394980d80ef93cb82">MakeSolutionsLimit</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="classoperations__research_1_1_solver.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>)</td></tr>
<tr class="memdesc:a1209ecc475be440394980d80ef93cb82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a search limit that constrains the number of solutions found during the search. <a href="classoperations__research_1_1_solver.html#a1209ecc475be440394980d80ef93cb82">More...</a><br /></td></tr>
<tr class="separator:a1209ecc475be440394980d80ef93cb82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b3263b72f39e7cf76c837381d692c51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0b3263b72f39e7cf76c837381d692c51">MakeLimit</a> (absl::Duration <a class="el" href="resource_8cc.html#a13421db7d7e84fff732599bcf954c5cc">time</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="classoperations__research_1_1_solver.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="classoperations__research_1_1_solver.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="classoperations__research_1_1_solver.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>, bool smart_time_check=false, bool cumulative=false)</td></tr>
<tr class="memdesc:a0b3263b72f39e7cf76c837381d692c51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Limits the search with the 'time', 'branches', 'failures' and 'solutions' limits. <a href="classoperations__research_1_1_solver.html#a0b3263b72f39e7cf76c837381d692c51">More...</a><br /></td></tr>
<tr class="separator:a0b3263b72f39e7cf76c837381d692c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b8b05ce53cd01dcb08d7430bcfbe17f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6b8b05ce53cd01dcb08d7430bcfbe17f">MakeLimit</a> (const RegularLimitParameters &amp;<a class="el" href="cp__model__fz__solver_8cc.html#aed003f5eb5197bc586b7ef2c36a63da2">proto</a>)</td></tr>
<tr class="memdesc:a6b8b05ce53cd01dcb08d7430bcfbe17f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a search limit from its protobuf description. <a href="classoperations__research_1_1_solver.html#a6b8b05ce53cd01dcb08d7430bcfbe17f">More...</a><br /></td></tr>
<tr class="separator:a6b8b05ce53cd01dcb08d7430bcfbe17f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4fd86a3a93e09e0a884b444ce45465d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac4fd86a3a93e09e0a884b444ce45465d">MakeLimit</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a13421db7d7e84fff732599bcf954c5cc">time</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="classoperations__research_1_1_solver.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="classoperations__research_1_1_solver.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="classoperations__research_1_1_solver.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>, bool smart_time_check=false, bool cumulative=false)</td></tr>
<tr class="separator:ac4fd86a3a93e09e0a884b444ce45465d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f52516c4ad3aced15492b20a58dc2d9"><td class="memItemLeft" align="right" valign="top">RegularLimitParameters&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a9f52516c4ad3aced15492b20a58dc2d9">MakeDefaultRegularLimitParameters</a> () const</td></tr>
<tr class="memdesc:a9f52516c4ad3aced15492b20a58dc2d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular limit proto containing default values. <a href="classoperations__research_1_1_solver.html#a9f52516c4ad3aced15492b20a58dc2d9">More...</a><br /></td></tr>
<tr class="separator:a9f52516c4ad3aced15492b20a58dc2d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3180a362d6614f161a58f9576ddcb1c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3180a362d6614f161a58f9576ddcb1c1">MakeLimit</a> (<a class="el" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> *const limit_1, <a class="el" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> *const limit_2)</td></tr>
<tr class="memdesc:a3180a362d6614f161a58f9576ddcb1c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a search limit that is reached when either of the underlying limit is reached. <a href="classoperations__research_1_1_solver.html#a3180a362d6614f161a58f9576ddcb1c1">More...</a><br /></td></tr>
<tr class="separator:a3180a362d6614f161a58f9576ddcb1c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81a5a99611b97e96056b325e46f31b8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_improvement_search_limit.html">ImprovementSearchLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a81a5a99611b97e96056b325e46f31b8e">MakeImprovementLimit</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *objective_var, bool maximize, double objective_scaling_factor, double objective_offset, double improvement_rate_coefficient, int improvement_rate_solutions_distance)</td></tr>
<tr class="memdesc:a81a5a99611b97e96056b325e46f31b8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Limits the search based on the improvements of 'objective_var'. <a href="classoperations__research_1_1_solver.html#a81a5a99611b97e96056b325e46f31b8e">More...</a><br /></td></tr>
<tr class="separator:a81a5a99611b97e96056b325e46f31b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1700b6f2ca4da7c3f532916d650a817e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1700b6f2ca4da7c3f532916d650a817e">MakeCustomLimit</a> (std::function&lt; bool()&gt; limiter)</td></tr>
<tr class="memdesc:a1700b6f2ca4da7c3f532916d650a817e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback-based search limit. <a href="classoperations__research_1_1_solver.html#a1700b6f2ca4da7c3f532916d650a817e">More...</a><br /></td></tr>
<tr class="separator:a1700b6f2ca4da7c3f532916d650a817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44df25a1775b3d0f19f70bdf00c99727"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a44df25a1775b3d0f19f70bdf00c99727">MakeSearchLog</a> (int branch_period)</td></tr>
<tr class="memdesc:a44df25a1775b3d0f19f70bdf00c99727"><td class="mdescLeft">&#160;</td><td class="mdescRight">The SearchMonitors below will display a periodic search log on <a class="el" href="base_2logging_8h.html#accad43a85d781d53381cd53a9894b6ae">LOG(INFO)</a> every branch_period branches explored. <a href="classoperations__research_1_1_solver.html#a44df25a1775b3d0f19f70bdf00c99727">More...</a><br /></td></tr>
<tr class="separator:a44df25a1775b3d0f19f70bdf00c99727"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fc2de1ecfafccc86f4e5f4ac74f286d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5fc2de1ecfafccc86f4e5f4ac74f286d">MakeSearchLog</a> (int branch_period, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>)</td></tr>
<tr class="memdesc:a5fc2de1ecfafccc86f4e5f4ac74f286d"><td class="mdescLeft">&#160;</td><td class="mdescRight">At each solution, this monitor also display the var value. <a href="classoperations__research_1_1_solver.html#a5fc2de1ecfafccc86f4e5f4ac74f286d">More...</a><br /></td></tr>
<tr class="separator:a5fc2de1ecfafccc86f4e5f4ac74f286d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b2df6b7cf1af454ded80e5ec44b800b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4b2df6b7cf1af454ded80e5ec44b800b">MakeSearchLog</a> (int branch_period, std::function&lt; std::string()&gt; display_callback)</td></tr>
<tr class="memdesc:a4b2df6b7cf1af454ded80e5ec44b800b"><td class="mdescLeft">&#160;</td><td class="mdescRight">At each solution, this monitor will also display result of <code>display_callback</code>. <a href="classoperations__research_1_1_solver.html#a4b2df6b7cf1af454ded80e5ec44b800b">More...</a><br /></td></tr>
<tr class="separator:a4b2df6b7cf1af454ded80e5ec44b800b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5610f093f1d8b485f33bd1884e396015"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5610f093f1d8b485f33bd1884e396015">MakeSearchLog</a> (int branch_period, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *<a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, std::function&lt; std::string()&gt; display_callback)</td></tr>
<tr class="memdesc:a5610f093f1d8b485f33bd1884e396015"><td class="mdescLeft">&#160;</td><td class="mdescRight">At each solution, this monitor will display the 'var' value and the result of <code>display_callback</code>. <a href="classoperations__research_1_1_solver.html#a5610f093f1d8b485f33bd1884e396015">More...</a><br /></td></tr>
<tr class="separator:a5610f093f1d8b485f33bd1884e396015"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b7b1d0be3f915a12386d9036e33e492"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7b7b1d0be3f915a12386d9036e33e492">MakeSearchLog</a> (int branch_period, <a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *const opt_var)</td></tr>
<tr class="memdesc:a7b7b1d0be3f915a12386d9036e33e492"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1_optimize_var.html" title="This class encapsulates an objective.">OptimizeVar</a> <a class="el" href="classoperations__research_1_1_search.html">Search</a> Logs At each solution, this monitor will also display the 'opt_var' value. <a href="classoperations__research_1_1_solver.html#a7b7b1d0be3f915a12386d9036e33e492">More...</a><br /></td></tr>
<tr class="separator:a7b7b1d0be3f915a12386d9036e33e492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addca91d25656941db14e8c2851155ae8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#addca91d25656941db14e8c2851155ae8">MakeSearchLog</a> (int branch_period, <a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *const opt_var, std::function&lt; std::string()&gt; display_callback)</td></tr>
<tr class="memdesc:addca91d25656941db14e8c2851155ae8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a search monitor that will also print the result of the display callback. <a href="classoperations__research_1_1_solver.html#addca91d25656941db14e8c2851155ae8">More...</a><br /></td></tr>
<tr class="separator:addca91d25656941db14e8c2851155ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae989ff30cc9bd52ad392e92f1bf79f30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae989ff30cc9bd52ad392e92f1bf79f30">MakeSearchLog</a> (<a class="el" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html">SearchLogParameters</a> <a class="el" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>)</td></tr>
<tr class="separator:ae989ff30cc9bd52ad392e92f1bf79f30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7f37dd789676fe977046bd4d1becfa6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa7f37dd789676fe977046bd4d1becfa6">MakeSearchTrace</a> (const std::string &amp;prefix)</td></tr>
<tr class="memdesc:aa7f37dd789676fe977046bd4d1becfa6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a search monitor that will trace precisely the behavior of the search. <a href="classoperations__research_1_1_solver.html#aa7f37dd789676fe977046bd4d1becfa6">More...</a><br /></td></tr>
<tr class="separator:aa7f37dd789676fe977046bd4d1becfa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca90f8eeeac883bdb7bee6fd1be1c9f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aca90f8eeeac883bdb7bee6fd1be1c9f3">MakeEnterSearchCallback</a> (std::function&lt; void()&gt; <a class="el" href="gurobi__interface_8cc.html#a6627a3800ac768bb5528ef54c9cace36">callback</a>)</td></tr>
<tr class="memdesc:aca90f8eeeac883bdb7bee6fd1be1c9f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Callback-based search monitors --&mdash; <a href="classoperations__research_1_1_solver.html#aca90f8eeeac883bdb7bee6fd1be1c9f3">More...</a><br /></td></tr>
<tr class="separator:aca90f8eeeac883bdb7bee6fd1be1c9f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae70ed50181af7d10b023eb2ea7151d63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae70ed50181af7d10b023eb2ea7151d63">MakeExitSearchCallback</a> (std::function&lt; void()&gt; <a class="el" href="gurobi__interface_8cc.html#a6627a3800ac768bb5528ef54c9cace36">callback</a>)</td></tr>
<tr class="separator:ae70ed50181af7d10b023eb2ea7151d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13cf423397bb12a1a502312c460764a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a13cf423397bb12a1a502312c460764a7">MakeAtSolutionCallback</a> (std::function&lt; void()&gt; <a class="el" href="gurobi__interface_8cc.html#a6627a3800ac768bb5528ef54c9cace36">callback</a>)</td></tr>
<tr class="separator:a13cf423397bb12a1a502312c460764a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4bbef048381ee722e0f189bab7641fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad4bbef048381ee722e0f189bab7641fa">MakePrintModelVisitor</a> ()</td></tr>
<tr class="memdesc:ad4bbef048381ee722e0f189bab7641fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the model. <a href="classoperations__research_1_1_solver.html#ad4bbef048381ee722e0f189bab7641fa">More...</a><br /></td></tr>
<tr class="separator:ad4bbef048381ee722e0f189bab7641fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb14a213b7e0c68394ea080aaad11c88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afb14a213b7e0c68394ea080aaad11c88">MakeStatisticsModelVisitor</a> ()</td></tr>
<tr class="memdesc:afb14a213b7e0c68394ea080aaad11c88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Displays some nice statistics on the model. <a href="classoperations__research_1_1_solver.html#afb14a213b7e0c68394ea080aaad11c88">More...</a><br /></td></tr>
<tr class="separator:afb14a213b7e0c68394ea080aaad11c88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a841aa319d231a7662b799078307c8de9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a841aa319d231a7662b799078307c8de9">MakeVariableDegreeVisitor</a> (absl::flat_hash_map&lt; const <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *, int &gt; *const map)</td></tr>
<tr class="memdesc:a841aa319d231a7662b799078307c8de9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the number of constraints a variable is attached to. <a href="classoperations__research_1_1_solver.html#a841aa319d231a7662b799078307c8de9">More...</a><br /></td></tr>
<tr class="separator:a841aa319d231a7662b799078307c8de9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c773c8b749ed6d7fa8f80f5725b443a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2c773c8b749ed6d7fa8f80f5725b443a">MakeSymmetryManager</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> * &gt; &amp;visitors)</td></tr>
<tr class="memdesc:a2c773c8b749ed6d7fa8f80f5725b443a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Symmetry Breaking. <a href="classoperations__research_1_1_solver.html#a2c773c8b749ed6d7fa8f80f5725b443a">More...</a><br /></td></tr>
<tr class="separator:a2c773c8b749ed6d7fa8f80f5725b443a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acee8bdfca8ecbafa24d474ab1d6e7e66"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#acee8bdfca8ecbafa24d474ab1d6e7e66">MakeSymmetryManager</a> (<a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const v1)</td></tr>
<tr class="separator:acee8bdfca8ecbafa24d474ab1d6e7e66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8d468e26945c7d4c6b1035826f14947"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af8d468e26945c7d4c6b1035826f14947">MakeSymmetryManager</a> (<a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const v1, <a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const v2)</td></tr>
<tr class="separator:af8d468e26945c7d4c6b1035826f14947"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53da2948c0da1854a0e46dc47913bdf6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a53da2948c0da1854a0e46dc47913bdf6">MakeSymmetryManager</a> (<a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const v1, <a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const v2, <a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const v3)</td></tr>
<tr class="separator:a53da2948c0da1854a0e46dc47913bdf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b8aa046fc429cf1edeef77b3e3bc58f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6b8aa046fc429cf1edeef77b3e3bc58f">MakeSymmetryManager</a> (<a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const v1, <a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const v2, <a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const v3, <a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const v4)</td></tr>
<tr class="separator:a6b8aa046fc429cf1edeef77b3e3bc58f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1370b59383ce48458440621b3cb6d2f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1370b59383ce48458440621b3cb6d2f9">MakeAssignVariableValue</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> val)</td></tr>
<tr class="memdesc:a1370b59383ce48458440621b3cb6d2f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decisions. <a href="classoperations__research_1_1_solver.html#a1370b59383ce48458440621b3cb6d2f9">More...</a><br /></td></tr>
<tr class="separator:a1370b59383ce48458440621b3cb6d2f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62aaf4ca8f902374a4a5b64f21d3f68a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a62aaf4ca8f902374a4a5b64f21d3f68a">MakeVariableLessOrEqualValue</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="separator:a62aaf4ca8f902374a4a5b64f21d3f68a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0390cc561a56ce7546823fe74022de7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa0390cc561a56ce7546823fe74022de7">MakeVariableGreaterOrEqualValue</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="separator:aa0390cc561a56ce7546823fe74022de7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d9cb44ab71f437b44a602046b7304c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0d9cb44ab71f437b44a602046b7304c2">MakeSplitVariableDomain</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> val, bool start_with_lower_half)</td></tr>
<tr class="separator:a0d9cb44ab71f437b44a602046b7304c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28443cf0023da942be7d6e9e34871c7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a28443cf0023da942be7d6e9e34871c7f">MakeAssignVariableValueOrFail</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="separator:a28443cf0023da942be7d6e9e34871c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56b839340386d9232ebba3f108be0fec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a56b839340386d9232ebba3f108be0fec">MakeAssignVariableValueOrDoNothing</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="separator:a56b839340386d9232ebba3f108be0fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cce1054807415a9de573071d05b2d25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4cce1054807415a9de573071d05b2d25">MakeAssignVariablesValues</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;values)</td></tr>
<tr class="separator:a4cce1054807415a9de573071d05b2d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb4b40e28341f9c71198a6c9f0a78c06"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aeb4b40e28341f9c71198a6c9f0a78c06">MakeFailDecision</a> ()</td></tr>
<tr class="separator:aeb4b40e28341f9c71198a6c9f0a78c06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00f78f79ea5ff448caa08cba62054859"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a00f78f79ea5ff448caa08cba62054859">MakeDecision</a> (<a class="el" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> apply, <a class="el" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> refute)</td></tr>
<tr class="separator:a00f78f79ea5ff448caa08cba62054859"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbf7d490e8a610424c1cdcc336fed1b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#adbf7d490e8a610424c1cdcc336fed1b2">Compose</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db1, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db2)</td></tr>
<tr class="memdesc:adbf7d490e8a610424c1cdcc336fed1b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a decision builder which sequentially composes decision builders. <a href="classoperations__research_1_1_solver.html#adbf7d490e8a610424c1cdcc336fed1b2">More...</a><br /></td></tr>
<tr class="separator:adbf7d490e8a610424c1cdcc336fed1b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a621ee0adf3f4bfe542791a29e674f010"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a621ee0adf3f4bfe542791a29e674f010">Compose</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db1, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db2, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db3)</td></tr>
<tr class="separator:a621ee0adf3f4bfe542791a29e674f010"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5d9ab0205e5c3f5be37e9450d5af1ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae5d9ab0205e5c3f5be37e9450d5af1ed">Compose</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db1, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db2, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db3, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db4)</td></tr>
<tr class="separator:ae5d9ab0205e5c3f5be37e9450d5af1ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81e71c126a9066bd3c3177bd2ef4b123"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a81e71c126a9066bd3c3177bd2ef4b123">Compose</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * &gt; &amp;dbs)</td></tr>
<tr class="separator:a81e71c126a9066bd3c3177bd2ef4b123"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ffb0fce7364b43d73556c79ffce1a89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3ffb0fce7364b43d73556c79ffce1a89">Try</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db1, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db2)</td></tr>
<tr class="memdesc:a3ffb0fce7364b43d73556c79ffce1a89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a decision builder which will create a search tree where each decision builder is called from the top of the search tree. <a href="classoperations__research_1_1_solver.html#a3ffb0fce7364b43d73556c79ffce1a89">More...</a><br /></td></tr>
<tr class="separator:a3ffb0fce7364b43d73556c79ffce1a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99e4c78c7b2dc331fbf682f5e158e945"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a99e4c78c7b2dc331fbf682f5e158e945">Try</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db1, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db2, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db3)</td></tr>
<tr class="separator:a99e4c78c7b2dc331fbf682f5e158e945"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab67a32caadf6ffe757ecbefd60b51617"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab67a32caadf6ffe757ecbefd60b51617">Try</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db1, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db2, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db3, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db4)</td></tr>
<tr class="separator:ab67a32caadf6ffe757ecbefd60b51617"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a341ffdcad6e944d8dbdda8db7bb85131"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a341ffdcad6e944d8dbdda8db7bb85131">Try</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * &gt; &amp;dbs)</td></tr>
<tr class="separator:a341ffdcad6e944d8dbdda8db7bb85131"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8c32c78b5af7d4975432c0971369153"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab8c32c78b5af7d4975432c0971369153">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str)</td></tr>
<tr class="memdesc:ab8c32c78b5af7d4975432c0971369153"><td class="mdescLeft">&#160;</td><td class="mdescRight">Phases on <a class="el" href="classoperations__research_1_1_int_var.html" title="The class IntVar is a subset of IntExpr.">IntVar</a> arrays. <a href="classoperations__research_1_1_solver.html#ab8c32c78b5af7d4975432c0971369153">More...</a><br /></td></tr>
<tr class="separator:ab8c32c78b5af7d4975432c0971369153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac036235208064d566fad74b721bc1a0a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac036235208064d566fad74b721bc1a0a">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> var_evaluator, <a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str)</td></tr>
<tr class="separator:ac036235208064d566fad74b721bc1a0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9daba429662707b8d6bd5e119cd4da5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad9daba429662707b8d6bd5e119cd4da5">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator)</td></tr>
<tr class="separator:ad9daba429662707b8d6bd5e119cd4da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f1cb613307dc4642d193c7e88d665d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1f1cb613307dc4642d193c7e88d665d2">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="el" href="classoperations__research_1_1_solver.html#a3094f1982f455fd97342c64b7c0b3ccf">VariableValueComparator</a> var_val1_val2_comparator)</td></tr>
<tr class="memdesc:a1f1cb613307dc4642d193c7e88d665d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">var_val1_val2_comparator(var, val1, val2) is true iff assigning value "val1" to variable "var" is better than assigning value "val2". <a href="classoperations__research_1_1_solver.html#a1f1cb613307dc4642d193c7e88d665d2">More...</a><br /></td></tr>
<tr class="separator:a1f1cb613307dc4642d193c7e88d665d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb0d364d98cccb26eed10317ec8e442a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#adb0d364d98cccb26eed10317ec8e442a">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> var_evaluator, <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator)</td></tr>
<tr class="separator:adb0d364d98cccb26eed10317ec8e442a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7faa757e27fce57320e08645dd657249"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7faa757e27fce57320e08645dd657249">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator, <a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> tie_breaker)</td></tr>
<tr class="separator:a7faa757e27fce57320e08645dd657249"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63d7a3444090331f668a230b22f1948b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a63d7a3444090331f668a230b22f1948b">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> var_evaluator, <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator, <a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> tie_breaker)</td></tr>
<tr class="separator:a63d7a3444090331f668a230b22f1948b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae83f4bd46d24db9dd2177e84cae8da6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae83f4bd46d24db9dd2177e84cae8da6d">MakeDefaultPhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars)</td></tr>
<tr class="separator:ae83f4bd46d24db9dd2177e84cae8da6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff916492777aed8cc81ce92767cd461a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aff916492777aed8cc81ce92767cd461a">MakeDefaultPhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const <a class="el" href="structoperations__research_1_1_default_phase_parameters.html">DefaultPhaseParameters</a> &amp;<a class="el" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>)</td></tr>
<tr class="separator:aff916492777aed8cc81ce92767cd461a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4848ca854d8dc0abe1e78f9e820e7ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa4848ca854d8dc0abe1e78f9e820e7ea">MakePhase</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v0, <a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str)</td></tr>
<tr class="memdesc:aa4848ca854d8dc0abe1e78f9e820e7ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shortcuts for small arrays. <a href="classoperations__research_1_1_solver.html#aa4848ca854d8dc0abe1e78f9e820e7ea">More...</a><br /></td></tr>
<tr class="separator:aa4848ca854d8dc0abe1e78f9e820e7ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3240a820ac60b9152527d4dfdf5ce757"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3240a820ac60b9152527d4dfdf5ce757">MakePhase</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v0, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v1, <a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str)</td></tr>
<tr class="separator:a3240a820ac60b9152527d4dfdf5ce757"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a799cf5fa06f5941ec238a20c11a3732d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a799cf5fa06f5941ec238a20c11a3732d">MakePhase</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v0, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v1, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v2, <a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str)</td></tr>
<tr class="separator:a799cf5fa06f5941ec238a20c11a3732d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaa896a88abfa6b0f69c0bbb5dba2e66"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#acaa896a88abfa6b0f69c0bbb5dba2e66">MakePhase</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v0, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v1, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v2, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const v3, <a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str)</td></tr>
<tr class="separator:acaa896a88abfa6b0f69c0bbb5dba2e66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7ebf0dd587b61e1bc27293016cdb07a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa7ebf0dd587b61e1bc27293016cdb07a">MakeScheduleOrPostpone</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> est, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> *const marker)</td></tr>
<tr class="memdesc:aa7ebf0dd587b61e1bc27293016cdb07a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a decision that tries to schedule a task at a given time. <a href="classoperations__research_1_1_solver.html#aa7ebf0dd587b61e1bc27293016cdb07a">More...</a><br /></td></tr>
<tr class="separator:aa7ebf0dd587b61e1bc27293016cdb07a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a753c40fb7c8d6529a7e12e9069626702"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a753c40fb7c8d6529a7e12e9069626702">MakeScheduleOrExpedite</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> est, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> *const marker)</td></tr>
<tr class="memdesc:a753c40fb7c8d6529a7e12e9069626702"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a decision that tries to schedule a task at a given time. <a href="classoperations__research_1_1_solver.html#a753c40fb7c8d6529a7e12e9069626702">More...</a><br /></td></tr>
<tr class="separator:a753c40fb7c8d6529a7e12e9069626702"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a928815a4c6a634b490c936097b7d00a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a928815a4c6a634b490c936097b7d00a5">MakeRankFirstInterval</a> (<a class="el" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a> *const sequence, int <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</td></tr>
<tr class="memdesc:a928815a4c6a634b490c936097b7d00a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a decision that tries to rank first the ith interval var in the sequence variable. <a href="classoperations__research_1_1_solver.html#a928815a4c6a634b490c936097b7d00a5">More...</a><br /></td></tr>
<tr class="separator:a928815a4c6a634b490c936097b7d00a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0ac844f6576d238f6c11f4069b4576d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac0ac844f6576d238f6c11f4069b4576d">MakeRankLastInterval</a> (<a class="el" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a> *const sequence, int <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</td></tr>
<tr class="memdesc:ac0ac844f6576d238f6c11f4069b4576d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a decision that tries to rank last the ith interval var in the sequence variable. <a href="classoperations__research_1_1_solver.html#ac0ac844f6576d238f6c11f4069b4576d">More...</a><br /></td></tr>
<tr class="separator:ac0ac844f6576d238f6c11f4069b4576d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87f248f1badf459f6f9a28bf7400f4f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a87f248f1badf459f6f9a28bf7400f4f7">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> eval, <a class="el" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a> str)</td></tr>
<tr class="memdesc:a87f248f1badf459f6f9a28bf7400f4f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a decision builder which assigns values to variables which minimize the values returned by the evaluator. <a href="classoperations__research_1_1_solver.html#a87f248f1badf459f6f9a28bf7400f4f7">More...</a><br /></td></tr>
<tr class="separator:a87f248f1badf459f6f9a28bf7400f4f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac09271a5cd507d9af4a6b0a5e35a9516"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac09271a5cd507d9af4a6b0a5e35a9516">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> eval, <a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> tie_breaker, <a class="el" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a> str)</td></tr>
<tr class="memdesc:ac09271a5cd507d9af4a6b0a5e35a9516"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a decision builder which assigns values to variables which minimize the values returned by the evaluator. <a href="classoperations__research_1_1_solver.html#ac09271a5cd507d9af4a6b0a5e35a9516">More...</a><br /></td></tr>
<tr class="separator:ac09271a5cd507d9af4a6b0a5e35a9516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5817205b496242838ae749efe532f8e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5817205b496242838ae749efe532f8e1">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;intervals, <a class="el" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952f">IntervalStrategy</a> str)</td></tr>
<tr class="memdesc:a5817205b496242838ae749efe532f8e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scheduling phases. <a href="classoperations__research_1_1_solver.html#a5817205b496242838ae749efe532f8e1">More...</a><br /></td></tr>
<tr class="separator:a5817205b496242838ae749efe532f8e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac312642e015dc90cfe57ced402222862"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac312642e015dc90cfe57ced402222862">MakePhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a> * &gt; &amp;sequences, <a class="el" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482b">SequenceStrategy</a> str)</td></tr>
<tr class="separator:ac312642e015dc90cfe57ced402222862"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8b8c06e2106f61105c9e861bc4b6aa8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae8b8c06e2106f61105c9e861bc4b6aa8">MakeDecisionBuilderFromAssignment</a> (<a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const assignment, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars)</td></tr>
<tr class="memdesc:ae8b8c06e2106f61105c9e861bc4b6aa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a decision builder for which the left-most leaf corresponds to assignment, the rest of the tree being explored using 'db'. <a href="classoperations__research_1_1_solver.html#ae8b8c06e2106f61105c9e861bc4b6aa8">More...</a><br /></td></tr>
<tr class="separator:ae8b8c06e2106f61105c9e861bc4b6aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39757eedc8178cf992eb82aaf28df10c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a39757eedc8178cf992eb82aaf28df10c">MakeConstraintAdder</a> (<a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *const <a class="el" href="demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695">ct</a>)</td></tr>
<tr class="memdesc:a39757eedc8178cf992eb82aaf28df10c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a decision builder that will add the given constraint to the model. <a href="classoperations__research_1_1_solver.html#a39757eedc8178cf992eb82aaf28df10c">More...</a><br /></td></tr>
<tr class="separator:a39757eedc8178cf992eb82aaf28df10c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5afecd416b70bdf535a69119e4ffd271"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5afecd416b70bdf535a69119e4ffd271">MakeSolveOnce</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db)</td></tr>
<tr class="memdesc:a5afecd416b70bdf535a69119e4ffd271"><td class="mdescLeft">&#160;</td><td class="mdescRight">SolveOnce will collapse a search tree described by a decision builder 'db' and a set of monitors and wrap it into a single point. <a href="classoperations__research_1_1_solver.html#a5afecd416b70bdf535a69119e4ffd271">More...</a><br /></td></tr>
<tr class="separator:a5afecd416b70bdf535a69119e4ffd271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77bdbc3cfba031e3b33295b4c551d488"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a77bdbc3cfba031e3b33295b4c551d488">MakeSolveOnce</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor1)</td></tr>
<tr class="separator:a77bdbc3cfba031e3b33295b4c551d488"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a670dc3b46b8bc19cf07a7b90076aca5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a670dc3b46b8bc19cf07a7b90076aca5c">MakeSolveOnce</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor2)</td></tr>
<tr class="separator:a670dc3b46b8bc19cf07a7b90076aca5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2c5df6e512f5ebe6ac88b9b8f3a3058"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac2c5df6e512f5ebe6ac88b9b8f3a3058">MakeSolveOnce</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor2, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor3)</td></tr>
<tr class="separator:ac2c5df6e512f5ebe6ac88b9b8f3a3058"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac56745ef934f2e711fcd5aa02a827146"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac56745ef934f2e711fcd5aa02a827146">MakeSolveOnce</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor2, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor3, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor4)</td></tr>
<tr class="separator:ac56745ef934f2e711fcd5aa02a827146"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac26b924138fa2c1cbb1cdb83c4374ea3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac26b924138fa2c1cbb1cdb83c4374ea3">MakeSolveOnce</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, const std::vector&lt; <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * &gt; &amp;monitors)</td></tr>
<tr class="separator:ac26b924138fa2c1cbb1cdb83c4374ea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe794dabe568dd01c0182cb47a875984"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abe794dabe568dd01c0182cb47a875984">MakeNestedOptimize</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const solution, bool maximize, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step)</td></tr>
<tr class="memdesc:abe794dabe568dd01c0182cb47a875984"><td class="mdescLeft">&#160;</td><td class="mdescRight">NestedOptimize will collapse a search tree described by a decision builder 'db' and a set of monitors and wrap it into a single point. <a href="classoperations__research_1_1_solver.html#abe794dabe568dd01c0182cb47a875984">More...</a><br /></td></tr>
<tr class="separator:abe794dabe568dd01c0182cb47a875984"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a456b1b2bb9e5a76be330d389d59e38ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a456b1b2bb9e5a76be330d389d59e38ea">MakeNestedOptimize</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const solution, bool maximize, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor1)</td></tr>
<tr class="separator:a456b1b2bb9e5a76be330d389d59e38ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac69760c01925caaae12b05aae7d65b19"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac69760c01925caaae12b05aae7d65b19">MakeNestedOptimize</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const solution, bool maximize, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor2)</td></tr>
<tr class="separator:ac69760c01925caaae12b05aae7d65b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08fa770da318dadea466092213af8367"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a08fa770da318dadea466092213af8367">MakeNestedOptimize</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const solution, bool maximize, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor2, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor3)</td></tr>
<tr class="separator:a08fa770da318dadea466092213af8367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43bcb0f65c846428b8619d9c12ea4533"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a43bcb0f65c846428b8619d9c12ea4533">MakeNestedOptimize</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const solution, bool maximize, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor2, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor3, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor4)</td></tr>
<tr class="separator:a43bcb0f65c846428b8619d9c12ea4533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa56ef961d19359cee33e9f6537fe4549"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa56ef961d19359cee33e9f6537fe4549">MakeNestedOptimize</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const solution, bool maximize, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> step, const std::vector&lt; <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * &gt; &amp;monitors)</td></tr>
<tr class="separator:aa56ef961d19359cee33e9f6537fe4549"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae95ca181ba462987f0cd6e10eef83a97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae95ca181ba462987f0cd6e10eef83a97">MakeRestoreAssignment</a> (<a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *assignment)</td></tr>
<tr class="memdesc:ae95ca181ba462987f0cd6e10eef83a97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="el" href="classoperations__research_1_1_decision_builder.html" title="A DecisionBuilder is responsible for creating the search tree.">DecisionBuilder</a> which restores an <a class="el" href="classoperations__research_1_1_assignment.html" title="An Assignment is a variable -&gt; domains mapping, used to report solutions to the user.">Assignment</a> (calls void <a class="el" href="classoperations__research_1_1_assignment.html#a1896fe755b612dbebd2c46638f8977a2">Assignment::Restore()</a>) <a href="classoperations__research_1_1_solver.html#ae95ca181ba462987f0cd6e10eef83a97">More...</a><br /></td></tr>
<tr class="separator:ae95ca181ba462987f0cd6e10eef83a97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3e41eaf96a9ec044d34293897960631"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae3e41eaf96a9ec044d34293897960631">MakeStoreAssignment</a> (<a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *assignment)</td></tr>
<tr class="memdesc:ae3e41eaf96a9ec044d34293897960631"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="el" href="classoperations__research_1_1_decision_builder.html" title="A DecisionBuilder is responsible for creating the search tree.">DecisionBuilder</a> which stores an <a class="el" href="classoperations__research_1_1_assignment.html" title="An Assignment is a variable -&gt; domains mapping, used to report solutions to the user.">Assignment</a> (calls void <a class="el" href="classoperations__research_1_1_assignment.html#a3abcbe1fcd37d8982941a795ed22e34a">Assignment::Store()</a>) <a href="classoperations__research_1_1_solver.html#ae3e41eaf96a9ec044d34293897960631">More...</a><br /></td></tr>
<tr class="separator:ae3e41eaf96a9ec044d34293897960631"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabf79e2e1b17a7a5ce1c5e69cc3f582b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aabf79e2e1b17a7a5ce1c5e69cc3f582b">MakeOperator</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> op)</td></tr>
<tr class="memdesc:aabf79e2e1b17a7a5ce1c5e69cc3f582b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local <a class="el" href="classoperations__research_1_1_search.html">Search</a> Operators. <a href="classoperations__research_1_1_solver.html#aabf79e2e1b17a7a5ce1c5e69cc3f582b">More...</a><br /></td></tr>
<tr class="separator:aabf79e2e1b17a7a5ce1c5e69cc3f582b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60127c548cf811a3b54240d6b039c5ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a60127c548cf811a3b54240d6b039c5ea">MakeOperator</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;secondary_vars, <a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> op)</td></tr>
<tr class="separator:a60127c548cf811a3b54240d6b039c5ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dbb98d0c2db9df4320ca55a33c805e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3dbb98d0c2db9df4320ca55a33c805e3">MakeOperator</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> evaluator, <a class="el" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> op)</td></tr>
<tr class="separator:a3dbb98d0c2db9df4320ca55a33c805e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a783c59b969849452c383bab1d14b284b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a783c59b969849452c383bab1d14b284b">MakeOperator</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;secondary_vars, <a class="el" href="classoperations__research_1_1_solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> evaluator, <a class="el" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> op)</td></tr>
<tr class="separator:a783c59b969849452c383bab1d14b284b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a609ad11d842b8b7b4a8b0d2028818d31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a609ad11d842b8b7b4a8b0d2028818d31">MakeRandomLnsOperator</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, int number_of_variables)</td></tr>
<tr class="memdesc:a609ad11d842b8b7b4a8b0d2028818d31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a large neighborhood search operator which creates fragments (set of relaxed variables) with up to number_of_variables random variables (sampling with replacement is performed meaning that at most number_of_variables variables are selected). <a href="classoperations__research_1_1_solver.html#a609ad11d842b8b7b4a8b0d2028818d31">More...</a><br /></td></tr>
<tr class="separator:a609ad11d842b8b7b4a8b0d2028818d31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa83b57604b35e2bc68b21b436347c28b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa83b57604b35e2bc68b21b436347c28b">MakeRandomLnsOperator</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, int number_of_variables, <a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a> seed)</td></tr>
<tr class="separator:aa83b57604b35e2bc68b21b436347c28b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b5f4ac1fc0e68af2247581f7396f454"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a1b5f4ac1fc0e68af2247581f7396f454">MakeMoveTowardTargetOperator</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &amp;target)</td></tr>
<tr class="memdesc:a1b5f4ac1fc0e68af2247581f7396f454"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a local search operator that tries to move the assignment of some variables toward a target. <a href="classoperations__research_1_1_solver.html#a1b5f4ac1fc0e68af2247581f7396f454">More...</a><br /></td></tr>
<tr class="separator:a1b5f4ac1fc0e68af2247581f7396f454"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41c0ffe1046b2005c6bebdd80d5f8773"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a41c0ffe1046b2005c6bebdd80d5f8773">MakeMoveTowardTargetOperator</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;variables, const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;target_values)</td></tr>
<tr class="memdesc:a41c0ffe1046b2005c6bebdd80d5f8773"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a local search operator that tries to move the assignment of some variables toward a target. <a href="classoperations__research_1_1_solver.html#a41c0ffe1046b2005c6bebdd80d5f8773">More...</a><br /></td></tr>
<tr class="separator:a41c0ffe1046b2005c6bebdd80d5f8773"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b65e631181f40eedd7afba46116fa66"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5b65e631181f40eedd7afba46116fa66">ConcatenateOperators</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;ops)</td></tr>
<tr class="memdesc:a5b65e631181f40eedd7afba46116fa66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a local search operator which concatenates a vector of operators. <a href="classoperations__research_1_1_solver.html#a5b65e631181f40eedd7afba46116fa66">More...</a><br /></td></tr>
<tr class="separator:a5b65e631181f40eedd7afba46116fa66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af17b122f41dbc903a8e1aefa20628949"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af17b122f41dbc903a8e1aefa20628949">ConcatenateOperators</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;ops, bool restart)</td></tr>
<tr class="separator:af17b122f41dbc903a8e1aefa20628949"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab56a158564c3aeb7fc5f08627d288681"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab56a158564c3aeb7fc5f08627d288681">ConcatenateOperators</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;ops, std::function&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(int, int)&gt; evaluator)</td></tr>
<tr class="separator:ab56a158564c3aeb7fc5f08627d288681"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cadf6ba5aec276c1bab7db60b5eeb13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6cadf6ba5aec276c1bab7db60b5eeb13">RandomConcatenateOperators</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;ops)</td></tr>
<tr class="memdesc:a6cadf6ba5aec276c1bab7db60b5eeb13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeighbor(). <a href="classoperations__research_1_1_solver.html#a6cadf6ba5aec276c1bab7db60b5eeb13">More...</a><br /></td></tr>
<tr class="separator:a6cadf6ba5aec276c1bab7db60b5eeb13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5514ea0c078740c2faf4f5a924a813df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5514ea0c078740c2faf4f5a924a813df">RandomConcatenateOperators</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;ops, <a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a> seed)</td></tr>
<tr class="memdesc:a5514ea0c078740c2faf4f5a924a813df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeighbor(). <a href="classoperations__research_1_1_solver.html#a5514ea0c078740c2faf4f5a924a813df">More...</a><br /></td></tr>
<tr class="separator:a5514ea0c078740c2faf4f5a924a813df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1715ae8613b43ca37c2d76e61047a82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad1715ae8613b43ca37c2d76e61047a82">MultiArmedBanditConcatenateOperators</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;ops, double memory_coefficient, double exploration_coefficient, bool maximize)</td></tr>
<tr class="memdesc:ad1715ae8613b43ca37c2d76e61047a82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a local search operator which concatenates a vector of operators. <a href="classoperations__research_1_1_solver.html#ad1715ae8613b43ca37c2d76e61047a82">More...</a><br /></td></tr>
<tr class="separator:ad1715ae8613b43ca37c2d76e61047a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a742aa0758204beefab58ff0825e33893"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a742aa0758204beefab58ff0825e33893">MakeNeighborhoodLimit</a> (<a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const op, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> limit)</td></tr>
<tr class="memdesc:a742aa0758204beefab58ff0825e33893"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a local search operator that wraps another local search operator and limits the number of neighbors explored (i.e., calls to MakeNextNeighbor from the current solution (between two calls to Start()). <a href="classoperations__research_1_1_solver.html#a742aa0758204beefab58ff0825e33893">More...</a><br /></td></tr>
<tr class="separator:a742aa0758204beefab58ff0825e33893"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2e2c11fe0cb421b8b6785b3f0bbb201"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac2e2c11fe0cb421b8b6785b3f0bbb201">MakeLocalSearchPhase</a> (<a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const assignment, <a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *const <a class="el" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>)</td></tr>
<tr class="memdesc:ac2e2c11fe0cb421b8b6785b3f0bbb201"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local <a class="el" href="classoperations__research_1_1_search.html">Search</a> decision builders factories. <a href="classoperations__research_1_1_solver.html#ac2e2c11fe0cb421b8b6785b3f0bbb201">More...</a><br /></td></tr>
<tr class="separator:ac2e2c11fe0cb421b8b6785b3f0bbb201"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91eda0fa95a8ae13f412894b05d188d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a91eda0fa95a8ae13f412894b05d188d4">MakeLocalSearchPhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const first_solution, <a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *const <a class="el" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>)</td></tr>
<tr class="separator:a91eda0fa95a8ae13f412894b05d188d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ec960bcf67cfb15b00f95884425713b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4ec960bcf67cfb15b00f95884425713b">MakeLocalSearchPhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const first_solution, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const first_solution_sub_decision_builder, <a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *const <a class="el" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>)</td></tr>
<tr class="memdesc:a4ec960bcf67cfb15b00f95884425713b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variant with a sub_decison_builder specific to the first solution. <a href="classoperations__research_1_1_solver.html#a4ec960bcf67cfb15b00f95884425713b">More...</a><br /></td></tr>
<tr class="separator:a4ec960bcf67cfb15b00f95884425713b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af35f78c27f773a8ffc787537dc9f4982"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af35f78c27f773a8ffc787537dc9f4982">MakeLocalSearchPhase</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const first_solution, <a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *const <a class="el" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>)</td></tr>
<tr class="separator:af35f78c27f773a8ffc787537dc9f4982"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a953add22f3c0d887291eec2b40eb0aeb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a953add22f3c0d887291eec2b40eb0aeb">MakeDefaultSolutionPool</a> ()</td></tr>
<tr class="memdesc:a953add22f3c0d887291eec2b40eb0aeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solution Pool. <a href="classoperations__research_1_1_solver.html#a953add22f3c0d887291eec2b40eb0aeb">More...</a><br /></td></tr>
<tr class="separator:a953add22f3c0d887291eec2b40eb0aeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70cdd3625d5c9c18b5cd1d662cb704bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a70cdd3625d5c9c18b5cd1d662cb704bb">MakeLocalSearchPhaseParameters</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *objective, <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const ls_operator, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const sub_decision_builder)</td></tr>
<tr class="memdesc:a70cdd3625d5c9c18b5cd1d662cb704bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local <a class="el" href="classoperations__research_1_1_search.html">Search</a> Phase Parameters. <a href="classoperations__research_1_1_solver.html#a70cdd3625d5c9c18b5cd1d662cb704bb">More...</a><br /></td></tr>
<tr class="separator:a70cdd3625d5c9c18b5cd1d662cb704bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a112004c0c1baefeaa167b25d03002d19"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a112004c0c1baefeaa167b25d03002d19">MakeLocalSearchPhaseParameters</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *objective, <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const ls_operator, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const sub_decision_builder, <a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *const limit)</td></tr>
<tr class="separator:a112004c0c1baefeaa167b25d03002d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11af853d7a7d2ebbdf01cf2ee6811f11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a11af853d7a7d2ebbdf01cf2ee6811f11">MakeLocalSearchPhaseParameters</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *objective, <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const ls_operator, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const sub_decision_builder, <a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *const limit, <a class="el" href="classoperations__research_1_1_local_search_filter_manager.html">LocalSearchFilterManager</a> *filter_manager)</td></tr>
<tr class="separator:a11af853d7a7d2ebbdf01cf2ee6811f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5273d9884b017bc280ce67c427927211"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5273d9884b017bc280ce67c427927211">MakeLocalSearchPhaseParameters</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *objective, <a class="el" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a> *const pool, <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const ls_operator, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const sub_decision_builder)</td></tr>
<tr class="separator:a5273d9884b017bc280ce67c427927211"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abee99b27e59ac8f7676db50d736a17ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abee99b27e59ac8f7676db50d736a17ab">MakeLocalSearchPhaseParameters</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *objective, <a class="el" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a> *const pool, <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const ls_operator, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const sub_decision_builder, <a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *const limit)</td></tr>
<tr class="separator:abee99b27e59ac8f7676db50d736a17ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d3c3e8cd9ba876f082fee6a773a86fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2d3c3e8cd9ba876f082fee6a773a86fc">MakeLocalSearchPhaseParameters</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *objective, <a class="el" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a> *const pool, <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const ls_operator, <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const sub_decision_builder, <a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *const limit, <a class="el" href="classoperations__research_1_1_local_search_filter_manager.html">LocalSearchFilterManager</a> *filter_manager)</td></tr>
<tr class="separator:a2d3c3e8cd9ba876f082fee6a773a86fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eb867095eedbb05c137aae7aac299de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5eb867095eedbb05c137aae7aac299de">MakeAcceptFilter</a> ()</td></tr>
<tr class="memdesc:a5eb867095eedbb05c137aae7aac299de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local <a class="el" href="classoperations__research_1_1_search.html">Search</a> Filters. <a href="classoperations__research_1_1_solver.html#a5eb867095eedbb05c137aae7aac299de">More...</a><br /></td></tr>
<tr class="separator:a5eb867095eedbb05c137aae7aac299de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b9158014841db28425c3fe68700af22"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5b9158014841db28425c3fe68700af22">MakeRejectFilter</a> ()</td></tr>
<tr class="separator:a5b9158014841db28425c3fe68700af22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cb99d2eebdcea4267b7ab1b21059d37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0cb99d2eebdcea4267b7ab1b21059d37">MakeVariableDomainFilter</a> ()</td></tr>
<tr class="separator:a0cb99d2eebdcea4267b7ab1b21059d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7327212dd857729d8d4dfaa7192a55ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var_local_search_filter.html">IntVarLocalSearchFilter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7327212dd857729d8d4dfaa7192a55ef">MakeSumObjectiveFilter</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> values, <a class="el" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">Solver::LocalSearchFilterBound</a> filter_enum)</td></tr>
<tr class="separator:a7327212dd857729d8d4dfaa7192a55ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a070201812ff6640e86ad7d2d68181703"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var_local_search_filter.html">IntVarLocalSearchFilter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a070201812ff6640e86ad7d2d68181703">MakeSumObjectiveFilter</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;secondary_vars, <a class="el" href="classoperations__research_1_1_solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> values, <a class="el" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">Solver::LocalSearchFilterBound</a> filter_enum)</td></tr>
<tr class="separator:a070201812ff6640e86ad7d2d68181703"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4de855c905df4a729715972dc39997a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4de855c905df4a729715972dc39997a4">TopPeriodicCheck</a> ()</td></tr>
<tr class="memdesc:a4de855c905df4a729715972dc39997a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs PeriodicCheck on the top-level search; for instance, can be called from a nested solve to check top-level limits. <a href="classoperations__research_1_1_solver.html#a4de855c905df4a729715972dc39997a4">More...</a><br /></td></tr>
<tr class="separator:a4de855c905df4a729715972dc39997a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab003619f8e2f35a1ca01aa7713c674ea"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab003619f8e2f35a1ca01aa7713c674ea">TopProgressPercent</a> ()</td></tr>
<tr class="memdesc:ab003619f8e2f35a1ca01aa7713c674ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a percentage representing the propress of the search before reaching the limits of the top-level search (can be called from a nested solve). <a href="classoperations__research_1_1_solver.html#ab003619f8e2f35a1ca01aa7713c674ea">More...</a><br /></td></tr>
<tr class="separator:ab003619f8e2f35a1ca01aa7713c674ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71535de01a6527099122f4b7284e1796"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a71535de01a6527099122f4b7284e1796">PushState</a> ()</td></tr>
<tr class="memdesc:a71535de01a6527099122f4b7284e1796"><td class="mdescLeft">&#160;</td><td class="mdescRight">The PushState and PopState methods manipulates the states of the reversible objects. <a href="classoperations__research_1_1_solver.html#a71535de01a6527099122f4b7284e1796">More...</a><br /></td></tr>
<tr class="separator:a71535de01a6527099122f4b7284e1796"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a831b8d703cefe8bce66a0483e08917ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a831b8d703cefe8bce66a0483e08917ee">PopState</a> ()</td></tr>
<tr class="separator:a831b8d703cefe8bce66a0483e08917ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a657ccc52a96d58f8c0e8eedc204952fb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a657ccc52a96d58f8c0e8eedc204952fb">SearchDepth</a> () const</td></tr>
<tr class="memdesc:a657ccc52a96d58f8c0e8eedc204952fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the search depth of the current active search. <a href="classoperations__research_1_1_solver.html#a657ccc52a96d58f8c0e8eedc204952fb">More...</a><br /></td></tr>
<tr class="separator:a657ccc52a96d58f8c0e8eedc204952fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac9afa5dce7f5a9edfa9655496dbc47b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aac9afa5dce7f5a9edfa9655496dbc47b">SearchLeftDepth</a> () const</td></tr>
<tr class="memdesc:aac9afa5dce7f5a9edfa9655496dbc47b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the search left depth of the current active search. <a href="classoperations__research_1_1_solver.html#aac9afa5dce7f5a9edfa9655496dbc47b">More...</a><br /></td></tr>
<tr class="separator:aac9afa5dce7f5a9edfa9655496dbc47b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d9ad7ab9d335a6284cf55573c1e99a1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a8d9ad7ab9d335a6284cf55573c1e99a1">SolveDepth</a> () const</td></tr>
<tr class="memdesc:a8d9ad7ab9d335a6284cf55573c1e99a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of nested searches. <a href="classoperations__research_1_1_solver.html#a8d9ad7ab9d335a6284cf55573c1e99a1">More...</a><br /></td></tr>
<tr class="separator:a8d9ad7ab9d335a6284cf55573c1e99a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accc247a793239898fa4a822389614c73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#accc247a793239898fa4a822389614c73">SetBranchSelector</a> (<a class="el" href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a> bs)</td></tr>
<tr class="memdesc:accc247a793239898fa4a822389614c73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the given branch selector on the current active search. <a href="classoperations__research_1_1_solver.html#accc247a793239898fa4a822389614c73">More...</a><br /></td></tr>
<tr class="separator:accc247a793239898fa4a822389614c73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50abbcc8065d8edb6d4bd2d7362c736a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a50abbcc8065d8edb6d4bd2d7362c736a">MakeApplyBranchSelector</a> (<a class="el" href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a> bs)</td></tr>
<tr class="memdesc:a50abbcc8065d8edb6d4bd2d7362c736a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a decision builder that will set the branch selector. <a href="classoperations__research_1_1_solver.html#a50abbcc8065d8edb6d4bd2d7362c736a">More...</a><br /></td></tr>
<tr class="separator:a50abbcc8065d8edb6d4bd2d7362c736a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a675d33a9ef9aa399017fb68e652c7a5c"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a675d33a9ef9aa399017fb68e652c7a5c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a675d33a9ef9aa399017fb68e652c7a5c">SaveAndSetValue</a> (T *adr, T val)</td></tr>
<tr class="memdesc:a675d33a9ef9aa399017fb68e652c7a5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">All-in-one SaveAndSetValue. <a href="classoperations__research_1_1_solver.html#a675d33a9ef9aa399017fb68e652c7a5c">More...</a><br /></td></tr>
<tr class="separator:a675d33a9ef9aa399017fb68e652c7a5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affc00ecba247e10af0e2bebb3e1718c5"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:affc00ecba247e10af0e2bebb3e1718c5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#affc00ecba247e10af0e2bebb3e1718c5">SaveAndAdd</a> (T *adr, T val)</td></tr>
<tr class="memdesc:affc00ecba247e10af0e2bebb3e1718c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">All-in-one SaveAndAdd_value. <a href="classoperations__research_1_1_solver.html#affc00ecba247e10af0e2bebb3e1718c5">More...</a><br /></td></tr>
<tr class="separator:affc00ecba247e10af0e2bebb3e1718c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54362ea48f6e179eb3264e4e3d910d03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a54362ea48f6e179eb3264e4e3d910d03">Rand64</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> size)</td></tr>
<tr class="memdesc:a54362ea48f6e179eb3264e4e3d910d03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a random value between 0 and 'size' - 1;. <a href="classoperations__research_1_1_solver.html#a54362ea48f6e179eb3264e4e3d910d03">More...</a><br /></td></tr>
<tr class="separator:a54362ea48f6e179eb3264e4e3d910d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9245209bfba33fe84129683a93a27a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ad9245209bfba33fe84129683a93a27a7">Rand32</a> (<a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a> size)</td></tr>
<tr class="memdesc:ad9245209bfba33fe84129683a93a27a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a random value between 0 and 'size' - 1;. <a href="classoperations__research_1_1_solver.html#ad9245209bfba33fe84129683a93a27a7">More...</a><br /></td></tr>
<tr class="separator:ad9245209bfba33fe84129683a93a27a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1d99d874f178f28a6cc2abc9c6f30a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab1d99d874f178f28a6cc2abc9c6f30a4">ReSeed</a> (<a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a> seed)</td></tr>
<tr class="memdesc:ab1d99d874f178f28a6cc2abc9c6f30a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reseed the solver random generator. <a href="classoperations__research_1_1_solver.html#ab1d99d874f178f28a6cc2abc9c6f30a4">More...</a><br /></td></tr>
<tr class="separator:ab1d99d874f178f28a6cc2abc9c6f30a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb5dd2b903aed4484d190730863f26c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#adb5dd2b903aed4484d190730863f26c2">ExportProfilingOverview</a> (const std::string &amp;filename)</td></tr>
<tr class="memdesc:adb5dd2b903aed4484d190730863f26c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exports the profiling information in a human readable overview. <a href="classoperations__research_1_1_solver.html#adb5dd2b903aed4484d190730863f26c2">More...</a><br /></td></tr>
<tr class="separator:adb5dd2b903aed4484d190730863f26c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac351c16876d84a5b0602aa1337a3c61"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aac351c16876d84a5b0602aa1337a3c61">LocalSearchProfile</a> () const</td></tr>
<tr class="memdesc:aac351c16876d84a5b0602aa1337a3c61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns local search profiling information in a human readable format. <a href="classoperations__research_1_1_solver.html#aac351c16876d84a5b0602aa1337a3c61">More...</a><br /></td></tr>
<tr class="separator:aac351c16876d84a5b0602aa1337a3c61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23b67374a08dfb275ebd9f084ff42567"><td class="memItemLeft" align="right" valign="top">ConstraintSolverStatistics&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a23b67374a08dfb275ebd9f084ff42567">GetConstraintSolverStatistics</a> () const</td></tr>
<tr class="memdesc:a23b67374a08dfb275ebd9f084ff42567"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns detailed cp search statistics. <a href="classoperations__research_1_1_solver.html#a23b67374a08dfb275ebd9f084ff42567">More...</a><br /></td></tr>
<tr class="separator:a23b67374a08dfb275ebd9f084ff42567"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2563992eba2a464bd9f4c56c7f894945"><td class="memItemLeft" align="right" valign="top">LocalSearchStatistics&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a2563992eba2a464bd9f4c56c7f894945">GetLocalSearchStatistics</a> () const</td></tr>
<tr class="memdesc:a2563992eba2a464bd9f4c56c7f894945"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns detailed local search statistics. <a href="classoperations__research_1_1_solver.html#a2563992eba2a464bd9f4c56c7f894945">More...</a><br /></td></tr>
<tr class="separator:a2563992eba2a464bd9f4c56c7f894945"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2613a9bd44c5b87559103fc66bfbda4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab2613a9bd44c5b87559103fc66bfbda4">CurrentlyInSolve</a> () const</td></tr>
<tr class="memdesc:ab2613a9bd44c5b87559103fc66bfbda4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true whether the current search has been created using a <a class="el" href="classoperations__research_1_1_solver.html#a946780dfafc8faa3dd2d345850213be5">Solve()</a> call instead of a NewSearch one. <a href="classoperations__research_1_1_solver.html#ab2613a9bd44c5b87559103fc66bfbda4">More...</a><br /></td></tr>
<tr class="separator:ab2613a9bd44c5b87559103fc66bfbda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86ecff14fc3b94df60069a4bca94c06b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a86ecff14fc3b94df60069a4bca94c06b">constraints</a> () const</td></tr>
<tr class="memdesc:a86ecff14fc3b94df60069a4bca94c06b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counts the number of constraints that have been added to the solver before the search. <a href="classoperations__research_1_1_solver.html#a86ecff14fc3b94df60069a4bca94c06b">More...</a><br /></td></tr>
<tr class="separator:a86ecff14fc3b94df60069a4bca94c06b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac4aa5ecf086378b1bbac4b669bab4db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aac4aa5ecf086378b1bbac4b669bab4db">Accept</a> (<a class="el" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a> *const visitor) const</td></tr>
<tr class="memdesc:aac4aa5ecf086378b1bbac4b669bab4db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accepts the given model visitor. <a href="classoperations__research_1_1_solver.html#aac4aa5ecf086378b1bbac4b669bab4db">More...</a><br /></td></tr>
<tr class="separator:aac4aa5ecf086378b1bbac4b669bab4db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb28bd81075ef9b2f5a29c32eb46ba92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afb28bd81075ef9b2f5a29c32eb46ba92">balancing_decision</a> () const</td></tr>
<tr class="separator:afb28bd81075ef9b2f5a29c32eb46ba92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9387021d508fb4ecec7728972d7b8a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae9387021d508fb4ecec7728972d7b8a4">set_fail_intercept</a> (std::function&lt; void()&gt; fail_intercept)</td></tr>
<tr class="memdesc:ae9387021d508fb4ecec7728972d7b8a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal. <a href="classoperations__research_1_1_solver.html#ae9387021d508fb4ecec7728972d7b8a4">More...</a><br /></td></tr>
<tr class="separator:ae9387021d508fb4ecec7728972d7b8a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95d15794f0eaa4727439f364889a8064"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a95d15794f0eaa4727439f364889a8064">clear_fail_intercept</a> ()</td></tr>
<tr class="separator:a95d15794f0eaa4727439f364889a8064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10eb8307ae92ccc5dd7cbd17a9e5a4a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_demon_profiler.html">DemonProfiler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a10eb8307ae92ccc5dd7cbd17a9e5a4a6">demon_profiler</a> () const</td></tr>
<tr class="memdesc:a10eb8307ae92ccc5dd7cbd17a9e5a4a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access to demon profiler. <a href="classoperations__research_1_1_solver.html#a10eb8307ae92ccc5dd7cbd17a9e5a4a6">More...</a><br /></td></tr>
<tr class="separator:a10eb8307ae92ccc5dd7cbd17a9e5a4a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5672241cc0faf1be50826c7795320cac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5672241cc0faf1be50826c7795320cac">SetUseFastLocalSearch</a> (bool use_fast_local_search)</td></tr>
<tr class="memdesc:a5672241cc0faf1be50826c7795320cac"><td class="mdescLeft">&#160;</td><td class="mdescRight">enabled for metaheuristics. <a href="classoperations__research_1_1_solver.html#a5672241cc0faf1be50826c7795320cac">More...</a><br /></td></tr>
<tr class="separator:a5672241cc0faf1be50826c7795320cac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa58a5d8b15333d39678c0d6180c1c0b1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa58a5d8b15333d39678c0d6180c1c0b1">UseFastLocalSearch</a> () const</td></tr>
<tr class="memdesc:aa58a5d8b15333d39678c0d6180c1c0b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if fast local search is enabled. <a href="classoperations__research_1_1_solver.html#aa58a5d8b15333d39678c0d6180c1c0b1">More...</a><br /></td></tr>
<tr class="separator:aa58a5d8b15333d39678c0d6180c1c0b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dd1d43eaa36e3edea0a0c24a1eb558e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0dd1d43eaa36e3edea0a0c24a1eb558e">HasName</a> (const <a class="el" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a> *object) const</td></tr>
<tr class="memdesc:a0dd1d43eaa36e3edea0a0c24a1eb558e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the object has been named or not. <a href="classoperations__research_1_1_solver.html#a0dd1d43eaa36e3edea0a0c24a1eb558e">More...</a><br /></td></tr>
<tr class="separator:a0dd1d43eaa36e3edea0a0c24a1eb558e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a202227fee0ce0a3cbf8218379a410d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7a202227fee0ce0a3cbf8218379a410d">RegisterDemon</a> (<a class="el" href="classoperations__research_1_1_demon.html">Demon</a> *const demon)</td></tr>
<tr class="memdesc:a7a202227fee0ce0a3cbf8218379a410d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new demon and wraps it inside a <a class="el" href="classoperations__research_1_1_demon_profiler.html">DemonProfiler</a> if necessary. <a href="classoperations__research_1_1_solver.html#a7a202227fee0ce0a3cbf8218379a410d">More...</a><br /></td></tr>
<tr class="separator:a7a202227fee0ce0a3cbf8218379a410d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f5f5eb80fe6b09d39ff1c0f0b816a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a14f5f5eb80fe6b09d39ff1c0f0b816a3">RegisterIntExpr</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr)</td></tr>
<tr class="memdesc:a14f5f5eb80fe6b09d39ff1c0f0b816a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a new <a class="el" href="classoperations__research_1_1_int_expr.html" title="The class IntExpr is the base of all integer expressions in constraint programming.">IntExpr</a> and wraps it inside a TraceIntExpr if necessary. <a href="classoperations__research_1_1_solver.html#a14f5f5eb80fe6b09d39ff1c0f0b816a3">More...</a><br /></td></tr>
<tr class="separator:a14f5f5eb80fe6b09d39ff1c0f0b816a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a320ce6dcbd8f9f17cd5ae933dfefc51b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a320ce6dcbd8f9f17cd5ae933dfefc51b">RegisterIntVar</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>)</td></tr>
<tr class="memdesc:a320ce6dcbd8f9f17cd5ae933dfefc51b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a new <a class="el" href="classoperations__research_1_1_int_var.html" title="The class IntVar is a subset of IntExpr.">IntVar</a> and wraps it inside a TraceIntVar if necessary. <a href="classoperations__research_1_1_solver.html#a320ce6dcbd8f9f17cd5ae933dfefc51b">More...</a><br /></td></tr>
<tr class="separator:a320ce6dcbd8f9f17cd5ae933dfefc51b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb4f63f7ef24e1894c88755c8e18b4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#afcb4f63f7ef24e1894c88755c8e18b4e">RegisterIntervalVar</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>)</td></tr>
<tr class="memdesc:afcb4f63f7ef24e1894c88755c8e18b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a new <a class="el" href="classoperations__research_1_1_interval_var.html" title="Interval variables are often used in scheduling.">IntervalVar</a> and wraps it inside a TraceIntervalVar if necessary. <a href="classoperations__research_1_1_solver.html#afcb4f63f7ef24e1894c88755c8e18b4e">More...</a><br /></td></tr>
<tr class="separator:afcb4f63f7ef24e1894c88755c8e18b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c06ab0a290a6fbdc909fd63c192a4bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_search.html">Search</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7c06ab0a290a6fbdc909fd63c192a4bf">ActiveSearch</a> () const</td></tr>
<tr class="memdesc:a7c06ab0a290a6fbdc909fd63c192a4bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the active search, nullptr outside search. <a href="classoperations__research_1_1_solver.html#a7c06ab0a290a6fbdc909fd63c192a4bf">More...</a><br /></td></tr>
<tr class="separator:a7c06ab0a290a6fbdc909fd63c192a4bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe9b685ee0bca9e541bce7d2dbd61761"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_model_cache.html">ModelCache</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abe9b685ee0bca9e541bce7d2dbd61761">Cache</a> () const</td></tr>
<tr class="memdesc:abe9b685ee0bca9e541bce7d2dbd61761"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the cache of the model. <a href="classoperations__research_1_1_solver.html#abe9b685ee0bca9e541bce7d2dbd61761">More...</a><br /></td></tr>
<tr class="separator:abe9b685ee0bca9e541bce7d2dbd61761"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5dafec4a3984f3a489f81ad5af0e4c1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae5dafec4a3984f3a489f81ad5af0e4c1">InstrumentsDemons</a> () const</td></tr>
<tr class="memdesc:ae5dafec4a3984f3a489f81ad5af0e4c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether we are instrumenting demons. <a href="classoperations__research_1_1_solver.html#ae5dafec4a3984f3a489f81ad5af0e4c1">More...</a><br /></td></tr>
<tr class="separator:ae5dafec4a3984f3a489f81ad5af0e4c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dc3be2f47a73287c5edd7cf80beaa89"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3dc3be2f47a73287c5edd7cf80beaa89">IsProfilingEnabled</a> () const</td></tr>
<tr class="memdesc:a3dc3be2f47a73287c5edd7cf80beaa89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether we are profiling the solver. <a href="classoperations__research_1_1_solver.html#a3dc3be2f47a73287c5edd7cf80beaa89">More...</a><br /></td></tr>
<tr class="separator:a3dc3be2f47a73287c5edd7cf80beaa89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72954fb35fd0dd0d796b18d893e957b4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a72954fb35fd0dd0d796b18d893e957b4">IsLocalSearchProfilingEnabled</a> () const</td></tr>
<tr class="memdesc:a72954fb35fd0dd0d796b18d893e957b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether we are profiling local search. <a href="classoperations__research_1_1_solver.html#a72954fb35fd0dd0d796b18d893e957b4">More...</a><br /></td></tr>
<tr class="separator:a72954fb35fd0dd0d796b18d893e957b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa637423a56e06d52bc9beed8d6fda7ab"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aa637423a56e06d52bc9beed8d6fda7ab">InstrumentsVariables</a> () const</td></tr>
<tr class="memdesc:aa637423a56e06d52bc9beed8d6fda7ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether we are tracing variables. <a href="classoperations__research_1_1_solver.html#aa637423a56e06d52bc9beed8d6fda7ab">More...</a><br /></td></tr>
<tr class="separator:aa637423a56e06d52bc9beed8d6fda7ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac50a9f394a6fc3e1707074bccd8bd334"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ac50a9f394a6fc3e1707074bccd8bd334">NameAllVariables</a> () const</td></tr>
<tr class="memdesc:ac50a9f394a6fc3e1707074bccd8bd334"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether all variables should be named. <a href="classoperations__research_1_1_solver.html#ac50a9f394a6fc3e1707074bccd8bd334">More...</a><br /></td></tr>
<tr class="separator:ac50a9f394a6fc3e1707074bccd8bd334"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c44ecfda194a78c5167e7c9d3579b01"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a9c44ecfda194a78c5167e7c9d3579b01">model_name</a> () const</td></tr>
<tr class="memdesc:a9c44ecfda194a78c5167e7c9d3579b01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the model. <a href="classoperations__research_1_1_solver.html#a9c44ecfda194a78c5167e7c9d3579b01">More...</a><br /></td></tr>
<tr class="separator:a9c44ecfda194a78c5167e7c9d3579b01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92271ad8e09cd801f83ae84e6af5f609"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_propagation_monitor.html">PropagationMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a92271ad8e09cd801f83ae84e6af5f609">GetPropagationMonitor</a> () const</td></tr>
<tr class="memdesc:a92271ad8e09cd801f83ae84e6af5f609"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the propagation monitor. <a href="classoperations__research_1_1_solver.html#a92271ad8e09cd801f83ae84e6af5f609">More...</a><br /></td></tr>
<tr class="separator:a92271ad8e09cd801f83ae84e6af5f609"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4260a3ba3644fec332cd650e2d3c9f68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4260a3ba3644fec332cd650e2d3c9f68">AddPropagationMonitor</a> (<a class="el" href="classoperations__research_1_1_propagation_monitor.html">PropagationMonitor</a> *const monitor)</td></tr>
<tr class="memdesc:a4260a3ba3644fec332cd650e2d3c9f68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the propagation monitor to the solver. <a href="classoperations__research_1_1_solver.html#a4260a3ba3644fec332cd650e2d3c9f68">More...</a><br /></td></tr>
<tr class="separator:a4260a3ba3644fec332cd650e2d3c9f68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a869f7ed2cc6505c59ecf1eb8ecb2288a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_search_monitor.html">LocalSearchMonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a869f7ed2cc6505c59ecf1eb8ecb2288a">GetLocalSearchMonitor</a> () const</td></tr>
<tr class="memdesc:a869f7ed2cc6505c59ecf1eb8ecb2288a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the local search monitor. <a href="classoperations__research_1_1_solver.html#a869f7ed2cc6505c59ecf1eb8ecb2288a">More...</a><br /></td></tr>
<tr class="separator:a869f7ed2cc6505c59ecf1eb8ecb2288a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c3752c7d9425f4a5243176d3f6fcbc7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6c3752c7d9425f4a5243176d3f6fcbc7">AddLocalSearchMonitor</a> (<a class="el" href="classoperations__research_1_1_local_search_monitor.html">LocalSearchMonitor</a> *monitor)</td></tr>
<tr class="memdesc:a6c3752c7d9425f4a5243176d3f6fcbc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the local search monitor to the solver. <a href="classoperations__research_1_1_solver.html#a6c3752c7d9425f4a5243176d3f6fcbc7">More...</a><br /></td></tr>
<tr class="separator:a6c3752c7d9425f4a5243176d3f6fcbc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a54531bd135948e0c2a039b4435d952"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4a54531bd135948e0c2a039b4435d952">SetSearchContext</a> (<a class="el" href="classoperations__research_1_1_search.html">Search</a> *search, const std::string &amp;search_context)</td></tr>
<tr class="separator:a4a54531bd135948e0c2a039b4435d952"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a314668fc29e10470b51994530769d1b0"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a314668fc29e10470b51994530769d1b0">SearchContext</a> () const</td></tr>
<tr class="separator:a314668fc29e10470b51994530769d1b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8769d5e084acd0e19f0ddfa18207aafc"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a8769d5e084acd0e19f0ddfa18207aafc">SearchContext</a> (const <a class="el" href="classoperations__research_1_1_search.html">Search</a> *search) const</td></tr>
<tr class="separator:a8769d5e084acd0e19f0ddfa18207aafc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c57f3559561d1a7616bbe881d7e79d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3c57f3559561d1a7616bbe881d7e79d3">GetOrCreateLocalSearchState</a> ()</td></tr>
<tr class="memdesc:a3c57f3559561d1a7616bbe881d7e79d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns (or creates) an assignment representing the state of local search. <a href="classoperations__research_1_1_solver.html#a3c57f3559561d1a7616bbe881d7e79d3">More...</a><br /></td></tr>
<tr class="separator:a3c57f3559561d1a7616bbe881d7e79d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f7179b03ab49e7ee79f9b7e8c4dc129"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0f7179b03ab49e7ee79f9b7e8c4dc129">ClearLocalSearchState</a> ()</td></tr>
<tr class="memdesc:a0f7179b03ab49e7ee79f9b7e8c4dc129"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the local search state. <a href="classoperations__research_1_1_solver.html#a0f7179b03ab49e7ee79f9b7e8c4dc129">More...</a><br /></td></tr>
<tr class="separator:a0f7179b03ab49e7ee79f9b7e8c4dc129"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a078a6a3543d033fc6f9b42938f96a702"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a078a6a3543d033fc6f9b42938f96a702">IsBooleanVar</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> **inner_var, bool *is_negated) const</td></tr>
<tr class="memdesc:a078a6a3543d033fc6f9b42938f96a702"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if expr represents either boolean_var or 1 - boolean_var. <a href="classoperations__research_1_1_solver.html#a078a6a3543d033fc6f9b42938f96a702">More...</a><br /></td></tr>
<tr class="separator:a078a6a3543d033fc6f9b42938f96a702"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6816fc6dec978dc3ca41929a9dba7e8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af6816fc6dec978dc3ca41929a9dba7e8">IsProduct</a> (<a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const expr, <a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> **inner_expr, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> *<a class="el" href="markowitz_8cc.html#a722e11301e7de93191aa47dbd3ecb4d8">coefficient</a>)</td></tr>
<tr class="memdesc:af6816fc6dec978dc3ca41929a9dba7e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if expr represents a product of a expr and a constant. <a href="classoperations__research_1_1_solver.html#af6816fc6dec978dc3ca41929a9dba7e8">More...</a><br /></td></tr>
<tr class="separator:af6816fc6dec978dc3ca41929a9dba7e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca0863f3e90f03bf77bbcb9aceb02e85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aca0863f3e90f03bf77bbcb9aceb02e85">CastExpression</a> (const <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>) const</td></tr>
<tr class="memdesc:aca0863f3e90f03bf77bbcb9aceb02e85"><td class="mdescLeft">&#160;</td><td class="mdescRight">!defined(SWIG) <a href="classoperations__research_1_1_solver.html#aca0863f3e90f03bf77bbcb9aceb02e85">More...</a><br /></td></tr>
<tr class="separator:aca0863f3e90f03bf77bbcb9aceb02e85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af62a385d57256e5179b185d003dcfea1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af62a385d57256e5179b185d003dcfea1">FinishCurrentSearch</a> ()</td></tr>
<tr class="memdesc:af62a385d57256e5179b185d003dcfea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells the solver to kill or restart the current search. <a href="classoperations__research_1_1_solver.html#af62a385d57256e5179b185d003dcfea1">More...</a><br /></td></tr>
<tr class="separator:af62a385d57256e5179b185d003dcfea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a166c36cdc73ef649a97330f9a5f421e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a166c36cdc73ef649a97330f9a5f421e1">RestartCurrentSearch</a> ()</td></tr>
<tr class="separator:a166c36cdc73ef649a97330f9a5f421e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64e3df5cecd4de1a3d052795458f7069"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a64e3df5cecd4de1a3d052795458f7069">ShouldFail</a> ()</td></tr>
<tr class="memdesc:a64e3df5cecd4de1a3d052795458f7069"><td class="mdescLeft">&#160;</td><td class="mdescRight">These methods are only useful for the SWIG wrappers, which need a way to externally cause the <a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a> to fail. <a href="classoperations__research_1_1_solver.html#a64e3df5cecd4de1a3d052795458f7069">More...</a><br /></td></tr>
<tr class="separator:a64e3df5cecd4de1a3d052795458f7069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d5ff1ccb832c9d27fa7a579248f8084"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a6d5ff1ccb832c9d27fa7a579248f8084">CheckFail</a> ()</td></tr>
<tr class="separator:a6d5ff1ccb832c9d27fa7a579248f8084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a946780dfafc8faa3dd2d345850213be5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a946780dfafc8faa3dd2d345850213be5">Solve</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, const std::vector&lt; <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * &gt; &amp;monitors)</td></tr>
<tr class="separator:a946780dfafc8faa3dd2d345850213be5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f81409b337b1aeb8488ae9d828e5df9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5f81409b337b1aeb8488ae9d828e5df9">Solve</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db)</td></tr>
<tr class="separator:a5f81409b337b1aeb8488ae9d828e5df9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60e6ac9afd6d3ed6a2a2d972165fee1f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a60e6ac9afd6d3ed6a2a2d972165fee1f">Solve</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1)</td></tr>
<tr class="separator:a60e6ac9afd6d3ed6a2a2d972165fee1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cc78f60d4b904542e2ce25ba888584e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a4cc78f60d4b904542e2ce25ba888584e">Solve</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m2)</td></tr>
<tr class="separator:a4cc78f60d4b904542e2ce25ba888584e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcc05bab22581393d783134f7ff98eab"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abcc05bab22581393d783134f7ff98eab">Solve</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m2, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m3)</td></tr>
<tr class="separator:abcc05bab22581393d783134f7ff98eab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b46349056982fe3dcf19d148eec5fcb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a7b46349056982fe3dcf19d148eec5fcb">Solve</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m2, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m3, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m4)</td></tr>
<tr class="separator:a7b46349056982fe3dcf19d148eec5fcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:af71de254f80c10584696d5285aca5183"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af71de254f80c10584696d5285aca5183">NewSearch</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, const std::vector&lt; <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * &gt; &amp;monitors)</td></tr>
<tr class="separator:af71de254f80c10584696d5285aca5183"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a201119e9301443e42699e705c81f4869"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a201119e9301443e42699e705c81f4869">NewSearch</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db)</td></tr>
<tr class="separator:a201119e9301443e42699e705c81f4869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a9c12ebe393f97a8e32b7554f27d200"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a5a9c12ebe393f97a8e32b7554f27d200">NewSearch</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1)</td></tr>
<tr class="separator:a5a9c12ebe393f97a8e32b7554f27d200"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0a9e58068d0d7be9c51854ff7d834cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#af0a9e58068d0d7be9c51854ff7d834cc">NewSearch</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m2)</td></tr>
<tr class="separator:af0a9e58068d0d7be9c51854ff7d834cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbccede08b03646d29e04acaf71e0c50"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#abbccede08b03646d29e04acaf71e0c50">NewSearch</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m2, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m3)</td></tr>
<tr class="separator:abbccede08b03646d29e04acaf71e0c50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a993fbf789b9cfb598af92b35fe414075"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a993fbf789b9cfb598af92b35fe414075">NewSearch</a> (<a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const db, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m1, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m2, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m3, <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const m4)</td></tr>
<tr class="separator:a993fbf789b9cfb598af92b35fe414075"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9b8c3ea993ee19fd9cb68fb3240e09f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ab9b8c3ea993ee19fd9cb68fb3240e09f">NextSolution</a> ()</td></tr>
<tr class="separator:ab9b8c3ea993ee19fd9cb68fb3240e09f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f660e8597c620b46aa963ed7f07c4d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0f660e8597c620b46aa963ed7f07c4d7">RestartSearch</a> ()</td></tr>
<tr class="separator:a0f660e8597c620b46aa963ed7f07c4d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3216144f5779ad0022bd7a0421c858d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a3216144f5779ad0022bd7a0421c858d7">EndSearch</a> ()</td></tr>
<tr class="separator:a3216144f5779ad0022bd7a0421c858d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aaa825d53a4aec98b8e8d5694b99a0c33"><td class="memItemLeft" align="right" valign="top">static ConstraintSolverParameters&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#aaa825d53a4aec98b8e8d5694b99a0c33">DefaultSolverParameters</a> ()</td></tr>
<tr class="memdesc:aaa825d53a4aec98b8e8d5694b99a0c33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="namespaceoperations__research_1_1_constraint_solver_parameters.html">ConstraintSolverParameters</a> proto with all the default values. <a href="classoperations__research_1_1_solver.html#aaa825d53a4aec98b8e8d5694b99a0c33">More...</a><br /></td></tr>
<tr class="separator:aaa825d53a4aec98b8e8d5694b99a0c33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7902c0743f0f654da1bc613db9c170a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#ae7902c0743f0f654da1bc613db9c170a">MemoryUsage</a> ()</td></tr>
<tr class="memdesc:ae7902c0743f0f654da1bc613db9c170a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current memory usage in bytes. <a href="classoperations__research_1_1_solver.html#ae7902c0743f0f654da1bc613db9c170a">More...</a><br /></td></tr>
<tr class="separator:ae7902c0743f0f654da1bc613db9c170a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a0f3d534acf3ba2602ae56ec4f28ccdd6"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a0f3d534acf3ba2602ae56ec4f28ccdd6">tmp_vector_</a></td></tr>
<tr class="memdesc:a0f3d534acf3ba2602ae56ec4f28ccdd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unsafe temporary vector. <a href="classoperations__research_1_1_solver.html#a0f3d534acf3ba2602ae56ec4f28ccdd6">More...</a><br /></td></tr>
<tr class="separator:a0f3d534acf3ba2602ae56ec4f28ccdd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a280d7e65c4c7bf84c703fab2323aaa63"><td class="memItemLeft" align="right" valign="top">static constexpr int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_solver.html#a280d7e65c4c7bf84c703fab2323aaa63">kNumPriorities</a> = 3</td></tr>
<tr class="memdesc:a280d7e65c4c7bf84c703fab2323aaa63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of priorities for demons. <a href="classoperations__research_1_1_solver.html#a280d7e65c4c7bf84c703fab2323aaa63">More...</a><br /></td></tr>
<tr class="separator:a280d7e65c4c7bf84c703fab2323aaa63"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="ad7946514ee3dd6cb3ab993dc9e98b33b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7946514ee3dd6cb3ab993dc9e98b33b">&#9670;&nbsp;</a></span>Action</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;void(<a class="el" href="classoperations__research_1_1_solver.html">Solver</a>*)&gt; <a class="el" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00754">754</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ae57bc6f29c7b4343cb90aa1946ce1869"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae57bc6f29c7b4343cb90aa1946ce1869">&#9670;&nbsp;</a></span>BranchSelector</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;<a class="el" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42">DecisionModification</a>()&gt; <a class="el" href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00752">752</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ad4c4d0d62a6d65debcff4437948435a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4c4d0d62a6d65debcff4437948435a1">&#9670;&nbsp;</a></span>Closure</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;void()&gt; <a class="el" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Closure</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00755">755</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="aa9726f5458b77973475a32178fe512b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9726f5458b77973475a32178fe512b3">&#9670;&nbsp;</a></span>IndexEvaluator1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt; <a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback typedefs. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00738">738</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="abb24034fec2804ac3c0172f043087321"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb24034fec2804ac3c0172f043087321">&#9670;&nbsp;</a></span>IndexEvaluator2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt; <a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00739">739</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a86570ad216b68c88de1ef27085e3d084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86570ad216b68c88de1ef27085e3d084">&#9670;&nbsp;</a></span>IndexEvaluator3</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt; <a class="el" href="classoperations__research_1_1_solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00740">740</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a021ae5a2766d4ccaa133a5bbb5398464"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a021ae5a2766d4ccaa133a5bbb5398464">&#9670;&nbsp;</a></span>IndexFilter1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;bool(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt; <a class="el" href="classoperations__research_1_1_solver.html#a021ae5a2766d4ccaa133a5bbb5398464">IndexFilter1</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00742">742</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="adbfd1fe2611bc7b45421ae81d66d7444"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbfd1fe2611bc7b45421ae81d66d7444">&#9670;&nbsp;</a></span>Int64ToIntVar</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a>*(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt; <a class="el" href="classoperations__research_1_1_solver.html#adbfd1fe2611bc7b45421ae81d66d7444">Int64ToIntVar</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00744">744</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ad033e75848b4956d869473cbabd949ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad033e75848b4956d869473cbabd949ad">&#9670;&nbsp;</a></span>VariableIndexSelector</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(<a class="el" href="classoperations__research_1_1_solver.html">Solver</a>* solver, const std::vector&lt;<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a>*&gt;&amp; vars, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> first_unbound, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> last_unbound)&gt; <a class="el" href="classoperations__research_1_1_solver.html#ad033e75848b4956d869473cbabd949ad">VariableIndexSelector</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00748">748</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a3094f1982f455fd97342c64b7c0b3ccf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3094f1982f455fd97342c64b7c0b3ccf">&#9670;&nbsp;</a></span>VariableValueComparator</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;bool(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt; <a class="el" href="classoperations__research_1_1_solver.html#a3094f1982f455fd97342c64b7c0b3ccf">VariableValueComparator</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00751">751</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ae69f986ba3ecb59d0c4fbc48ae76fa34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae69f986ba3ecb59d0c4fbc48ae76fa34">&#9670;&nbsp;</a></span>VariableValueSelector</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(const <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a>* v, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> id)&gt; <a class="el" href="classoperations__research_1_1_solver.html#ae69f986ba3ecb59d0c4fbc48ae76fa34">VariableValueSelector</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00750">750</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a6f66063ebaf61025e27e96719affa3ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f66063ebaf61025e27e96719affa3ee">&#9670;&nbsp;</a></span>BinaryIntervalRelation</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum is used in <a class="el" href="classoperations__research_1_1_solver.html#a1a43933f7f3f5e21d1c95f0917c6ca8b" title="This method creates a relation between an interval var and a date.">Solver::MakeIntervalVarRelation</a> to specify the temporal relation between the two intervals t1 and t2. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506"></a>ENDS_AFTER_END&#160;</td><td class="fielddoc"><p>t1 ends after t2 end, i.e. End(t1) &gt;= End(t2) + delay. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134"></a>ENDS_AFTER_START&#160;</td><td class="fielddoc"><p>t1 ends after t2 start, i.e. End(t1) &gt;= Start(t2) + delay. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204"></a>ENDS_AT_END&#160;</td><td class="fielddoc"><p>t1 ends at t2 end, i.e. End(t1) == End(t2) + delay. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43"></a>ENDS_AT_START&#160;</td><td class="fielddoc"><p>t1 ends at t2 start, i.e. End(t1) == Start(t2) + delay. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8"></a>STARTS_AFTER_END&#160;</td><td class="fielddoc"><p>t1 starts after t2 end, i.e. Start(t1) &gt;= End(t2) + delay. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d"></a>STARTS_AFTER_START&#160;</td><td class="fielddoc"><p>t1 starts after t2 start, i.e. Start(t1) &gt;= Start(t2) + delay. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962"></a>STARTS_AT_END&#160;</td><td class="fielddoc"><p>t1 starts at t2 end, i.e. Start(t1) == End(t2) + delay. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7"></a>STARTS_AT_START&#160;</td><td class="fielddoc"><p>t1 starts at t2 start, i.e. Start(t1) == Start(t2) + delay. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec"></a>STAYS_IN_SYNC&#160;</td><td class="fielddoc"><p>STARTS_AT_START and ENDS_AT_END at the same time. </p>
<p>t1 starts at t2 start, i.e. Start(t1) == Start(t2) + delay. t1 ends at t2 end, i.e. End(t1) == End(t2). </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00622">622</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a074172434184dde98798ed6590206d42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a074172434184dde98798ed6590206d42">&#9670;&nbsp;</a></span>DecisionModification</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42">DecisionModification</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The <a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a> is responsible for creating the search tree. </p>
<p>Thanks to the <a class="el" href="classoperations__research_1_1_decision_builder.html" title="A DecisionBuilder is responsible for creating the search tree.">DecisionBuilder</a>, it creates a new decision with two branches at each node: left and right. The DecisionModification enum is used to specify how the branch selector should behave. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd"></a>NO_CHANGE&#160;</td><td class="fielddoc"><p>Keeps the default behavior, i.e. </p>
<p>apply left branch first, and then right branch in case of backtracking. </p>
</td></tr>
<tr><td class="fieldname"><a id="a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f"></a>KEEP_LEFT&#160;</td><td class="fielddoc"><p>Right branches are ignored. </p>
<p>This is used to make the code faster when backtrack makes no sense or is not useful. This is faster as there is no need to create one new node per decision. </p>
</td></tr>
<tr><td class="fieldname"><a id="a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5"></a>KEEP_RIGHT&#160;</td><td class="fielddoc"><p>Left branches are ignored. </p>
<p>This is used to make the code faster when backtrack makes no sense or is not useful. This is faster as there is no need to create one new node per decision. </p>
</td></tr>
<tr><td class="fieldname"><a id="a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f"></a>KILL_BOTH&#160;</td><td class="fielddoc"><p>Backtracks to the previous decisions, i.e. </p>
<p>left and right branches are not applied. </p>
</td></tr>
<tr><td class="fieldname"><a id="a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998"></a>SWITCH_BRANCHES&#160;</td><td class="fielddoc"><p>Applies right branch first. </p>
<p>Left branch will be applied in case of backtracking. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00690">690</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a293233c46e5eaa308f65c7c2350553f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a293233c46e5eaa308f65c7c2350553f7">&#9670;&nbsp;</a></span>DemonPriority</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7">DemonPriority</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum represents the three possible priorities for a demon in the <a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a> queue. </p>
<p>Note: this is for advanced users only. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068"></a>DELAYED_PRIORITY&#160;</td><td class="fielddoc"><p>DELAYED_PRIORITY is the lowest priority: Demons will be processed after VAR_PRIORITY and NORMAL_PRIORITY demons. </p>
</td></tr>
<tr><td class="fieldname"><a id="a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5"></a>VAR_PRIORITY&#160;</td><td class="fielddoc"><p>VAR_PRIORITY is between DELAYED_PRIORITY and NORMAL_PRIORITY. </p>
</td></tr>
<tr><td class="fieldname"><a id="a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4"></a>NORMAL_PRIORITY&#160;</td><td class="fielddoc"><p>NORMAL_PRIORITY is the highest priority: Demons will be processed first. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00608">608</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="afd2868244e1a645aaf41eb8a6a6c8bf4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd2868244e1a645aaf41eb8a6a6c8bf4">&#9670;&nbsp;</a></span>EvaluatorLocalSearchOperators</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum is used in <a class="el" href="classoperations__research_1_1_solver.html#aabf79e2e1b17a7a5ce1c5e69cc3f582b" title="Local Search Operators.">Solver::MakeOperator</a> associated with an evaluator to specify the neighborhood to create. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e"></a>LK&#160;</td><td class="fielddoc"><p>Lin-Kernighan local search. </p>
<p>While the accumulated local gain is positive, perform a 2opt or a 3opt move followed by a series of 2opt moves. Return a neighbor for which the global gain is positive. </p>
</td></tr>
<tr><td class="fieldname"><a id="afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87"></a>TSPOPT&#160;</td><td class="fielddoc"><p>Sliding TSP operator. </p>
<p>Uses an exact dynamic programming algorithm to solve the TSP corresponding to path sub-chains. For a subchain 1 -&gt; 2 -&gt; 3 -&gt; 4 -&gt; 5 -&gt; 6, solves the TSP on nodes A, 2, 3, 4, 5, where A is a merger of nodes 1 and 6 such that cost(A,i) = cost(1,i) and cost(i,A) = cost(i,6). </p>
</td></tr>
<tr><td class="fieldname"><a id="afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1"></a>TSPLNS&#160;</td><td class="fielddoc"><p>TSP-base LNS. </p>
<p>Randomly merge consecutive nodes until n "meta"-nodes remain and solve the corresponding TSP. This is an "unlimited" neighborhood which must be stopped by search limits. To force diversification, the operator iteratively forces each node to serve as base of a meta-node. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00567">567</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a8b1044e7c2b76345532f848a982a7106"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b1044e7c2b76345532f848a982a7106">&#9670;&nbsp;</a></span>EvaluatorStrategy</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum is used by <a class="el" href="classoperations__research_1_1_solver.html#ab8c32c78b5af7d4975432c0971369153" title="Phases on IntVar arrays.">Solver::MakePhase</a> to specify how to select variables and values during the search. </p>
<p>In <a class="el" href="classoperations__research_1_1_solver.html#ab8c32c78b5af7d4975432c0971369153" title="Phases on IntVar arrays.">Solver::MakePhase</a>(const std::vector&lt;IntVar*&gt;&amp;, IntVarStrategy, IntValueStrategy), variables are selected first, and then the associated value. In <a class="el" href="classoperations__research_1_1_solver.html#ab8c32c78b5af7d4975432c0971369153" title="Phases on IntVar arrays.">Solver::MakePhase</a>(const std::vector&lt;IntVar*&gt;&amp; vars, IndexEvaluator2, EvaluatorStrategy), the selection is done scanning every pair &lt;variable, possible value&gt;. The next selected pair is then the best among all possibilities, i.e. the pair with the smallest evaluation. As this is costly, two options are offered: static or dynamic evaluation. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1"></a>CHOOSE_STATIC_GLOBAL_BEST&#160;</td><td class="fielddoc"><p>Pairs are compared at the first call of the selector, and results are cached. </p>
<p>Next calls to the selector use the previous computation, and so are not up-to-date, e.g. some &lt;variable, value&gt; pairs may not be possible anymore due to propagation since the first to call. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0"></a>CHOOSE_DYNAMIC_GLOBAL_BEST&#160;</td><td class="fielddoc"><p>Pairs are compared each time a variable is selected. </p>
<p>That way all pairs are relevant and evaluation is accurate. This strategy runs in O(number-of-pairs) at each variable selection, versus O(1) in the static version. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00390">390</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a3a64940761b306c816e00e077906952f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a64940761b306c816e00e077906952f">&#9670;&nbsp;</a></span>IntervalStrategy</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952f">IntervalStrategy</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum describes the straregy used to select the next interval variable and its value to be fixed. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3"></a>INTERVAL_DEFAULT&#160;</td><td class="fielddoc"><p>The default is INTERVAL_SET_TIMES_FORWARD. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c"></a>INTERVAL_SIMPLE&#160;</td><td class="fielddoc"><p>The simple is INTERVAL_SET_TIMES_FORWARD. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92"></a>INTERVAL_SET_TIMES_FORWARD&#160;</td><td class="fielddoc"><p>Selects the variable with the lowest starting time of all variables, and fixes its starting time to this lowest value. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831"></a>INTERVAL_SET_TIMES_BACKWARD&#160;</td><td class="fielddoc"><p>Selects the variable with the highest ending time of all variables, and fixes the ending time to this highest values. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00414">414</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a45c5a2dd0d47110ef5b00408854d8d84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45c5a2dd0d47110ef5b00408854d8d84">&#9670;&nbsp;</a></span>IntValueStrategy</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum describes the strategy used to select the next variable value to set. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291"></a>INT_VALUE_DEFAULT&#160;</td><td class="fielddoc"><p>The default behavior is ASSIGN_MIN_VALUE. </p>
</td></tr>
<tr><td class="fieldname"><a id="a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e"></a>INT_VALUE_SIMPLE&#160;</td><td class="fielddoc"><p>The simple selection is ASSIGN_MIN_VALUE. </p>
</td></tr>
<tr><td class="fieldname"><a id="a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886"></a>ASSIGN_MIN_VALUE&#160;</td><td class="fielddoc"><p>Selects the min value of the selected variable. </p>
</td></tr>
<tr><td class="fieldname"><a id="a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0"></a>ASSIGN_MAX_VALUE&#160;</td><td class="fielddoc"><p>Selects the max value of the selected variable. </p>
</td></tr>
<tr><td class="fieldname"><a id="a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2"></a>ASSIGN_RANDOM_VALUE&#160;</td><td class="fielddoc"><p>Selects randomly one of the possible values of the selected variable. </p>
</td></tr>
<tr><td class="fieldname"><a id="a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173"></a>ASSIGN_CENTER_VALUE&#160;</td><td class="fielddoc"><p>Selects the first possible value which is the closest to the center of the domain of the selected variable. </p>
<p>The center is defined as (min + max) / 2. </p>
</td></tr>
<tr><td class="fieldname"><a id="a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25"></a>SPLIT_LOWER_HALF&#160;</td><td class="fielddoc"><p>Split the domain in two around the center, and choose the lower part first. </p>
</td></tr>
<tr><td class="fieldname"><a id="a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45"></a>SPLIT_UPPER_HALF&#160;</td><td class="fielddoc"><p>Split the domain in two around the center, and choose the lower part first. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00350">350</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ab7ab23bc58ea40dc03a5418ddbce7601"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7ab23bc58ea40dc03a5418ddbce7601">&#9670;&nbsp;</a></span>IntVarStrategy</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum describes the strategy used to select the next branching variable at each node during the search. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376"></a>INT_VAR_DEFAULT&#160;</td><td class="fielddoc"><p>The default behavior is CHOOSE_FIRST_UNBOUND. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2"></a>INT_VAR_SIMPLE&#160;</td><td class="fielddoc"><p>The simple selection is CHOOSE_FIRST_UNBOUND. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9"></a>CHOOSE_FIRST_UNBOUND&#160;</td><td class="fielddoc"><p>Select the first unbound variable. </p>
<p>Variables are considered in the order of the vector of IntVars used to create the selector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c"></a>CHOOSE_RANDOM&#160;</td><td class="fielddoc"><p>Randomly select one of the remaining unbound variables. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448"></a>CHOOSE_MIN_SIZE_LOWEST_MIN&#160;</td><td class="fielddoc"><p>Among unbound variables, select the variable with the smallest size, i.e., the smallest number of possible values. </p>
<p>In case of a tie, the selected variables is the one with the lowest min value. In case of a tie, the first one is selected, first being defined by the order in the vector of IntVars used to create the selector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2"></a>CHOOSE_MIN_SIZE_HIGHEST_MIN&#160;</td><td class="fielddoc"><p>Among unbound variables, select the variable with the smallest size, i.e., the smallest number of possible values. </p>
<p>In case of a tie, the selected variable is the one with the highest min value. In case of a tie, the first one is selected, first being defined by the order in the vector of IntVars used to create the selector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7"></a>CHOOSE_MIN_SIZE_LOWEST_MAX&#160;</td><td class="fielddoc"><p>Among unbound variables, select the variable with the smallest size, i.e., the smallest number of possible values. </p>
<p>In case of a tie, the selected variables is the one with the lowest max value. In case of a tie, the first one is selected, first being defined by the order in the vector of IntVars used to create the selector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70"></a>CHOOSE_MIN_SIZE_HIGHEST_MAX&#160;</td><td class="fielddoc"><p>Among unbound variables, select the variable with the smallest size, i.e., the smallest number of possible values. </p>
<p>In case of a tie, the selected variable is the one with the highest max value. In case of a tie, the first one is selected, first being defined by the order in the vector of IntVars used to create the selector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12"></a>CHOOSE_LOWEST_MIN&#160;</td><td class="fielddoc"><p>Among unbound variables, select the variable with the smallest minimal value. </p>
<p>In case of a tie, the first one is selected, "first" defined by the order in the vector of IntVars used to create the selector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841"></a>CHOOSE_HIGHEST_MAX&#160;</td><td class="fielddoc"><p>Among unbound variables, select the variable with the highest maximal value. </p>
<p>In case of a tie, the first one is selected, first being defined by the order in the vector of IntVars used to create the selector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae"></a>CHOOSE_MIN_SIZE&#160;</td><td class="fielddoc"><p>Among unbound variables, select the variable with the smallest size. </p>
<p>In case of a tie, the first one is selected, first being defined by the order in the vector of IntVars used to create the selector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a"></a>CHOOSE_MAX_SIZE&#160;</td><td class="fielddoc"><p>Among unbound variables, select the variable with the highest size. </p>
<p>In case of a tie, the first one is selected, first being defined by the order in the vector of IntVars used to create the selector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf"></a>CHOOSE_MAX_REGRET_ON_MIN&#160;</td><td class="fielddoc"><p>Among unbound variables, select the variable with the largest gap between the first and the second values of the domain. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d"></a>CHOOSE_PATH&#160;</td><td class="fielddoc"><p>Selects the next unbound variable on a path, the path being defined by the variables: var[i] corresponds to the index of the next of i. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00269">269</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="afd2d924f019d44bc99930a1e931a735f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd2d924f019d44bc99930a1e931a735f">&#9670;&nbsp;</a></span>LocalSearchFilterBound</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">LocalSearchFilterBound</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum is used in Solver::MakeLocalSearchObjectiveFilter. </p>
<p>It specifies the behavior of the objective filter to create. The goal is to define under which condition a move is accepted based on the current objective value. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce"></a>GE&#160;</td><td class="fielddoc"><p>Move is accepted when the current objective value &gt;= objective.Min. </p>
</td></tr>
<tr><td class="fieldname"><a id="afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61"></a>LE&#160;</td><td class="fielddoc"><p>Move is accepted when the current objective value &lt;= objective.Max. </p>
</td></tr>
<tr><td class="fieldname"><a id="afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f"></a>EQ&#160;</td><td class="fielddoc"><p>Move is accepted when the current objective value is in the interval objective.Min . </p>
<p>. objective.Max. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00595">595</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a6fc60ae040ae35c83f09736d2e682a18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fc60ae040ae35c83f09736d2e682a18">&#9670;&nbsp;</a></span>LocalSearchOperators</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum is used in <a class="el" href="classoperations__research_1_1_solver.html#aabf79e2e1b17a7a5ce1c5e69cc3f582b" title="Local Search Operators.">Solver::MakeOperator</a> to specify the neighborhood to create. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e"></a>TWOOPT&#160;</td><td class="fielddoc"><p>Operator which reverses a sub-chain of a path. </p>
<p>It is called <a class="el" href="classoperations__research_1_1_two_opt.html">TwoOpt</a> because it breaks two arcs on the path; resulting paths are called two-optimal. Possible neighbors for the path 1 -&gt; 2 -&gt; 3 -&gt; 4 -&gt; 5 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -&gt; [3 -&gt; 2] -&gt; 4 -&gt; 5 1 -&gt; [4 -&gt; 3 -&gt; 2] -&gt; 5 1 -&gt; 2 -&gt; [4 -&gt; 3] -&gt; 5 </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704"></a>OROPT&#160;</td><td class="fielddoc"><p><a class="el" href="classoperations__research_1_1_relocate.html">Relocate</a>: OROPT and RELOCATE. </p>
<p>Operator which moves a sub-chain of a path to another position; the specified chain length is the fixed length of the chains being moved. When this length is 1, the operator simply moves a node to another position. Possible neighbors for the path 1 -&gt; 2 -&gt; 3 -&gt; 4 -&gt; 5, for a chain length of 2 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -&gt; 4 -&gt; [2 -&gt; 3] -&gt; 5 1 -&gt; [3 -&gt; 4] -&gt; 2 -&gt; 5</p>
<p>Using <a class="el" href="classoperations__research_1_1_relocate.html">Relocate</a> with chain lengths of 1, 2 and 3 together is equivalent to the OrOpt operator on a path. The OrOpt operator is a limited version of 3Opt (breaks 3 arcs on a path). </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3"></a>RELOCATE&#160;</td><td class="fielddoc"><p><a class="el" href="classoperations__research_1_1_relocate.html">Relocate</a> neighborhood with length of 1 (see OROPT comment). </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462"></a>EXCHANGE&#160;</td><td class="fielddoc"><p>Operator which exchanges the positions of two nodes. </p>
<p>Possible neighbors for the path 1 -&gt; 2 -&gt; 3 -&gt; 4 -&gt; 5 (where (1, 5) are first and last nodes of the path and can therefore not be moved): 1 -&gt; [3] -&gt; [2] -&gt; 4 -&gt; 5 1 -&gt; [4] -&gt; 3 -&gt; [2] -&gt; 5 1 -&gt; 2 -&gt; [4] -&gt; [3] -&gt; 5 </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d"></a>CROSS&#160;</td><td class="fielddoc"><p>Operator which cross exchanges the starting chains of 2 paths, including exchanging the whole paths. </p>
<p>First and last nodes are not moved. Possible neighbors for the paths 1 -&gt; 2 -&gt; 3 -&gt; 4 -&gt; 5 and 6 -&gt; 7 -&gt; 8 (where (1, 5) and (6, 8) are first and last nodes of the paths and can therefore not be moved): 1 -&gt; [7] -&gt; 3 -&gt; 4 -&gt; 5 6 -&gt; [2] -&gt; 8 1 -&gt; [7] -&gt; 4 -&gt; 5 6 -&gt; [2 -&gt; 3] -&gt; 8 1 -&gt; [7] -&gt; 5 6 -&gt; [2 -&gt; 3 -&gt; 4] -&gt; 8 </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de"></a>MAKEACTIVE&#160;</td><td class="fielddoc"><p>Operator which inserts an inactive node into a path. </p>
<p>Possible neighbors for the path 1 -&gt; 2 -&gt; 3 -&gt; 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -&gt; [5] -&gt; 2 -&gt; 3 -&gt; 4 1 -&gt; 2 -&gt; [5] -&gt; 3 -&gt; 4 1 -&gt; 2 -&gt; 3 -&gt; [5] -&gt; 4 </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5"></a>MAKEINACTIVE&#160;</td><td class="fielddoc"><p>Operator which makes path nodes inactive. </p>
<p>Possible neighbors for the path 1 -&gt; 2 -&gt; 3 -&gt; 4 (where 1 and 4 are first and last nodes of the path) are: 1 -&gt; 3 -&gt; 4 with 2 inactive 1 -&gt; 2 -&gt; 4 with 3 inactive </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e"></a>MAKECHAININACTIVE&#160;</td><td class="fielddoc"><p>Operator which makes a "chain" of path nodes inactive. </p>
<p>Possible neighbors for the path 1 -&gt; 2 -&gt; 3 -&gt; 4 (where 1 and 4 are first and last nodes of the path) are: 1 -&gt; 3 -&gt; 4 with 2 inactive 1 -&gt; 2 -&gt; 4 with 3 inactive 1 -&gt; 4 with 2 and 3 inactive </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b"></a>SWAPACTIVE&#160;</td><td class="fielddoc"><p>Operator which replaces an active node by an inactive one. </p>
<p>Possible neighbors for the path 1 -&gt; 2 -&gt; 3 -&gt; 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -&gt; [5] -&gt; 3 -&gt; 4 with 2 inactive 1 -&gt; 2 -&gt; [5] -&gt; 4 with 3 inactive </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9"></a>EXTENDEDSWAPACTIVE&#160;</td><td class="fielddoc"><p>Operator which makes an inactive node active and an active one inactive. </p>
<p>It is similar to <a class="el" href="classoperations__research_1_1_swap_active_operator.html">SwapActiveOperator</a> except that it tries to insert the inactive node in all possible positions instead of just the position of the node made inactive. Possible neighbors for the path 1 -&gt; 2 -&gt; 3 -&gt; 4 with 5 inactive (where 1 and 4 are first and last nodes of the path) are: 1 -&gt; [5] -&gt; 3 -&gt; 4 with 2 inactive 1 -&gt; 3 -&gt; [5] -&gt; 4 with 2 inactive 1 -&gt; [5] -&gt; 2 -&gt; 4 with 3 inactive 1 -&gt; 2 -&gt; [5] -&gt; 4 with 3 inactive </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3"></a>PATHLNS&#160;</td><td class="fielddoc"><p>Operator which relaxes two sub-chains of three consecutive arcs each. </p>
<p>Each sub-chain is defined by a start node and the next three arcs. Those six arcs are relaxed to build a new neighbor. PATHLNS explores all possible pairs of starting nodes and so defines n^2 neighbors, n being the number of nodes. Note that the two sub-chains can be part of the same path; they even may overlap. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a"></a>FULLPATHLNS&#160;</td><td class="fielddoc"><p>Operator which relaxes one entire path and all inactive nodes, thus defining num_paths neighbors. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408"></a>UNACTIVELNS&#160;</td><td class="fielddoc"><p>Operator which relaxes all inactive nodes and one sub-chain of six consecutive arcs. </p>
<p>That way the path can be improved by inserting inactive nodes or swapping arcs. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb"></a>INCREMENT&#160;</td><td class="fielddoc"><p>Operator which defines one neighbor per variable. </p>
<p>Each neighbor tries to increment by one the value of the corresponding variable. When a new solution is found the neighborhood is rebuilt from scratch, i.e., tries to increment values in the variable order. Consider for instance variables x and y. x is incremented one by one to its max, and when it is not possible to increment x anymore, y is incremented once. If this is a solution, then next neighbor tries to increment x. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84"></a>DECREMENT&#160;</td><td class="fielddoc"><p>Operator which defines a neighborhood to decrement values. </p>
<p>The behavior is the same as INCREMENT, except values are decremented instead of incremented. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58"></a>SIMPLELNS&#160;</td><td class="fielddoc"><p>Operator which defines one neighbor per variable. </p>
<p>Each neighbor relaxes one variable. When a new solution is found the neighborhood is rebuilt from scratch. Consider for instance variables x and y. First x is relaxed and the solver is looking for the best possible solution (with only x relaxed). Then y is relaxed, and the solver is looking for a new solution. If a new solution is found, then the next variable to be relaxed is x. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00429">429</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ade22213fff69cfb37d8238e8fd3073df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade22213fff69cfb37d8238e8fd3073df">&#9670;&nbsp;</a></span>MarkerType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073df">MarkerType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum is used internally in private methods <a class="el" href="classoperations__research_1_1_solver.html#a71535de01a6527099122f4b7284e1796" title="The PushState and PopState methods manipulates the states of the reversible objects.">Solver::PushState</a> and <a class="el" href="classoperations__research_1_1_solver.html#a831b8d703cefe8bce66a0483e08917ee">Solver::PopState</a> to tag states in the search tree. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ade22213fff69cfb37d8238e8fd3073dfa6239979890280856033280b690ebc218"></a>SENTINEL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ade22213fff69cfb37d8238e8fd3073dfa130783c98d7f7c30575fedebbd7e66f7"></a>SIMPLE_MARKER&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ade22213fff69cfb37d8238e8fd3073dfa0232b3ece732fa7e71171f78888cea50"></a>CHOICE_POINT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ade22213fff69cfb37d8238e8fd3073dfaddfacd8981a3f651982bf9a0c82f0995"></a>REVERSIBLE_ACTION&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00716">716</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a39a89fa3de66d68071c66a936f17fd2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39a89fa3de66d68071c66a936f17fd2b">&#9670;&nbsp;</a></span>OptimizationDirection</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Optimization directions. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a39a89fa3de66d68071c66a936f17fd2ba759c34a99344306429e887634b2d688e"></a>NOT_SET&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a39a89fa3de66d68071c66a936f17fd2ba20ee926b0aa645b0e3badb5d5171d6e1"></a>MAXIMIZATION&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a39a89fa3de66d68071c66a936f17fd2ba34d4bc092ef084ef376537320f95bc13"></a>MINIMIZATION&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00735">735</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="aba5c5dc6467e097f4972d7776541482b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba5c5dc6467e097f4972d7776541482b">&#9670;&nbsp;</a></span>SequenceStrategy</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482b">SequenceStrategy</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Used for scheduling. Not yet implemented. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f"></a>SEQUENCE_DEFAULT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239"></a>SEQUENCE_SIMPLE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7"></a>CHOOSE_MIN_SLACK_RANK_FORWARD&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615"></a>CHOOSE_RANDOM_RANK_FORWARD&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00405">405</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a2f2bea2202c96738b11b050e71a28e63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f2bea2202c96738b11b050e71a28e63">&#9670;&nbsp;</a></span>SolverState</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum represents the state of the solver w.r.t. the search. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea"></a>OUTSIDE_SEARCH&#160;</td><td class="fielddoc"><p>Before search, after search. </p>
</td></tr>
<tr><td class="fieldname"><a id="a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351"></a>IN_ROOT_NODE&#160;</td><td class="fielddoc"><p>Executing the root node. </p>
</td></tr>
<tr><td class="fieldname"><a id="a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013"></a>IN_SEARCH&#160;</td><td class="fielddoc"><p>Executing the search code. </p>
</td></tr>
<tr><td class="fieldname"><a id="a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650"></a>AT_SOLUTION&#160;</td><td class="fielddoc"><p>After successful NextSolution and before EndSearch. </p>
</td></tr>
<tr><td class="fieldname"><a id="a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5"></a>NO_MORE_SOLUTIONS&#160;</td><td class="fielddoc"><p>After failed NextSolution and before EndSearch. </p>
</td></tr>
<tr><td class="fieldname"><a id="a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13"></a>PROBLEM_INFEASIBLE&#160;</td><td class="fielddoc"><p>After search, the model is infeasible. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00719">719</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a46ad005bf538f19f4f1a45b357561be9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46ad005bf538f19f4f1a45b357561be9">&#9670;&nbsp;</a></span>UnaryIntervalRelation</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9">UnaryIntervalRelation</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enum is used in <a class="el" href="classoperations__research_1_1_solver.html#a1a43933f7f3f5e21d1c95f0917c6ca8b" title="This method creates a relation between an interval var and a date.">Solver::MakeIntervalVarRelation</a> to specify the temporal relation between an interval t and an integer d. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1"></a>ENDS_AFTER&#160;</td><td class="fielddoc"><p>t ends after d, i.e. End(t) &gt;= d. </p>
</td></tr>
<tr><td class="fieldname"><a id="a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6"></a>ENDS_AT&#160;</td><td class="fielddoc"><p>t ends at d, i.e. End(t) == d. </p>
</td></tr>
<tr><td class="fieldname"><a id="a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430"></a>ENDS_BEFORE&#160;</td><td class="fielddoc"><p>t ends before d, i.e. End(t) &lt;= d. </p>
</td></tr>
<tr><td class="fieldname"><a id="a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020"></a>STARTS_AFTER&#160;</td><td class="fielddoc"><p>t starts after d, i.e. Start(t) &gt;= d. </p>
</td></tr>
<tr><td class="fieldname"><a id="a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac"></a>STARTS_AT&#160;</td><td class="fielddoc"><p>t starts at d, i.e. Start(t) == d. </p>
</td></tr>
<tr><td class="fieldname"><a id="a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131"></a>STARTS_BEFORE&#160;</td><td class="fielddoc"><p>t starts before d, i.e. Start(t) &lt;= d. </p>
</td></tr>
<tr><td class="fieldname"><a id="a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9"></a>CROSS_DATE&#160;</td><td class="fielddoc"><p>STARTS_BEFORE and ENDS_AFTER at the same time, i.e. </p>
<p>d is in t. t starts before d, i.e. Start(t) &lt;= d. t ends after d, i.e. End(t) &gt;= d. </p>
</td></tr>
<tr><td class="fieldname"><a id="a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4"></a>AVOID_DATE&#160;</td><td class="fielddoc"><p>STARTS_AFTER or ENDS_BEFORE, i.e. </p>
<p>d is not in t. t starts after d, i.e. Start(t) &gt;= d. t ends before d, i.e. End(t) &lt;= d. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00655">655</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="abac10873a1af49f1dce33a34f3afaa56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abac10873a1af49f1dce33a34f3afaa56">&#9670;&nbsp;</a></span>Solver() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solver.html">Solver</a> </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a> API. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01417">1417</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="add6d1e285b4009e4e966b43defc6652d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add6d1e285b4009e4e966b43defc6652d">&#9670;&nbsp;</a></span>Solver() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solver.html">Solver</a> </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ConstraintSolverParameters &amp;&#160;</td>
<td class="paramname"><em>parameters</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01406">1406</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="af2496fe19ff323bd292f75b4f6db640d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2496fe19ff323bd292f75b4f6db640d">&#9670;&nbsp;</a></span>~Solver()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">~<a class="el" href="classoperations__research_1_1_solver.html">Solver</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01471">1471</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aac4aa5ecf086378b1bbac4b669bab4db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac4aa5ecf086378b1bbac4b669bab4db">&#9670;&nbsp;</a></span>Accept()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Accept </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a> *const&#160;</td>
<td class="paramname"><em>visitor</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Accepts the given model visitor. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01693">1693</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a85b32a82ff9c91dd572222116e4a0adb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85b32a82ff9c91dd572222116e4a0adb">&#9670;&nbsp;</a></span>accepted_neighbors()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> accepted_neighbors </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of accepted neighbors. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l01003">1003</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a7c06ab0a290a6fbdc909fd63c192a4bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c06ab0a290a6fbdc909fd63c192a4bf">&#9670;&nbsp;</a></span>ActiveSearch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search.html">Search</a> * ActiveSearch </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the active search, nullptr outside search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01127">1127</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="aae6945c57651cb226561a0ef988a02ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae6945c57651cb226561a0ef988a02ac">&#9670;&nbsp;</a></span>AddBacktrackAction()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void AddBacktrackAction </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fast</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>When <a class="el" href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033" title="reversibility">SaveValue()</a> is not the best way to go, one can create a reversible action that will be called upon backtrack. </p>
<p>The "fast" parameter indicates whether we need restore all values saved through <a class="el" href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033" title="reversibility">SaveValue()</a> before calling this method. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01589">1589</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ae2d27e0db523a7b883fe8bd2f40e9968"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2d27e0db523a7b883fe8bd2f40e9968">&#9670;&nbsp;</a></span>AddCastConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void AddCastConstraint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_cast_constraint.html">CastConstraint</a> *const&#160;</td>
<td class="paramname"><em>constraint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>target_var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds 'constraint' to the solver and marks it as a cast constraint, that is, a constraint created calling Var() on an expression. </p>
<p>This is used internally. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01681">1681</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a5931080c9bfda8dedfef0e3adf313ab3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5931080c9bfda8dedfef0e3adf313ab3">&#9670;&nbsp;</a></span>AddConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void AddConstraint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *const&#160;</td>
<td class="paramname"><em>c</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds the constraint 'c' to the model. </p>
<p>After calling this method, and until there is a backtrack that undoes the addition, any assignment of variables to values must satisfy the given constraint in order to be considered feasible. There are two fairly different use cases:</p>
<ul>
<li>the most common use case is modeling: the given constraint is really part of the problem that the user is trying to solve. In this use case, AddConstraint is called outside of search (i.e., with <code><a class="el" href="classoperations__research_1_1_solver.html#a0094fe4296645dbe40d2c5377772e6eb" title="State of the solver.">state()</a> == OUTSIDE_SEARCH</code>). Most users should only use AddConstraint in this way. In this case, the constraint will belong to the model forever: it cannot not be removed by backtracking.</li>
<li>a rarer use case is that 'c' is not a real constraint of the model. It may be a constraint generated by a branching decision (a constraint whose goal is to restrict the search space), a symmetry breaking constraint (a constraint that does restrict the search space, but in a way that cannot have an impact on the quality of the solutions in the subtree), or an inferred constraint that, while having no semantic value to the model (it does not restrict the set of solutions), is worth having because we believe it may strengthen the propagation. In these cases, it happens that the constraint is added during the search (i.e., with <a class="el" href="classoperations__research_1_1_solver.html#a0094fe4296645dbe40d2c5377772e6eb" title="State of the solver.">state()</a> == IN_SEARCH or <a class="el" href="classoperations__research_1_1_solver.html#a0094fe4296645dbe40d2c5377772e6eb" title="State of the solver.">state()</a> == IN_ROOT_NODE). When a constraint is added during a search, it applies only to the subtree of the search tree rooted at the current node, and will be automatically removed by backtracking.</li>
</ul>
<p>This method does not take ownership of the constraint. If the constraint has been created by any factory method (Solver::MakeXXX), it will automatically be deleted. However, power users who implement their own constraints should do: solver.AddConstraint(solver.RevAlloc(new MyConstraint(...)); </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01657">1657</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a6c3752c7d9425f4a5243176d3f6fcbc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c3752c7d9425f4a5243176d3f6fcbc7">&#9670;&nbsp;</a></span>AddLocalSearchMonitor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void AddLocalSearchMonitor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_monitor.html">LocalSearchMonitor</a> *&#160;</td>
<td class="paramname"><em>monitor</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds the local search monitor to the solver. </p>
<p>This is called internally when a propagation monitor is passed to the <a class="el" href="classoperations__research_1_1_solver.html#a946780dfafc8faa3dd2d345850213be5">Solve()</a> or <a class="el" href="classoperations__research_1_1_solver.html#af71de254f80c10584696d5285aca5183">NewSearch()</a> method. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l03206">3206</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a4260a3ba3644fec332cd650e2d3c9f68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4260a3ba3644fec332cd650e2d3c9f68">&#9670;&nbsp;</a></span>AddPropagationMonitor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void AddPropagationMonitor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_propagation_monitor.html">PropagationMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds the propagation monitor to the solver. </p>
<p>This is called internally when a propagation monitor is passed to the <a class="el" href="classoperations__research_1_1_solver.html#a946780dfafc8faa3dd2d345850213be5">Solve()</a> or <a class="el" href="classoperations__research_1_1_solver.html#af71de254f80c10584696d5285aca5183">NewSearch()</a> method. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l03129">3129</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="afb28bd81075ef9b2f5a29c32eb46ba92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb28bd81075ef9b2f5a29c32eb46ba92">&#9670;&nbsp;</a></span>balancing_decision()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a>* balancing_decision </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02865">2865</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ad01c3a2fbfb388d917899ad983415d02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad01c3a2fbfb388d917899ad983415d02">&#9670;&nbsp;</a></span>branches()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> branches </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of branches explored since the creation of the solver. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00982">982</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="abe9b685ee0bca9e541bce7d2dbd61761"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe9b685ee0bca9e541bce7d2dbd61761">&#9670;&nbsp;</a></span>Cache()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_model_cache.html">ModelCache</a> * Cache </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the cache of the model. </p>
<p class="definition">Definition at line <a class="el" href="model__cache_8cc_source.html#l00849">849</a> of file <a class="el" href="model__cache_8cc_source.html">model_cache.cc</a>.</p>
</div>
</div>
<a id="aca0863f3e90f03bf77bbcb9aceb02e85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca0863f3e90f03bf77bbcb9aceb02e85">&#9670;&nbsp;</a></span>CastExpression()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * CastExpression </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>!defined(SWIG) </p>
<p>Internal. If the variables is the result of expr-&gt;Var(), this method returns expr, nullptr otherwise. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02437">2437</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a31b6ef7bff363d68d03eda8c9668e3e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31b6ef7bff363d68d03eda8c9668e3e0">&#9670;&nbsp;</a></span>CheckAssignment()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CheckAssignment </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>solution</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks whether the given assignment satisfies all relevant constraints. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02293">2293</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a483098cee8f04c87368cd05674dda9df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a483098cee8f04c87368cd05674dda9df">&#9670;&nbsp;</a></span>CheckConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CheckConstraint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *const&#160;</td>
<td class="paramname"><em>ct</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks whether adding this constraint will lead to an immediate failure. </p>
<p>It will return false if the model is already inconsistent, or if adding the constraint makes it inconsistent. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02372">2372</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a6d5ff1ccb832c9d27fa7a579248f8084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d5ff1ccb832c9d27fa7a579248f8084">&#9670;&nbsp;</a></span>CheckFail()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void CheckFail </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02981">2981</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a95d15794f0eaa4727439f364889a8064"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95d15794f0eaa4727439f364889a8064">&#9670;&nbsp;</a></span>clear_fail_intercept()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void clear_fail_intercept </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02873">2873</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a0f7179b03ab49e7ee79f9b7e8c4dc129"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f7179b03ab49e7ee79f9b7e8c4dc129">&#9670;&nbsp;</a></span>ClearLocalSearchState()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ClearLocalSearchState </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears the local search state. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02929">2929</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a81e71c126a9066bd3c3177bd2ef4b123"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81e71c126a9066bd3c3177bd2ef4b123">&#9670;&nbsp;</a></span>Compose() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * Compose </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>dbs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00582">582</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="adbf7d490e8a610424c1cdcc336fed1b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbf7d490e8a610424c1cdcc336fed1b2">&#9670;&nbsp;</a></span>Compose() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * Compose </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a decision builder which sequentially composes decision builders. </p>
<p>At each leaf of a decision builder, the next decision builder is therefore called. For instance, Compose(db1, db2) will result in the following tree: d1 tree | / | \ | db1 leaves | / | \ | db2 tree db2 tree db2 tree | </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00552">552</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a621ee0adf3f4bfe542791a29e674f010"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a621ee0adf3f4bfe542791a29e674f010">&#9670;&nbsp;</a></span>Compose() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * Compose </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00560">560</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ae5d9ab0205e5c3f5be37e9450d5af1ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5d9ab0205e5c3f5be37e9450d5af1ed">&#9670;&nbsp;</a></span>Compose() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * Compose </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db4</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00570">570</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a5b65e631181f40eedd7afba46116fa66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b65e631181f40eedd7afba46116fa66">&#9670;&nbsp;</a></span>ConcatenateOperators() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * ConcatenateOperators </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>ops</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a local search operator which concatenates a vector of operators. </p>
<p>Each operator from the vector is called sequentially. By default, when a neighbor is found the neighborhood exploration restarts from the last active operator (the one which produced the neighbor). This can be overridden by setting restart to true to force the exploration to start from the first operator in the vector.</p>
<p>The default behavior can also be overridden using an evaluation callback to set the order in which the operators are explored (the callback is called in <a class="el" href="classoperations__research_1_1_local_search_operator.html#ae8505ab0739cf0b585de5844f7a6703c">LocalSearchOperator::Start()</a>). The first argument of the callback is the index of the operator which produced the last move, the second argument is the index of the operator to be evaluated. Ownership of the callback is taken by ConcatenateOperators.</p>
<p>Example:</p>
<p>const int kPriorities = {10, 100, 10, 0}; int64 Evaluate(int active_operator, int current_operator) { return kPriorities[current_operator]; }</p>
<p>LocalSearchOperator* concat = solver.ConcatenateOperators(operators, NewPermanentCallback(&amp;Evaluate));</p>
<p>The elements of the vector operators will be sorted by increasing priority and explored in that order (tie-breaks are handled by keeping the relative operator order in the vector). This would result in the following order: operators[3], operators[0], operators[2], operators[1]. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02015">2015</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="af17b122f41dbc903a8e1aefa20628949"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af17b122f41dbc903a8e1aefa20628949">&#9670;&nbsp;</a></span>ConcatenateOperators() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * ConcatenateOperators </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>ops</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>restart</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02020">2020</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="ab56a158564c3aeb7fc5f08627d288681"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab56a158564c3aeb7fc5f08627d288681">&#9670;&nbsp;</a></span>ConcatenateOperators() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * ConcatenateOperators </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>ops</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::function&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>(int, int)&gt;&#160;</td>
<td class="paramname"><em>evaluator</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02032">2032</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a86ecff14fc3b94df60069a4bca94c06b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86ecff14fc3b94df60069a4bca94c06b">&#9670;&nbsp;</a></span>constraints()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int constraints </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Counts the number of constraints that have been added to the solver before the search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02860">2860</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ab2613a9bd44c5b87559103fc66bfbda4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2613a9bd44c5b87559103fc66bfbda4">&#9670;&nbsp;</a></span>CurrentlyInSolve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CurrentlyInSolve </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true whether the current search has been created using a <a class="el" href="classoperations__research_1_1_solver.html#a946780dfafc8faa3dd2d345850213be5">Solve()</a> call instead of a NewSearch one. </p>
<p>It returns false if the solver is not in search at all. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01746">1746</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a764be64f3029f8b8e23511061d8de355"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a764be64f3029f8b8e23511061d8de355">&#9670;&nbsp;</a></span>DebugString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string DebugString </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>!defined(SWIG) </p>
<p>misc debug string. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01487">1487</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="aaa825d53a4aec98b8e8d5694b99a0c33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa825d53a4aec98b8e8d5694b99a0c33">&#9670;&nbsp;</a></span>DefaultSolverParameters()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ConstraintSolverParameters DefaultSolverParameters </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a <a class="el" href="namespaceoperations__research_1_1_constraint_solver_parameters.html">ConstraintSolverParameters</a> proto with all the default values. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l00118">118</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a10eb8307ae92ccc5dd7cbd17a9e5a4a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10eb8307ae92ccc5dd7cbd17a9e5a4a6">&#9670;&nbsp;</a></span>demon_profiler()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_demon_profiler.html">DemonProfiler</a>* demon_profiler </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Access to demon profiler. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02875">2875</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a2fcb72958195336902eeca6bad65b001"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fcb72958195336902eeca6bad65b001">&#9670;&nbsp;</a></span>demon_runs()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> demon_runs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7">DemonPriority</a>&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of demons executed during search for a given priority. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00991">991</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a3216144f5779ad0022bd7a0421c858d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3216144f5779ad0022bd7a0421c858d7">&#9670;&nbsp;</a></span>EndSearch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void EndSearch </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02263">2263</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="adb5dd2b903aed4484d190730863f26c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb5dd2b903aed4484d190730863f26c2">&#9670;&nbsp;</a></span>ExportProfilingOverview()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ExportProfilingOverview </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Exports the profiling information in a human readable overview. </p>
<p>The parameter profile_level used to create the solver must be set to true. </p>
<p class="definition">Definition at line <a class="el" href="demon__profiler_8cc_source.html#l00430">430</a> of file <a class="el" href="demon__profiler_8cc_source.html">demon_profiler.cc</a>.</p>
</div>
</div>
<a id="aeb92d4addb41255c9732cacfcb54f795"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb92d4addb41255c9732cacfcb54f795">&#9670;&nbsp;</a></span>Fail()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Fail </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Abandon the current branch in the search tree. A backtrack will follow. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02416">2416</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a40535e03b19c64388d1893883289fec5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40535e03b19c64388d1893883289fec5">&#9670;&nbsp;</a></span>fail_stamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#abc0f5bc07737e498f287334775dff2b6">uint64</a> fail_stamp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>The <a class="el" href="classoperations__research_1_1_solver.html#a40535e03b19c64388d1893883289fec5" title="The fail_stamp() is incremented after each backtrack.">fail_stamp()</a> is incremented after each backtrack. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01645">1645</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a2b05840b09f4ab5632470987f01e11e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b05840b09f4ab5632470987f01e11e1">&#9670;&nbsp;</a></span>failures()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> failures </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of failures encountered since the creation of the solver. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00994">994</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="aa94a5c3decf35c8ba0ebdec210bc38e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa94a5c3decf35c8ba0ebdec210bc38e6">&#9670;&nbsp;</a></span>filtered_neighbors()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> filtered_neighbors </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of filtered neighbors (neighbors accepted by filters). </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l01000">1000</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="af62a385d57256e5179b185d003dcfea1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af62a385d57256e5179b185d003dcfea1">&#9670;&nbsp;</a></span>FinishCurrentSearch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FinishCurrentSearch </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Tells the solver to kill or restart the current search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02427">2427</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a23b67374a08dfb275ebd9f084ff42567"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23b67374a08dfb275ebd9f084ff42567">&#9670;&nbsp;</a></span>GetConstraintSolverStatistics()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ConstraintSolverStatistics GetConstraintSolverStatistics </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns detailed cp search statistics. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01546">1546</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a869f7ed2cc6505c59ecf1eb8ecb2288a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a869f7ed2cc6505c59ecf1eb8ecb2288a">&#9670;&nbsp;</a></span>GetLocalSearchMonitor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_monitor.html">LocalSearchMonitor</a> * GetLocalSearchMonitor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the local search monitor. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l03211">3211</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a2563992eba2a464bd9f4c56c7f894945"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2563992eba2a464bd9f4c56c7f894945">&#9670;&nbsp;</a></span>GetLocalSearchStatistics()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">LocalSearchStatistics GetLocalSearchStatistics </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns detailed local search statistics. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l03850">3850</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a3c57f3559561d1a7616bbe881d7e79d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c57f3559561d1a7616bbe881d7e79d3">&#9670;&nbsp;</a></span>GetOrCreateLocalSearchState()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * GetOrCreateLocalSearchState </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns (or creates) an assignment representing the state of local search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l03228">3228</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a92271ad8e09cd801f83ae84e6af5f609"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92271ad8e09cd801f83ae84e6af5f609">&#9670;&nbsp;</a></span>GetPropagationMonitor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_propagation_monitor.html">PropagationMonitor</a> * GetPropagationMonitor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the propagation monitor. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l03134">3134</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a0dd1d43eaa36e3edea0a0c24a1eb558e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dd1d43eaa36e3edea0a0c24a1eb558e">&#9670;&nbsp;</a></span>HasName()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool HasName </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a> *&#160;</td>
<td class="paramname"><em>object</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether the object has been named or not. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02485">2485</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ae5dafec4a3984f3a489f81ad5af0e4c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5dafec4a3984f3a489f81ad5af0e4c1">&#9670;&nbsp;</a></span>InstrumentsDemons()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool InstrumentsDemons </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether we are instrumenting demons. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l00169">169</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="aa637423a56e06d52bc9beed8d6fda7ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa637423a56e06d52bc9beed8d6fda7ab">&#9670;&nbsp;</a></span>InstrumentsVariables()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool InstrumentsVariables </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether we are tracing variables. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l00183">183</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a078a6a3543d033fc6f9b42938f96a702"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a078a6a3543d033fc6f9b42938f96a702">&#9670;&nbsp;</a></span>IsBooleanVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool IsBooleanVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> **&#160;</td>
<td class="paramname"><em>inner_var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool *&#160;</td>
<td class="paramname"><em>is_negated</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if expr represents either boolean_var or 1 - boolean_var. </p>
<p>In that case, it fills inner_var and is_negated to be true if the expression is 1 - boolean_var &ndash; equivalent to not(boolean_var). </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07443">7443</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a72954fb35fd0dd0d796b18d893e957b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72954fb35fd0dd0d796b18d893e957b4">&#9670;&nbsp;</a></span>IsLocalSearchProfilingEnabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool IsLocalSearchProfilingEnabled </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether we are profiling local search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l00178">178</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="af6816fc6dec978dc3ca41929a9dba7e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6816fc6dec978dc3ca41929a9dba7e8">&#9670;&nbsp;</a></span>IsProduct()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool IsProduct </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> **&#160;</td>
<td class="paramname"><em>inner_expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> *&#160;</td>
<td class="paramname"><em>coefficient</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if expr represents a product of a expr and a constant. </p>
<p>In that case, it fills inner_expr and coefficient with these, and returns true. In the other case, it fills inner_expr with expr, coefficient with 1, and returns false. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07461">7461</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a3dc3be2f47a73287c5edd7cf80beaa89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dc3be2f47a73287c5edd7cf80beaa89">&#9670;&nbsp;</a></span>IsProfilingEnabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool IsProfilingEnabled </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether we are profiling the solver. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l00173">173</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="aac351c16876d84a5b0602aa1337a3c61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac351c16876d84a5b0602aa1337a3c61">&#9670;&nbsp;</a></span>LocalSearchProfile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string LocalSearchProfile </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns local search profiling information in a human readable format. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l03843">3843</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a1e1ca16d39d47ab8022785dc8e499120"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e1ca16d39d47ab8022785dc8e499120">&#9670;&nbsp;</a></span>MakeAbs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeAbs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>|expr| </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06984">6984</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a2fff62e191cecd9c73a05eeb4d386914"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fff62e191cecd9c73a05eeb4d386914">&#9670;&nbsp;</a></span>MakeAbsEquality()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeAbsEquality </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>abs_var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates the constraint abs(var) == abs_var. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06977">6977</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a5eb867095eedbb05c137aae7aac299de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eb867095eedbb05c137aae7aac299de">&#9670;&nbsp;</a></span>MakeAcceptFilter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a> * MakeAcceptFilter </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Local <a class="el" href="classoperations__research_1_1_search.html">Search</a> Filters. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02537">2537</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a3f0e3322d5ae085dc9958c4fd5329918"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f0e3322d5ae085dc9958c4fd5329918">&#9670;&nbsp;</a></span>MakeActionDemon()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> * MakeActionDemon </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a>&#160;</td>
<td class="paramname"><em>action</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a demon from a callback. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00507">507</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="ac145423b7d355bcd75d627871ca95e86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac145423b7d355bcd75d627871ca95e86">&#9670;&nbsp;</a></span>MakeAllDifferent() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeAllDifferent </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>All variables are pairwise different. </p>
<p>This corresponds to the stronger version of the propagation algorithm. </p>
<p class="definition">Definition at line <a class="el" href="alldiff__cst_8cc_source.html#l00690">690</a> of file <a class="el" href="alldiff__cst_8cc_source.html">alldiff_cst.cc</a>.</p>
</div>
</div>
<a id="a5ab1471e27355b524a9a50b8e8386717"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ab1471e27355b524a9a50b8e8386717">&#9670;&nbsp;</a></span>MakeAllDifferent() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeAllDifferent </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>stronger_propagation</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>All variables are pairwise different. </p>
<p>If 'stronger_propagation' is true, stronger, and potentially slower propagation will occur. This API will be deprecated in the future. </p>
<p class="definition">Definition at line <a class="el" href="alldiff__cst_8cc_source.html#l00694">694</a> of file <a class="el" href="alldiff__cst_8cc_source.html">alldiff_cst.cc</a>.</p>
</div>
</div>
<a id="a538951377d369ae5381c71cd876d621a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a538951377d369ae5381c71cd876d621a">&#9670;&nbsp;</a></span>MakeAllDifferentExcept()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeAllDifferentExcept </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>escape_value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>All variables are pairwise different, unless they are assigned to the escape value. </p>
<p class="definition">Definition at line <a class="el" href="alldiff__cst_8cc_source.html#l00720">720</a> of file <a class="el" href="alldiff__cst_8cc_source.html">alldiff_cst.cc</a>.</p>
</div>
</div>
<a id="af4c960f5d46ac35f537ade04ff7e2cc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4c960f5d46ac35f537ade04ff7e2cc3">&#9670;&nbsp;</a></span>MakeAllowedAssignments()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeAllowedAssignments </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_int_tuple_set.html">IntTupleSet</a> &amp;&#160;</td>
<td class="paramname"><em>tuples</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method creates a constraint where the graph of the relation between the variables is given in extension. </p>
<p>There are 'arity' variables involved in the relation and the graph is given by a integer tuple set. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_2table_8cc_source.html#l01251">1251</a> of file <a class="el" href="constraint__solver_2table_8cc_source.html">constraint_solver/table.cc</a>.</p>
</div>
</div>
<a id="a05d70521aabf6139379104bb7b1bc891"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05d70521aabf6139379104bb7b1bc891">&#9670;&nbsp;</a></span>MakeAllSolutionCollector() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> * MakeAllSolutionCollector </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect all solutions of the search. </p>
<p>The variables will need to be added later. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02711">2711</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a159af7a4def562cb19dc241d2dedb082"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a159af7a4def562cb19dc241d2dedb082">&#9670;&nbsp;</a></span>MakeAllSolutionCollector() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> * MakeAllSolutionCollector </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>assignment</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect all solutions of the search. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02706">2706</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a50abbcc8065d8edb6d4bd2d7362c736a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50abbcc8065d8edb6d4bd2d7362c736a">&#9670;&nbsp;</a></span>MakeApplyBranchSelector()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeApplyBranchSelector </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a>&#160;</td>
<td class="paramname"><em>bs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a decision builder that will set the branch selector. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01167">1167</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ad45ddc54149c5954c2bbd4e2657f9148"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad45ddc54149c5954c2bbd4e2657f9148">&#9670;&nbsp;</a></span>MakeAssignment() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * MakeAssignment </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method creates an empty assignment. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_2assignment_8cc_source.html#l01037">1037</a> of file <a class="el" href="constraint__solver_2assignment_8cc_source.html">constraint_solver/assignment.cc</a>.</p>
</div>
</div>
<a id="a9de14b462099fa53449fe7a133d1fc2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9de14b462099fa53449fe7a133d1fc2f">&#9670;&nbsp;</a></span>MakeAssignment() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * MakeAssignment </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method creates an assignment which is a copy of 'a'. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_2assignment_8cc_source.html#l01039">1039</a> of file <a class="el" href="constraint__solver_2assignment_8cc_source.html">constraint_solver/assignment.cc</a>.</p>
</div>
</div>
<a id="a4cce1054807415a9de573071d05b2d25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cce1054807415a9de573071d05b2d25">&#9670;&nbsp;</a></span>MakeAssignVariablesValues()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeAssignVariablesValues </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01752">1752</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a1370b59383ce48458440621b3cb6d2f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1370b59383ce48458440621b3cb6d2f9">&#9670;&nbsp;</a></span>MakeAssignVariableValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeAssignVariableValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>val</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decisions. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01558">1558</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a56b839340386d9232ebba3f108be0fec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56b839340386d9232ebba3f108be0fec">&#9670;&nbsp;</a></span>MakeAssignVariableValueOrDoNothing()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeAssignVariableValueOrDoNothing </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01625">1625</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a28443cf0023da942be7d6e9e34871c7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28443cf0023da942be7d6e9e34871c7f">&#9670;&nbsp;</a></span>MakeAssignVariableValueOrFail()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeAssignVariableValueOrFail </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01596">1596</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a8288e9ee5ea618c2644edf72b718b26b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8288e9ee5ea618c2644edf72b718b26b">&#9670;&nbsp;</a></span>MakeAtMost()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeAtMost </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>max_count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>|{i | vars[i] == value}| &lt;= max_count </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l00955">955</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="a13cf423397bb12a1a502312c460764a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13cf423397bb12a1a502312c460764a7">&#9670;&nbsp;</a></span>MakeAtSolutionCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeAtSolutionCallback </td>
<td>(</td>
<td class="paramtype">std::function&lt; void()&gt;&#160;</td>
<td class="paramname"><em>callback</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00418">418</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a67f24dec948277b4e908f49f8c3c8909"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67f24dec948277b4e908f49f8c3c8909">&#9670;&nbsp;</a></span>MakeBestValueSolutionCollector() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> * MakeBestValueSolutionCollector </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignment' does not have an objective no solution is collected. </p>
<p>This collector only collects one solution corresponding to the best objective value (the first one found). The variables will need to be added later. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02553">2553</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="aded8803669b18a66cf5746fdc3bedfc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aded8803669b18a66cf5746fdc3bedfc9">&#9670;&nbsp;</a></span>MakeBestValueSolutionCollector() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> * MakeBestValueSolutionCollector </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>assignment</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignment' does not have an objective no solution is collected. </p>
<p>This collector only collects one solution corresponding to the best objective value (the first one found). </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02548">2548</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a4327fa8b54b0126c8cf52628aa5a6943"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4327fa8b54b0126c8cf52628aa5a6943">&#9670;&nbsp;</a></span>MakeBetweenCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeBetweenCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>u</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>(l &lt;= expr &lt;= u) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00920">920</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="aa2ccc3c5683cdbf7b7651894f4054385"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2ccc3c5683cdbf7b7651894f4054385">&#9670;&nbsp;</a></span>MakeBoolVar() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeBoolVar </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>MakeBoolVar will create a variable with a {0, 1} domain. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06379">6379</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a7fe5747f8adc7d4c5e233f849be04d6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fe5747f8adc7d4c5e233f849be04d6d">&#9670;&nbsp;</a></span>MakeBoolVar() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeBoolVar </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>MakeBoolVar will create a variable with a {0, 1} domain. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06375">6375</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a4c9becfde92b690d0869a3127fc34126"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c9becfde92b690d0869a3127fc34126">&#9670;&nbsp;</a></span>MakeBoolVarArray() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> ** MakeBoolVarArray </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>var_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same but allocates an array and returns it. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06516">6516</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a0c5082a7f40da167784ea364c9797d0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c5082a7f40da167784ea364c9797d0e">&#9670;&nbsp;</a></span>MakeBoolVarArray() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeBoolVarArray </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>var_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; *&#160;</td>
<td class="paramname"><em>vars</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method will append the vector vars with 'var_count' boolean variables having name "name&lt;i&gt;" where <em> is the index of the variable. </em></p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06503">6503</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a88e5ec53146896696c454ca29cd6366e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88e5ec53146896696c454ca29cd6366e">&#9670;&nbsp;</a></span>MakeBoolVarArray() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeBoolVarArray </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>var_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; *&#160;</td>
<td class="paramname"><em>vars</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method will append the vector vars with 'var_count' boolean variables having no names. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06510">6510</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a80939f447e1c464a1ad69c0f6eb48ee3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80939f447e1c464a1ad69c0f6eb48ee3">&#9670;&nbsp;</a></span>MakeBranchesLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> * MakeBranchesLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>branches</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a search limit that constrains the number of branches explored in the search tree. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04095">4095</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a399fa67037695a2651e9e9c49ec1e014"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a399fa67037695a2651e9e9c49ec1e014">&#9670;&nbsp;</a></span>MakeCircuit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeCircuit </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nexts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Force the "nexts" variable to create a complete Hamiltonian path. </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l00638">638</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="a59234ab632db0df159df6a15f32d904a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59234ab632db0df159df6a15f32d904a">&#9670;&nbsp;</a></span>MakeClosureDemon()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> * MakeClosureDemon </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a>&#160;</td>
<td class="paramname"><em>closure</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>!defined(SWIG) </p>
<p>Creates a demon from a closure. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00511">511</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="a7c5c8ee06decdcc10a24ec8c3237722a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c5c8ee06decdcc10a24ec8c3237722a">&#9670;&nbsp;</a></span>MakeConditionalExpression()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeConditionalExpression </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>condition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>unperformed_value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Conditional Expr condition ? expr : unperformed_value. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07216">7216</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a860294d137e8364921c233dccb725ace"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a860294d137e8364921c233dccb725ace">&#9670;&nbsp;</a></span>MakeConstantRestart()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeConstantRestart </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>frequency</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This search monitor will restart the search periodically after 'frequency' failures. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04676">4676</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a39757eedc8178cf992eb82aaf28df10c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39757eedc8178cf992eb82aaf28df10c">&#9670;&nbsp;</a></span>MakeConstraintAdder()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeConstraintAdder </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *const&#160;</td>
<td class="paramname"><em>ct</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a decision builder that will add the given constraint to the model. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02368">2368</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a757134fa69300766dced7f3ed9cd1810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a757134fa69300766dced7f3ed9cd1810">&#9670;&nbsp;</a></span>MakeConstraintInitialPropagateCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> * MakeConstraintInitialPropagateCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *const&#160;</td>
<td class="paramname"><em>ct</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of the constraint 'ct'. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00033">33</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="add6619604529f8169efe71c05e8df43c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add6619604529f8169efe71c05e8df43c">&#9670;&nbsp;</a></span>MakeConvexPiecewiseExpr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeConvexPiecewiseExpr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>early_cost</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>early_date</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>late_date</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>late_cost</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convex piecewise function. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07129">7129</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="ac0a075064f92e8b5eb071fe42ac9ab47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0a075064f92e8b5eb071fe42ac9ab47">&#9670;&nbsp;</a></span>MakeCount() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeCount </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>max_count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>|{i | vars[i] == value}| == max_count </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l00030">30</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="a225b1f097c33764ba8b00e27e1f72f11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a225b1f097c33764ba8b00e27e1f72f11">&#9670;&nbsp;</a></span>MakeCount() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeCount </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>max_count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>|{i | vars[i] == value}| == max_count </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l00045">45</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="a4a279756d1bcfa51f40d5fc8e299abab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a279756d1bcfa51f40d5fc8e299abab">&#9670;&nbsp;</a></span>MakeCover()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeCover </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>target_var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint states that the target_var is the convex hull of the intervals. </p>
<p>If none of the interval variables is performed, then the target var is unperformed too. Also, if the target variable is unperformed, then all the intervals variables are unperformed too. </p>
<p class="definition">Definition at line <a class="el" href="sched__constraints_8cc_source.html#l00585">585</a> of file <a class="el" href="sched__constraints_8cc_source.html">sched_constraints.cc</a>.</p>
</div>
</div>
<a id="a77443009380c4c406b39bb1299607f4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77443009380c4c406b39bb1299607f4e">&#9670;&nbsp;</a></span>MakeCumulative() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeCumulative </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>intervals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>demands</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>capacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint forces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. </p>
<p>Intervals and demands should be vectors of equal size.</p>
<p>Demands should only contain non-negative values. Zero values are supported, and the corresponding intervals are filtered out, as they neither impact nor are impacted by this constraint. </p>
<p class="definition">Definition at line <a class="el" href="resource_8cc_source.html#l02600">2600</a> of file <a class="el" href="resource_8cc_source.html">resource.cc</a>.</p>
</div>
</div>
<a id="a93e20bcba087839713b8f10e0f906396"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93e20bcba087839713b8f10e0f906396">&#9670;&nbsp;</a></span>MakeCumulative() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeCumulative </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>intervals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>demands</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>capacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint enforces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. </p>
<p>Intervals and demands should be vectors of equal size.</p>
<p>Demands should only contain non-negative values. Zero values are supported, and the corresponding intervals are filtered out, as they neither impact nor are impacted by this constraint. </p>
<p class="definition">Definition at line <a class="el" href="resource_8cc_source.html#l02618">2618</a> of file <a class="el" href="resource_8cc_source.html">resource.cc</a>.</p>
</div>
</div>
<a id="a4d68e84f2cdbfec2a2764d1ce523ccda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d68e84f2cdbfec2a2764d1ce523ccda">&#9670;&nbsp;</a></span>MakeCumulative() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeCumulative </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>intervals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>demands</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>capacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint forces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. </p>
<p>Intervals and demands should be vectors of equal size.</p>
<p>Demands should only contain non-negative values. Zero values are supported, and the corresponding intervals are filtered out, as they neither impact nor are impacted by this constraint. </p>
<p class="definition">Definition at line <a class="el" href="resource_8cc_source.html#l02586">2586</a> of file <a class="el" href="resource_8cc_source.html">resource.cc</a>.</p>
</div>
</div>
<a id="ae6365c8ad4dcc8b689384992f95ddc80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6365c8ad4dcc8b689384992f95ddc80">&#9670;&nbsp;</a></span>MakeCumulative() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeCumulative </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>intervals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>demands</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>capacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint forces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. </p>
<p>Intervals and demands should be vectors of equal size.</p>
<p>Demands should only contain non-negative values. Zero values are supported, and the corresponding intervals are filtered out, as they neither impact nor are impacted by this constraint. </p>
<p class="definition">Definition at line <a class="el" href="resource_8cc_source.html#l02606">2606</a> of file <a class="el" href="resource_8cc_source.html">resource.cc</a>.</p>
</div>
</div>
<a id="a6cd3daabc584b0d60c8eddb00f09d7c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cd3daabc584b0d60c8eddb00f09d7c0">&#9670;&nbsp;</a></span>MakeCumulative() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeCumulative </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>intervals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>demands</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>capacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint enforces that, for any integer t, the sum of demands corresponding to an interval containing t does not exceed the given capacity. </p>
<p>Intervals and demands should be vectors of equal size.</p>
<p>Demands should be positive. </p>
<p class="definition">Definition at line <a class="el" href="resource_8cc_source.html#l02627">2627</a> of file <a class="el" href="resource_8cc_source.html">resource.cc</a>.</p>
</div>
</div>
<a id="a251bbe8741707d92c5ff1fbf2ddcd51c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a251bbe8741707d92c5ff1fbf2ddcd51c">&#9670;&nbsp;</a></span>MakeCumulative() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeCumulative </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>intervals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>demands</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>capacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint enforces that, for any integer t, the sum of demands corresponding to an interval containing t does not exceed the given capacity. </p>
<p>Intervals and demands should be vectors of equal size.</p>
<p>Demands should be positive. </p>
<p class="definition">Definition at line <a class="el" href="resource_8cc_source.html#l02645">2645</a> of file <a class="el" href="resource_8cc_source.html">resource.cc</a>.</p>
</div>
</div>
<a id="a1700b6f2ca4da7c3f532916d650a817e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1700b6f2ca4da7c3f532916d650a817e">&#9670;&nbsp;</a></span>MakeCustomLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> * MakeCustomLimit </td>
<td>(</td>
<td class="paramtype">std::function&lt; bool()&gt;&#160;</td>
<td class="paramname"><em>limiter</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback-based search limit. </p>
<p><a class="el" href="classoperations__research_1_1_search.html">Search</a> stops when limiter returns true; if this happens at a leaf the corresponding solution will be rejected. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04370">4370</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a00f78f79ea5ff448caa08cba62054859"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00f78f79ea5ff448caa08cba62054859">&#9670;&nbsp;</a></span>MakeDecision()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeDecision </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a>&#160;</td>
<td class="paramname"><em>apply</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a>&#160;</td>
<td class="paramname"><em>refute</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00610">610</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ae8b8c06e2106f61105c9e861bc4b6aa8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8b8c06e2106f61105c9e861bc4b6aa8">&#9670;&nbsp;</a></span>MakeDecisionBuilderFromAssignment()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeDecisionBuilderFromAssignment </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>assignment</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a decision builder for which the left-most leaf corresponds to assignment, the rest of the tree being explored using 'db'. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02195">2195</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ae83f4bd46d24db9dd2177e84cae8da6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae83f4bd46d24db9dd2177e84cae8da6d">&#9670;&nbsp;</a></span>MakeDefaultPhase() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeDefaultPhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="default__search_8cc_source.html#l01110">1110</a> of file <a class="el" href="default__search_8cc_source.html">default_search.cc</a>.</p>
</div>
</div>
<a id="aff916492777aed8cc81ce92767cd461a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff916492777aed8cc81ce92767cd461a">&#9670;&nbsp;</a></span>MakeDefaultPhase() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeDefaultPhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structoperations__research_1_1_default_phase_parameters.html">DefaultPhaseParameters</a> &amp;&#160;</td>
<td class="paramname"><em>parameters</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="default__search_8cc_source.html#l01115">1115</a> of file <a class="el" href="default__search_8cc_source.html">default_search.cc</a>.</p>
</div>
</div>
<a id="a9f52516c4ad3aced15492b20a58dc2d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f52516c4ad3aced15492b20a58dc2d9">&#9670;&nbsp;</a></span>MakeDefaultRegularLimitParameters()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RegularLimitParameters MakeDefaultRegularLimitParameters </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a regular limit proto containing default values. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04131">4131</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a953add22f3c0d887291eec2b40eb0aeb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a953add22f3c0d887291eec2b40eb0aeb">&#9670;&nbsp;</a></span>MakeDefaultSolutionPool()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a> * MakeDefaultSolutionPool </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Solution Pool. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04769">4769</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="ac46ae3a82d68424788c0eabc3d4b838c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac46ae3a82d68424788c0eabc3d4b838c">&#9670;&nbsp;</a></span>MakeDelayedConstraintInitialPropagateCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> * MakeDelayedConstraintInitialPropagateCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> *const&#160;</td>
<td class="paramname"><em>ct</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of the constraint 'ct' with low priority. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00038">38</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="a46d06186cf102695501bfc59cf790877"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46d06186cf102695501bfc59cf790877">&#9670;&nbsp;</a></span>MakeDelayedPathCumul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeDelayedPathCumul </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>active</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>cumuls</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>transits</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Delayed version of the same constraint: propagation on the nexts variables is delayed until all constraints have propagated. </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l01325">1325</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="a0f0d4776441fdd11e965e2587f1b7a82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f0d4776441fdd11e965e2587f1b7a82">&#9670;&nbsp;</a></span>MakeDeviation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeDeviation </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>deviation_var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>total_sum</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Deviation constraint: sum_i |n * vars[i] - total_sum| &lt;= deviation_var and sum_i vars[i] == total_sum n = #vars. </p>
<p class="definition">Definition at line <a class="el" href="deviation_8cc_source.html#l00411">411</a> of file <a class="el" href="deviation_8cc_source.html">deviation.cc</a>.</p>
</div>
</div>
<a id="a92381f09e2e5e9f808c26bf62af9427e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92381f09e2e5e9f808c26bf62af9427e">&#9670;&nbsp;</a></span>MakeDifference() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeDifference </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>value - expr </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06674">6674</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a988e122844528e222326bd327a5d60fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a988e122844528e222326bd327a5d60fd">&#9670;&nbsp;</a></span>MakeDifference() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeDifference </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>left - right </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06634">6634</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a62dca63c6e5610d51dc8c3abe6227747"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62dca63c6e5610d51dc8c3abe6227747">&#9670;&nbsp;</a></span>MakeDisjunctiveConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_disjunctive_constraint.html">DisjunctiveConstraint</a> * MakeDisjunctiveConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>intervals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint forces all interval vars into an non-overlapping sequence. </p>
<p>Intervals with zero duration can be scheduled anywhere. </p>
<p class="definition">Definition at line <a class="el" href="resource_8cc_source.html#l02574">2574</a> of file <a class="el" href="resource_8cc_source.html">resource.cc</a>.</p>
</div>
</div>
<a id="a9ddd8656b185d1ec97ba582431c39787"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ddd8656b185d1ec97ba582431c39787">&#9670;&nbsp;</a></span>MakeDistribute() <span class="overload">[1/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeDistribute </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>card_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>card_max</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Aggregated version of count with bounded cardinalities: forall j in 0 . </p>
<p>. card_size - 1: card_min[j] &lt;= |{i | v[i] == j}| &lt;= card_max[j] </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l01052">1052</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="afd3decca8be2b860ad07a2755cd1405c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd3decca8be2b860ad07a2755cd1405c">&#9670;&nbsp;</a></span>MakeDistribute() <span class="overload">[2/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeDistribute </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>card_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>card_max</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Aggregated version of count with bounded cardinalities: forall j in 0 . </p>
<p>. card_size - 1: card_min[j] &lt;= |{i | v[i] == values[j]}| &lt;= card_max[j] </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l01075">1075</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="aee1a846454b8c2e5f38a8e030343e24f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee1a846454b8c2e5f38a8e030343e24f">&#9670;&nbsp;</a></span>MakeDistribute() <span class="overload">[3/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeDistribute </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>cards</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Aggregated version of count: |{i | v[i] == values[j]}| == cards[j]. </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l00993">993</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="a75d29d67ab94e0e0b3553ab24bb89527"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75d29d67ab94e0e0b3553ab24bb89527">&#9670;&nbsp;</a></span>MakeDistribute() <span class="overload">[4/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeDistribute </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>card_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>card_max</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Aggregated version of count with bounded cardinalities: forall j in 0 . </p>
<p>. card_size - 1: card_min[j] &lt;= |{i | v[i] == j}| &lt;= card_max[j] </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l01032">1032</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="a47892131fffd78b176ce54a2ebbcb9ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47892131fffd78b176ce54a2ebbcb9ae">&#9670;&nbsp;</a></span>MakeDistribute() <span class="overload">[5/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeDistribute </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>card_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>card_max</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Aggregated version of count with bounded cardinalities: forall j in 0 . </p>
<p>. card_size - 1: card_min[j] &lt;= |{i | v[i] == values[j]}| &lt;= card_max[j] </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l01058">1058</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="a806cf614c19001fbacaa41a918534ca9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a806cf614c19001fbacaa41a918534ca9">&#9670;&nbsp;</a></span>MakeDistribute() <span class="overload">[6/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeDistribute </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>cards</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Aggregated version of count: |{i | v[i] == values[j]}| == cards[j]. </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l00964">964</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="a9535e1e548aac3b91310c82b71bf6d22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9535e1e548aac3b91310c82b71bf6d22">&#9670;&nbsp;</a></span>MakeDistribute() <span class="overload">[7/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeDistribute </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>cards</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Aggregated version of count: |{i | v[i] == j}| == cards[j]. </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l00999">999</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="a5f8e32de703e02a99166f626f069d582"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f8e32de703e02a99166f626f069d582">&#9670;&nbsp;</a></span>MakeDistribute() <span class="overload">[8/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeDistribute </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>card_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>card_max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>card_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Aggregated version of count with bounded cardinalities: forall j in 0 . </p>
<p>. card_size - 1: card_min &lt;= |{i | v[i] == j}| &lt;= card_max </p>
<p class="definition">Definition at line <a class="el" href="count__cst_8cc_source.html#l01013">1013</a> of file <a class="el" href="count__cst_8cc_source.html">count_cst.cc</a>.</p>
</div>
</div>
<a id="aa8704ef7a76b2de1d851372675e6b923"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8704ef7a76b2de1d851372675e6b923">&#9670;&nbsp;</a></span>MakeDiv() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeDiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr / value (integer division) </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06956">6956</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a537af2f859a1a28f1cfba78504b01b10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a537af2f859a1a28f1cfba78504b01b10">&#9670;&nbsp;</a></span>MakeDiv() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeDiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>numerator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>denominator</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>numerator / denominator (integer division). Terms need to be positive. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06918">6918</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a5d55c6d88841a24a6475f2b8a0da2dd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d55c6d88841a24a6475f2b8a0da2dd5">&#9670;&nbsp;</a></span>MakeElement() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeElement </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>values[index] </p>
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l00657">657</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="a0239c8843ea9e89736f6146c27bf71bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0239c8843ea9e89736f6146c27bf71bf">&#9670;&nbsp;</a></span>MakeElement() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeElement </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>values[index] </p>
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l00647">647</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="a607c2a1c721c5ca1d2399a13e619e2cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a607c2a1c721c5ca1d2399a13e619e2cd">&#9670;&nbsp;</a></span>MakeElement() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeElement </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>vars[expr] </p>
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l01605">1605</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="a82f32152b3e50f4dc8fcf740f28854db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82f32152b3e50f4dc8fcf740f28854db">&#9670;&nbsp;</a></span>MakeElement() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeElement </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a>&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Function-based element. </p>
<p>The constraint takes ownership of the callback. The callback must be able to cope with any possible value in the domain of 'index' (potentially negative ones too). </p>
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l00852">852</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="a8f08623720fbf9b78baea270d0a6c55d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f08623720fbf9b78baea270d0a6c55d">&#9670;&nbsp;</a></span>MakeElement() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeElement </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>2D version of function-based element expression, values(expr1, expr2). </p>
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l01102">1102</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="ad7ad069cf1b9066d7926cabf07dbeefe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7ad069cf1b9066d7926cabf07dbeefe">&#9670;&nbsp;</a></span>MakeElement() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeElement </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#adbfd1fe2611bc7b45421ae81d66d7444">Int64ToIntVar</a>&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>range_start</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>range_end</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>argument</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>vars(argument) </p>
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l01652">1652</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="a7dacaf3594ba4371238e9d69ba778151"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7dacaf3594ba4371238e9d69ba778151">&#9670;&nbsp;</a></span>MakeElementEquality() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeElementEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>target</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l01673">1673</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="add0ab03e6773b9317ef15f667e9e08ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add0ab03e6773b9317ef15f667e9e08ad">&#9670;&nbsp;</a></span>MakeElementEquality() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeElementEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>target</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l01667">1667</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="a3dd140f52dd2059ffd9a1f7cbe431fb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dd140f52dd2059ffd9a1f7cbe431fb8">&#9670;&nbsp;</a></span>MakeElementEquality() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeElementEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>target</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l01706">1706</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="a2988304a57c8b68fdd6ea271259d0143"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2988304a57c8b68fdd6ea271259d0143">&#9670;&nbsp;</a></span>MakeElementEquality() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeElementEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>target</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l01679">1679</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="aca90f8eeeac883bdb7bee6fd1be1c9f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca90f8eeeac883bdb7bee6fd1be1c9f3">&#9670;&nbsp;</a></span>MakeEnterSearchCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeEnterSearchCallback </td>
<td>(</td>
<td class="paramtype">std::function&lt; void()&gt;&#160;</td>
<td class="paramname"><em>callback</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>--&mdash; Callback-based search monitors --&mdash; </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00438">438</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac8d11f92b1af7b582f49c50ff1a02559"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8d11f92b1af7b582f49c50ff1a02559">&#9670;&nbsp;</a></span>MakeEquality() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeEquality </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>var1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>var2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraints states that the two interval variables are equal. </p>
<p class="definition">Definition at line <a class="el" href="sched__constraints_8cc_source.html#l00595">595</a> of file <a class="el" href="sched__constraints_8cc_source.html">sched_constraints.cc</a>.</p>
</div>
</div>
<a id="a45e165985c73422b6215e2c303e65125"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45e165985c73422b6215e2c303e65125">&#9670;&nbsp;</a></span>MakeEquality() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeEquality </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr == value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00099">99</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="aa79c3453d1a5d63800438bd2ba510bcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa79c3453d1a5d63800438bd2ba510bcf">&#9670;&nbsp;</a></span>MakeEquality() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeEquality </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr == value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00084">84</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a2085a8965de86fa4cf3aa76331331372"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2085a8965de86fa4cf3aa76331331372">&#9670;&nbsp;</a></span>MakeEquality() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeEquality </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>left == right </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00512">512</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="ae70ed50181af7d10b023eb2ea7151d63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae70ed50181af7d10b023eb2ea7151d63">&#9670;&nbsp;</a></span>MakeExitSearchCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeExitSearchCallback </td>
<td>(</td>
<td class="paramtype">std::function&lt; void()&gt;&#160;</td>
<td class="paramname"><em>callback</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00458">458</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="aeb4b40e28341f9c71198a6c9f0a78c06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb4b40e28341f9c71198a6c9f0a78c06">&#9670;&nbsp;</a></span>MakeFailDecision()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeFailDecision </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01379">1379</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a43d07af618a9f119a0b75d82abf246f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43d07af618a9f119a0b75d82abf246f1">&#9670;&nbsp;</a></span>MakeFailuresLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> * MakeFailuresLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>failures</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a search limit that constrains the number of failures that can happen when exploring the search tree. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04100">4100</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a1f73b85db1b5b095064d1b2d1e40f23b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f73b85db1b5b095064d1b2d1e40f23b">&#9670;&nbsp;</a></span>MakeFalseConstraint() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeFalseConstraint </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint always fails. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00520">520</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="a852aba0d03119d806f68b204a543596e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a852aba0d03119d806f68b204a543596e">&#9670;&nbsp;</a></span>MakeFalseConstraint() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeFalseConstraint </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>explanation</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00524">524</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="ad86f3c4cb67c8eb128337d1204546788"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad86f3c4cb67c8eb128337d1204546788">&#9670;&nbsp;</a></span>MakeFirstSolutionCollector() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> * MakeFirstSolutionCollector </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect the first solution of the search. </p>
<p>The variables will need to be added later. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02435">2435</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="acf9b3b0021ba123b577f437d549432f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf9b3b0021ba123b577f437d549432f8">&#9670;&nbsp;</a></span>MakeFirstSolutionCollector() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> * MakeFirstSolutionCollector </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>assignment</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect the first solution of the search. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02430">2430</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a571d6bd2cab9d27f4a2879f262776cb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a571d6bd2cab9d27f4a2879f262776cb8">&#9670;&nbsp;</a></span>MakeFixedDurationEndSyncedOnEndIntervalVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeFixedDurationEndSyncedOnEndIntervalVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>interval_var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an interval var with a fixed duration whose end is synchronized with the end of another interval, with a given offset. </p>
<p>The performed status is also in sync with the performed status of the given interval variable. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02417">2417</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="a79815eab79172e06f6748cca96714b3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79815eab79172e06f6748cca96714b3a">&#9670;&nbsp;</a></span>MakeFixedDurationEndSyncedOnStartIntervalVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeFixedDurationEndSyncedOnStartIntervalVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>interval_var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an interval var with a fixed duration whose end is synchronized with the start of another interval, with a given offset. </p>
<p>The performed status is also in sync with the performed status of the given interval variable. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02410">2410</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="ab6d375a617d535e63ae45710d8e455b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6d375a617d535e63ae45710d8e455b2">&#9670;&nbsp;</a></span>MakeFixedDurationIntervalVar() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeFixedDurationIntervalVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>start_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>start_max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>optional</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an interval var with a fixed duration. </p>
<p>The duration must be greater than 0. If optional is true, then the interval can be performed or unperformed. If optional is false, then the interval is always performed. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02239">2239</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="aaeb553b69010592a6b2235fc1f8d830f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaeb553b69010592a6b2235fc1f8d830f">&#9670;&nbsp;</a></span>MakeFixedDurationIntervalVar() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeFixedDurationIntervalVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>start_variable</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a performed interval var with a fixed duration. </p>
<p>The duration must be greater than 0. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02266">2266</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="a53d54d9e50487546e611be40f9cad491"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53d54d9e50487546e611be40f9cad491">&#9670;&nbsp;</a></span>MakeFixedDurationIntervalVar() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeFixedDurationIntervalVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>start_variable</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>performed_variable</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an interval var with a fixed duration, and performed_variable. </p>
<p>The duration must be greater than 0. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02277">2277</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="ae003f9e6fbeec988e9e3ba456d1f2808"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae003f9e6fbeec988e9e3ba456d1f2808">&#9670;&nbsp;</a></span>MakeFixedDurationIntervalVarArray() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeFixedDurationIntervalVarArray </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>start_variables</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>durations</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const&#160;</td>
<td class="paramname"><em>array</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method fills the vector with interval variables built with the corresponding start variables. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02326">2326</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="a4fed63f576ec3fe7a25a5a0341537480"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fed63f576ec3fe7a25a5a0341537480">&#9670;&nbsp;</a></span>MakeFixedDurationIntervalVarArray() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeFixedDurationIntervalVarArray </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>start_variables</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>durations</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>performed_variables</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const&#160;</td>
<td class="paramname"><em>array</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method fills the vector with interval variables built with the corresponding start and performed variables. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02340">2340</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="afe0f1bbaab72ae2ac9f6b483064e19f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe0f1bbaab72ae2ac9f6b483064e19f8">&#9670;&nbsp;</a></span>MakeFixedDurationIntervalVarArray() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeFixedDurationIntervalVarArray </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>start_variables</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>durations</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const&#160;</td>
<td class="paramname"><em>array</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method fills the vector with interval variables built with the corresponding start variables. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02312">2312</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="a5d9ecf928f4a534fda1be370eae4efea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d9ecf928f4a534fda1be370eae4efea">&#9670;&nbsp;</a></span>MakeFixedDurationIntervalVarArray() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeFixedDurationIntervalVarArray </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>start_variables</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>durations</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>performed_variables</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const&#160;</td>
<td class="paramname"><em>array</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method fills the vector with interval variables built with the corresponding start and performed variables. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02354">2354</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="af07acb0b686d40e056a7b2a127eb5ba6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af07acb0b686d40e056a7b2a127eb5ba6">&#9670;&nbsp;</a></span>MakeFixedDurationIntervalVarArray() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeFixedDurationIntervalVarArray </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>start_variables</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const&#160;</td>
<td class="paramname"><em>array</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method fills the vector with 'count' interval var built with the corresponding start variables. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02298">2298</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="a8ae40872f6abd544d1c191ac370b7e22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ae40872f6abd544d1c191ac370b7e22">&#9670;&nbsp;</a></span>MakeFixedDurationIntervalVarArray() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeFixedDurationIntervalVarArray </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>start_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>start_max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>optional</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const&#160;</td>
<td class="paramname"><em>array</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method fills the vector with 'count' interval variables built with the corresponding parameters. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02253">2253</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="abe56a667003808b938d63f858c1c2836"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe56a667003808b938d63f858c1c2836">&#9670;&nbsp;</a></span>MakeFixedDurationStartSyncedOnEndIntervalVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeFixedDurationStartSyncedOnEndIntervalVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>interval_var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an interval var with a fixed duration whose start is synchronized with the end of another interval, with a given offset. </p>
<p>The performed status is also in sync with the performed status of the given interval variable. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02403">2403</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="acef49cc8d3ff13b0a4ca8a1c58be7a54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acef49cc8d3ff13b0a4ca8a1c58be7a54">&#9670;&nbsp;</a></span>MakeFixedDurationStartSyncedOnStartIntervalVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeFixedDurationStartSyncedOnStartIntervalVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>interval_var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an interval var with a fixed duration whose start is synchronized with the start of another interval, with a given offset. </p>
<p>The performed status is also in sync with the performed status of the given interval variable. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02396">2396</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="a5b8f7ad95ea286922f2ef70a4fd84769"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b8f7ad95ea286922f2ef70a4fd84769">&#9670;&nbsp;</a></span>MakeFixedInterval()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeFixedInterval </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>start</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a fixed and performed interval. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02234">2234</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="a3339cffbe749b1fafdd7a1501fa78129"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3339cffbe749b1fafdd7a1501fa78129">&#9670;&nbsp;</a></span>MakeGenericTabuSearch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeGenericTabuSearch </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>tabu_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>forbid_tenure</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a Tabu <a class="el" href="classoperations__research_1_1_search.html">Search</a> based on the vars |vars|. </p>
<p>A solution is "tabu" if all the vars in |vars| keep their value. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l03249">3249</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a635a8438145d7e0816bc025c24f6e90d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a635a8438145d7e0816bc025c24f6e90d">&#9670;&nbsp;</a></span>MakeGreater() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeGreater </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr &gt; value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00201">201</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a827ac0b1b71dec87b5b9fcf76af5f925"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a827ac0b1b71dec87b5b9fcf76af5f925">&#9670;&nbsp;</a></span>MakeGreater() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeGreater </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr &gt; value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00190">190</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a3acffe26a83237c5ff730b6ee4b81c94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3acffe26a83237c5ff730b6ee4b81c94">&#9670;&nbsp;</a></span>MakeGreater() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeGreater </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>left &gt; right </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00560">560</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="ac5a88b8b5ae7d8a03052b00db7dc931e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5a88b8b5ae7d8a03052b00db7dc931e">&#9670;&nbsp;</a></span>MakeGreaterOrEqual() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeGreaterOrEqual </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr &gt;= value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00179">179</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="aab0213c4bf2cd1e6b33c1d8fb908e796"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab0213c4bf2cd1e6b33c1d8fb908e796">&#9670;&nbsp;</a></span>MakeGreaterOrEqual() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeGreaterOrEqual </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr &gt;= value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00168">168</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="aec68a2a29292f367d4ea1fdd95d1f5c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec68a2a29292f367d4ea1fdd95d1f5c9">&#9670;&nbsp;</a></span>MakeGreaterOrEqual() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeGreaterOrEqual </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>left &gt;= right </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00542">542</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="aa8943488bb15bd0d5db097f33c8abf20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8943488bb15bd0d5db097f33c8abf20">&#9670;&nbsp;</a></span>MakeGuidedLocalSearch() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeGuidedLocalSearch </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>objective</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>objective_function</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>penalty_factor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a Guided Local <a class="el" href="classoperations__research_1_1_search.html">Search</a> monitor. </p>
<p>Description here: <a href="http://en.wikipedia.org/wiki/Guided_Local_Search">http://en.wikipedia.org/wiki/Guided_Local_Search</a> </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l03894">3894</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a6d8a8608009551f1dd9a3439c1040062"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d8a8608009551f1dd9a3439c1040062">&#9670;&nbsp;</a></span>MakeGuidedLocalSearch() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeGuidedLocalSearch </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>objective</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a86570ad216b68c88de1ef27085e3d084">Solver::IndexEvaluator3</a>&#160;</td>
<td class="paramname"><em>objective_function</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>secondary_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>penalty_factor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l03903">3903</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a74b8b1a83df2cb86a4e3606c747e202c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74b8b1a83df2cb86a4e3606c747e202c">&#9670;&nbsp;</a></span>MakeIfThenElseCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIfThenElseCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>condition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>then_expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>else_expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>target_var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Special cases with arrays of size two. </p>
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l01597">1597</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="a81a5a99611b97e96056b325e46f31b8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81a5a99611b97e96056b325e46f31b8e">&#9670;&nbsp;</a></span>MakeImprovementLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_improvement_search_limit.html">ImprovementSearchLimit</a> * MakeImprovementLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>objective_var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>objective_scaling_factor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>objective_offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>improvement_rate_coefficient</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>improvement_rate_solutions_distance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Limits the search based on the improvements of 'objective_var'. </p>
<p>Stops the search when the improvement rate gets lower than a threshold value. This threshold value is computed based on the improvement rate during the first phase of the search. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04259">4259</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="acbf73f0de66c0c446dcd52e59897c101"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbf73f0de66c0c446dcd52e59897c101">&#9670;&nbsp;</a></span>MakeIndexExpression()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeIndexExpression </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the expression expr such that vars[expr] == value. </p>
<p>It assumes that vars are all different. </p>
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l01745">1745</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="ada8a8369cc464a2d428cd369228acec1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada8a8369cc464a2d428cd369228acec1">&#9670;&nbsp;</a></span>MakeIndexOfConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIndexOfConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>target</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint is a special case of the element constraint with an array of integer variables, where the variables are all different and the index variable is constrained such that vars[index] == target. </p>
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l01730">1730</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="add19a54159cf1d9d075474b977a8788f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add19a54159cf1d9d075474b977a8788f">&#9670;&nbsp;</a></span>MakeIndexOfFirstMaxValueConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIndexOfFirstMaxValueConstraint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint that binds the index variable to the index of the first variable with the maximum value. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00555">555</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="a2b761ab631609dadf6e6d06432853051"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b761ab631609dadf6e6d06432853051">&#9670;&nbsp;</a></span>MakeIndexOfFirstMinValueConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIndexOfFirstMinValueConstraint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint that binds the index variable to the index of the first variable with the minimum value. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00560">560</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="a39c1d242cb91ba132a30815890820f98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39c1d242cb91ba132a30815890820f98">&#9670;&nbsp;</a></span>MakeIntConst() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIntConst </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>val</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>IntConst will create a constant expression. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06458">6458</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="af8e836568edff7ff497a6982b403a3ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8e836568edff7ff497a6982b403a3ab">&#9670;&nbsp;</a></span>MakeIntConst() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIntConst </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>val</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>IntConst will create a constant expression. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06447">6447</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a7e4d98b8a01fda7eb776fbc559096f5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e4d98b8a01fda7eb776fbc559096f5f">&#9670;&nbsp;</a></span>MakeIntervalRelaxedMax()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeIntervalRelaxedMax </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>interval_var</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates and returns an interval variable that wraps around the given one, relaxing the max start and end. </p>
<p>Relaxing means making unbounded when optional. If the variable is non optional, this method returns interval_var.</p>
<p>More precisely, such an interval variable behaves as follows:</p><ul>
<li>When the underlying must be performed, the returned interval variable behaves exactly as the underlying;</li>
<li>When the underlying may or may not be performed, the returned interval variable behaves like the underlying, except that it is unbounded on the max side;</li>
<li>When the underlying cannot be performed, the returned interval variable is of duration 0 and must be performed in an interval unbounded on both sides.</li>
</ul>
<p>This is very useful for implementing propagators that may only modify the start min or end min. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02209">2209</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="a56e2e5cebd866f391c08575b1e68bfa9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56e2e5cebd866f391c08575b1e68bfa9">&#9670;&nbsp;</a></span>MakeIntervalRelaxedMin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeIntervalRelaxedMin </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>interval_var</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates and returns an interval variable that wraps around the given one, relaxing the min start and end. </p>
<p>Relaxing means making unbounded when optional. If the variable is non-optional, this method returns interval_var.</p>
<p>More precisely, such an interval variable behaves as follows:</p><ul>
<li>When the underlying must be performed, the returned interval variable behaves exactly as the underlying;</li>
<li>When the underlying may or may not be performed, the returned interval variable behaves like the underlying, except that it is unbounded on the min side;</li>
<li>When the underlying cannot be performed, the returned interval variable is of duration 0 and must be performed in an interval unbounded on both sides.</li>
</ul>
<p>This is very useful to implement propagators that may only modify the start max or end max. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02218">2218</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="ae30cfd81898c56d3414b87d3aab51bf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae30cfd81898c56d3414b87d3aab51bf2">&#9670;&nbsp;</a></span>MakeIntervalVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeIntervalVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>start_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>start_max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration_max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>end_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>end_max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>optional</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an interval var by specifying the bounds on start, duration, and end. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02370">2370</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="aaf3f40bd93fd979cdd7d089447e52326"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf3f40bd93fd979cdd7d089447e52326">&#9670;&nbsp;</a></span>MakeIntervalVarArray()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeIntervalVarArray </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>start_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>start_max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>duration_max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>end_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>end_max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>optional</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; *const&#160;</td>
<td class="paramname"><em>array</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method fills the vector with 'count' interval var built with the corresponding parameters. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02379">2379</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="a1a43933f7f3f5e21d1c95f0917c6ca8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a43933f7f3f5e21d1c95f0917c6ca8b">&#9670;&nbsp;</a></span>MakeIntervalVarRelation() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIntervalVarRelation </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>t</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9">Solver::UnaryIntervalRelation</a>&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method creates a relation between an interval var and a date. </p>
<p class="definition">Definition at line <a class="el" href="timetabling_8cc_source.html#l00113">113</a> of file <a class="el" href="timetabling_8cc_source.html">timetabling.cc</a>.</p>
</div>
</div>
<a id="a00078e41fa2bdd723a05a8a9530e0806"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00078e41fa2bdd723a05a8a9530e0806">&#9670;&nbsp;</a></span>MakeIntervalVarRelation() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIntervalVarRelation </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>t1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">Solver::BinaryIntervalRelation</a>&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>t2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method creates a relation between two interval vars. </p>
<p class="definition">Definition at line <a class="el" href="timetabling_8cc_source.html#l00232">232</a> of file <a class="el" href="timetabling_8cc_source.html">timetabling.cc</a>.</p>
</div>
</div>
<a id="a95dd34b304804318c3f5166f5d608da4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95dd34b304804318c3f5166f5d608da4">&#9670;&nbsp;</a></span>MakeIntervalVarRelationWithDelay()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIntervalVarRelationWithDelay </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>t1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">Solver::BinaryIntervalRelation</a>&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>t2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>delay</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method creates a relation between two interval vars. </p>
<p>The given delay is added to the second interval. i.e.: t1 STARTS_AFTER_END of t2 with a delay of 2 means t1 will start at least two units of time after the end of t2. </p>
<p class="definition">Definition at line <a class="el" href="timetabling_8cc_source.html#l00238">238</a> of file <a class="el" href="timetabling_8cc_source.html">timetabling.cc</a>.</p>
</div>
</div>
<a id="aed38a7e458a853841bff6027875346fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed38a7e458a853841bff6027875346fd">&#9670;&nbsp;</a></span>MakeIntVar() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIntVar </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>MakeIntVar will create a variable with the given sparse domain. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06443">6443</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a7c94d4523a90b2c5eec25ddcf2e15d68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c94d4523a90b2c5eec25ddcf2e15d68">&#9670;&nbsp;</a></span>MakeIntVar() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIntVar </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>MakeIntVar will create a variable with the given sparse domain. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06438">6438</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a7c37e3d28bed607f617337d5bbaaeb7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c37e3d28bed607f617337d5bbaaeb7d">&#9670;&nbsp;</a></span>MakeIntVar() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIntVar </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>MakeIntVar will create a variable with the given sparse domain. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06434">6434</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a9ca46b86e1a0723f16c73d3a76cdfcce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ca46b86e1a0723f16c73d3a76cdfcce">&#9670;&nbsp;</a></span>MakeIntVar() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIntVar </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>MakeIntVar will create a variable with the given sparse domain. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06383">6383</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="abb350616be8822ae7c8316049ad87413"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb350616be8822ae7c8316049ad87413">&#9670;&nbsp;</a></span>MakeIntVar() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIntVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>max</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>MakeIntVar will create the best range based int var for the bounds given. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06371">6371</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="ad767e1ca8fd403eca62f468d2107bbea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad767e1ca8fd403eca62f468d2107bbea">&#9670;&nbsp;</a></span>MakeIntVar() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIntVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>MakeIntVar will create the best range based int var for the bounds given. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06355">6355</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="ad06d6355dcbe7eea6872cb39825318b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad06d6355dcbe7eea6872cb39825318b5">&#9670;&nbsp;</a></span>MakeIntVarArray() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> ** MakeIntVarArray </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>var_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>vmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>vmax</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same but allocates an array and returns it. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06494">6494</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a9d344e39533044ecf046177a9bf3e6ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d344e39533044ecf046177a9bf3e6ca">&#9670;&nbsp;</a></span>MakeIntVarArray() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeIntVarArray </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>var_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>vmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>vmax</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; *&#160;</td>
<td class="paramname"><em>vars</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method will append the vector vars with 'var_count' variables having bounds vmin and vmax and having name "name&lt;i&gt;" where <em> is the index of the variable. </em></p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06479">6479</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="abaa70c6fb6a101fb032b17f8bfa9c693"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abaa70c6fb6a101fb032b17f8bfa9c693">&#9670;&nbsp;</a></span>MakeIntVarArray() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MakeIntVarArray </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>var_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>vmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>vmax</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; *&#160;</td>
<td class="paramname"><em>vars</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This method will append the vector vars with 'var_count' variables having bounds vmin and vmax and having no names. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06487">6487</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="abc32f3a80394fd12e8fc7f22e20c34ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc32f3a80394fd12e8fc7f22e20c34ca">&#9670;&nbsp;</a></span>MakeInversePermutationConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeInversePermutationConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint that enforces that 'left' and 'right' both represent permutations of [0..left.size()-1], and that 'right' is the inverse permutation of 'left', i.e. </p>
<p>for all i in [0..left.size()-1], right[left[i]] = i. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00550">550</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="a7e371bd5621abb4d1d0b8f55baeb8f3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e371bd5621abb4d1d0b8f55baeb8f3f">&#9670;&nbsp;</a></span>MakeIsBetweenCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsBetweenCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>u</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>b == (l &lt;= expr &lt;= u) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01048">1048</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="ab1244adc579624a014f3adfdebe5481c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1244adc579624a014f3adfdebe5481c">&#9670;&nbsp;</a></span>MakeIsBetweenVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsBetweenVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>u</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01084">1084</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="accb745aa312b8d81157c59924dfe79d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accb745aa312b8d81157c59924dfe79d4">&#9670;&nbsp;</a></span>MakeIsDifferentCstCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsDifferentCstCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>boolvar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>boolvar == (var != value) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00587">587</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a49b0c32048e9f6a09c013e717ab7f070"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49b0c32048e9f6a09c013e717ab7f070">&#9670;&nbsp;</a></span>MakeIsDifferentCstVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsDifferentCstVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (var != value) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00578">578</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a21e692e7b333d7dd72d4b6cc1dbb0b26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21e692e7b333d7dd72d4b6cc1dbb0b26">&#9670;&nbsp;</a></span>MakeIsDifferentCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsDifferentCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>v2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>b == (v1 != v2) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00686">686</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="a37f4cb0801309b89498ea22004c60f71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37f4cb0801309b89498ea22004c60f71">&#9670;&nbsp;</a></span>MakeIsDifferentVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsDifferentVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>v2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (v1 != v2) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00641">641</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="a439fa766af5a606c8df54b08611c7158"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a439fa766af5a606c8df54b08611c7158">&#9670;&nbsp;</a></span>MakeIsEqualCstCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsEqualCstCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>boolvar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>boolvar == (var == value) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00485">485</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a6d0069670c6279b4e86ddc75b1ee8f85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d0069670c6279b4e86ddc75b1ee8f85">&#9670;&nbsp;</a></span>MakeIsEqualCstVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsEqualCstVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (var == value) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00460">460</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a707950fd814cfea4d590649559510ae2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a707950fd814cfea4d590649559510ae2">&#9670;&nbsp;</a></span>MakeIsEqualCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsEqualCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td>
<td class="paramname"><em>v2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>b == (v1 == v2) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00622">622</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="a38dd8015b2a97716a49dd5be4695aeea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38dd8015b2a97716a49dd5be4695aeea">&#9670;&nbsp;</a></span>MakeIsEqualVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsEqualVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td>
<td class="paramname"><em>v2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (v1 == v2) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00577">577</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="a4af376ae47ebc3763411e9506a561991"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4af376ae47ebc3763411e9506a561991">&#9670;&nbsp;</a></span>MakeIsGreaterCstCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsGreaterCstCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>b == (v &gt; c) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00714">714</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="adee7deb637db9ce9063ae927c6b7ae58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adee7deb637db9ce9063ae927c6b7ae58">&#9670;&nbsp;</a></span>MakeIsGreaterCstVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsGreaterCstVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (var &gt; value) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00694">694</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="ad44a208d35ca938ae9564e5e26687cde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad44a208d35ca938ae9564e5e26687cde">&#9670;&nbsp;</a></span>MakeIsGreaterCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsGreaterCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>b == (left &gt; right) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00800">800</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="af2c291ec5263e3082482df81bee6737e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2c291ec5263e3082482df81bee6737e">&#9670;&nbsp;</a></span>MakeIsGreaterOrEqualCstCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsGreaterOrEqualCstCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>boolvar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>boolvar == (var &gt;= value) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00698">698</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a163e5b0a2ae0d19b86131f0dd5cae257"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a163e5b0a2ae0d19b86131f0dd5cae257">&#9670;&nbsp;</a></span>MakeIsGreaterOrEqualCstVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsGreaterOrEqualCstVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (var &gt;= value) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00677">677</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="af317a515d70c6fe9b88a56bc0342baf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af317a515d70c6fe9b88a56bc0342baf7">&#9670;&nbsp;</a></span>MakeIsGreaterOrEqualCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsGreaterOrEqualCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>b == (left &gt;= right) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00790">790</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="af2ee342625cccdeda58ec02d2dfddcbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2ee342625cccdeda58ec02d2dfddcbe">&#9670;&nbsp;</a></span>MakeIsGreaterOrEqualVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsGreaterOrEqualVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (left &gt;= right) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00785">785</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="a253ce358e3385b12c90e428df5e149e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a253ce358e3385b12c90e428df5e149e3">&#9670;&nbsp;</a></span>MakeIsGreaterVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsGreaterVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (left &gt; right) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00796">796</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="a27a55b93921ded4524b5d3d856becfeb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27a55b93921ded4524b5d3d856becfeb">&#9670;&nbsp;</a></span>MakeIsLessCstCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsLessCstCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>b == (v &lt; c) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00813">813</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="addc66dbef984ddcc2dfa21e3d4d60c6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#addc66dbef984ddcc2dfa21e3d4d60c6b">&#9670;&nbsp;</a></span>MakeIsLessCstVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsLessCstVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (var &lt; value) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00793">793</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a626142a335c69b8aefa24c5082033c7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a626142a335c69b8aefa24c5082033c7b">&#9670;&nbsp;</a></span>MakeIsLessCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsLessCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>b == (left &lt; right) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00773">773</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="ae435de2b4cd10598e58e2eb171625ac6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae435de2b4cd10598e58e2eb171625ac6">&#9670;&nbsp;</a></span>MakeIsLessOrEqualCstCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsLessOrEqualCstCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>boolvar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>boolvar == (var &lt;= value) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00797">797</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="ae3383be31deddbda271d3232efce5e70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3383be31deddbda271d3232efce5e70">&#9670;&nbsp;</a></span>MakeIsLessOrEqualCstVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsLessOrEqualCstVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (var &lt;= value) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00776">776</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a93a90409c3c835856b7ae70fc9d86c79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93a90409c3c835856b7ae70fc9d86c79">&#9670;&nbsp;</a></span>MakeIsLessOrEqualCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsLessOrEqualCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>b == (left &lt;= right) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00730">730</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="afbee77155db9657532f8e28b007336bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbee77155db9657532f8e28b007336bb">&#9670;&nbsp;</a></span>MakeIsLessOrEqualVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsLessOrEqualVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (left &lt;= right) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00698">698</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="aaaadfa527b0411d38dbc0d5914814cc1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaadfa527b0411d38dbc0d5914814cc1">&#9670;&nbsp;</a></span>MakeIsLessVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsLessVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>status var of (left &lt; right) </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00742">742</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="adedce71d13d901cec6c4c8ff80b10377"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adedce71d13d901cec6c4c8ff80b10377">&#9670;&nbsp;</a></span>MakeIsMemberCt() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsMemberCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>boolvar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01484">1484</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="ab6eea4f3826f7d85dd02560c30a29663"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6eea4f3826f7d85dd02560c30a29663">&#9670;&nbsp;</a></span>MakeIsMemberCt() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeIsMemberCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>boolvar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>boolvar == (expr in set) </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01478">1478</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a95dadc61fe3a5d03148b48898a76ba08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95dadc61fe3a5d03148b48898a76ba08">&#9670;&nbsp;</a></span>MakeIsMemberVar() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsMemberVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01497">1497</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a699879fea978790163f10db7d445afbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a699879fea978790163f10db7d445afbb">&#9670;&nbsp;</a></span>MakeIsMemberVar() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * MakeIsMemberVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01490">1490</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a119c56614135f6d23a162fd8f42f99bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a119c56614135f6d23a162fd8f42f99bf">&#9670;&nbsp;</a></span>MakeLastSolutionCollector() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> * MakeLastSolutionCollector </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect the last solution of the search. </p>
<p>The variables will need to be added later. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02481">2481</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a332573b6f1f4a48e23907a8128d18b03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a332573b6f1f4a48e23907a8128d18b03">&#9670;&nbsp;</a></span>MakeLastSolutionCollector() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> * MakeLastSolutionCollector </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>assignment</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect the last solution of the search. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02476">2476</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a25d18071297935ff4160442ae7c56c27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25d18071297935ff4160442ae7c56c27">&#9670;&nbsp;</a></span>MakeLess() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeLess </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr &lt; value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00298">298</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="af6b352c72908e584ca4731c097f1d1bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6b352c72908e584ca4731c097f1d1bc">&#9670;&nbsp;</a></span>MakeLess() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeLess </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr &lt; value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00287">287</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a199b73a65e10bcf7c43f391abb06e9f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a199b73a65e10bcf7c43f391abb06e9f7">&#9670;&nbsp;</a></span>MakeLess() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeLess </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>left &lt; right </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00546">546</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="a6acea1398350fa7def332bb70b8dc50b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6acea1398350fa7def332bb70b8dc50b">&#9670;&nbsp;</a></span>MakeLessOrEqual() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeLessOrEqual </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr &lt;= value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00276">276</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="ae9ead37826c4eaedea937dc4b43106d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9ead37826c4eaedea937dc4b43106d5">&#9670;&nbsp;</a></span>MakeLessOrEqual() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeLessOrEqual </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr &lt;= value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00265">265</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a233503ed12f669d73f4e50fae345f448"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a233503ed12f669d73f4e50fae345f448">&#9670;&nbsp;</a></span>MakeLessOrEqual() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeLessOrEqual </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>left &lt;= right </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00526">526</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="a41bc583e647b18a0b71d07859581e640"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41bc583e647b18a0b71d07859581e640">&#9670;&nbsp;</a></span>MakeLexicalLess()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeLexicalLess </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint that enforces that left is lexicographically less than right. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00540">540</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="a8acdedd57a41a9cf6e607bdd8e20f02b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8acdedd57a41a9cf6e607bdd8e20f02b">&#9670;&nbsp;</a></span>MakeLexicalLessOrEqual()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeLexicalLessOrEqual </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint that enforces that left is lexicographically less than or equal to right. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00545">545</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="a0b3263b72f39e7cf76c837381d692c51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b3263b72f39e7cf76c837381d692c51">&#9670;&nbsp;</a></span>MakeLimit() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> * MakeLimit </td>
<td>(</td>
<td class="paramtype">absl::Duration&#160;</td>
<td class="paramname"><em>time</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>branches</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>failures</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>solutions</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>smart_time_check</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>cumulative</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Limits the search with the 'time', 'branches', 'failures' and 'solutions' limits. </p>
<p>'smart_time_check' reduces the calls to the wall </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04117">4117</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a6b8b05ce53cd01dcb08d7430bcfbe17f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b8b05ce53cd01dcb08d7430bcfbe17f">&#9670;&nbsp;</a></span>MakeLimit() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> * MakeLimit </td>
<td>(</td>
<td class="paramtype">const RegularLimitParameters &amp;&#160;</td>
<td class="paramname"><em>proto</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a search limit from its protobuf description. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04124">4124</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac4fd86a3a93e09e0a884b444ce45465d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4fd86a3a93e09e0a884b444ce45465d">&#9670;&nbsp;</a></span>MakeLimit() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> * MakeLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>time</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>branches</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>failures</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>solutions</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>smart_time_check</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>cumulative</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04110">4110</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a3180a362d6614f161a58f9576ddcb1c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3180a362d6614f161a58f9576ddcb1c1">&#9670;&nbsp;</a></span>MakeLimit() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> * MakeLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> *const&#160;</td>
<td class="paramname"><em>limit_1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> *const&#160;</td>
<td class="paramname"><em>limit_2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a search limit that is reached when either of the underlying limit is reached. </p>
<p>That is, the returned limit is more stringent than both argument limits. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04331">4331</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac2e2c11fe0cb421b8b6785b3f0bbb201"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2e2c11fe0cb421b8b6785b3f0bbb201">&#9670;&nbsp;</a></span>MakeLocalSearchPhase() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeLocalSearchPhase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>assignment</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *const&#160;</td>
<td class="paramname"><em>parameters</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Local <a class="el" href="classoperations__research_1_1_search.html">Search</a> decision builders factories. </p>
<p>Local search is used to improve a given solution. This initial solution can be specified either by an <a class="el" href="classoperations__research_1_1_assignment.html" title="An Assignment is a variable -&gt; domains mapping, used to report solutions to the user.">Assignment</a> or by a DecisionBulder, and the corresponding variables, the initial solution being the first solution found by the <a class="el" href="classoperations__research_1_1_decision_builder.html" title="A DecisionBuilder is responsible for creating the search tree.">DecisionBuilder</a>. The <a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> parameter holds the actual definition of the local search phase:</p><ul>
<li>a local search operator used to explore the neighborhood of the current solution,</li>
<li>a decision builder to instantiate unbound variables once a neighbor has been defined; in the case of LNS-based operators instantiates fragment variables; search monitors can be added to this sub-search by wrapping the decision builder with MakeSolveOnce.</li>
<li>a search limit specifying how long local search looks for neighbors before accepting one; the last neighbor is always taken and in the case of a greedy search, this corresponds to the best local neighbor; first-accept (which is the default behavior) can be modeled using a solution found limit of 1,</li>
<li>a vector of local search filters used to speed up the search by pruning unfeasible neighbors. Metaheuristics can be added by defining specialized search monitors; currently down/up-hill climbing is available through <a class="el" href="classoperations__research_1_1_optimize_var.html" title="This class encapsulates an objective.">OptimizeVar</a>, as well as Guided Local <a class="el" href="classoperations__research_1_1_search.html">Search</a>, Tabu <a class="el" href="classoperations__research_1_1_search.html">Search</a> and Simulated Annealing. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04773">4773</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a4ec960bcf67cfb15b00f95884425713b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ec960bcf67cfb15b00f95884425713b">&#9670;&nbsp;</a></span>MakeLocalSearchPhase() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeLocalSearchPhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>first_solution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>first_solution_sub_decision_builder</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *const&#160;</td>
<td class="paramname"><em>parameters</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Variant with a sub_decison_builder specific to the first solution. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04791">4791</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a91eda0fa95a8ae13f412894b05d188d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91eda0fa95a8ae13f412894b05d188d4">&#9670;&nbsp;</a></span>MakeLocalSearchPhase() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeLocalSearchPhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>first_solution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *const&#160;</td>
<td class="paramname"><em>parameters</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04781">4781</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="af35f78c27f773a8ffc787537dc9f4982"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af35f78c27f773a8ffc787537dc9f4982">&#9670;&nbsp;</a></span>MakeLocalSearchPhase() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeLocalSearchPhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>first_solution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> *const&#160;</td>
<td class="paramname"><em>parameters</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04802">4802</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a70cdd3625d5c9c18b5cd1d662cb704bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70cdd3625d5c9c18b5cd1d662cb704bb">&#9670;&nbsp;</a></span>MakeLocalSearchPhaseParameters() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> * MakeLocalSearchPhaseParameters </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>objective</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const&#160;</td>
<td class="paramname"><em>ls_operator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>sub_decision_builder</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Local <a class="el" href="classoperations__research_1_1_search.html">Search</a> Phase Parameters. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04329">4329</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a112004c0c1baefeaa167b25d03002d19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a112004c0c1baefeaa167b25d03002d19">&#9670;&nbsp;</a></span>MakeLocalSearchPhaseParameters() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> * MakeLocalSearchPhaseParameters </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>objective</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const&#160;</td>
<td class="paramname"><em>ls_operator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>sub_decision_builder</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *const&#160;</td>
<td class="paramname"><em>limit</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04337">4337</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a11af853d7a7d2ebbdf01cf2ee6811f11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11af853d7a7d2ebbdf01cf2ee6811f11">&#9670;&nbsp;</a></span>MakeLocalSearchPhaseParameters() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> * MakeLocalSearchPhaseParameters </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>objective</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const&#160;</td>
<td class="paramname"><em>ls_operator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>sub_decision_builder</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *const&#160;</td>
<td class="paramname"><em>limit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_filter_manager.html">LocalSearchFilterManager</a> *&#160;</td>
<td class="paramname"><em>filter_manager</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04345">4345</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a5273d9884b017bc280ce67c427927211"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5273d9884b017bc280ce67c427927211">&#9670;&nbsp;</a></span>MakeLocalSearchPhaseParameters() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> * MakeLocalSearchPhaseParameters </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>objective</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a> *const&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const&#160;</td>
<td class="paramname"><em>ls_operator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>sub_decision_builder</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04354">4354</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="abee99b27e59ac8f7676db50d736a17ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abee99b27e59ac8f7676db50d736a17ab">&#9670;&nbsp;</a></span>MakeLocalSearchPhaseParameters() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> * MakeLocalSearchPhaseParameters </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>objective</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a> *const&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const&#160;</td>
<td class="paramname"><em>ls_operator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>sub_decision_builder</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *const&#160;</td>
<td class="paramname"><em>limit</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04362">4362</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a2d3c3e8cd9ba876f082fee6a773a86fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d3c3e8cd9ba876f082fee6a773a86fc">&#9670;&nbsp;</a></span>MakeLocalSearchPhaseParameters() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_phase_parameters.html">LocalSearchPhaseParameters</a> * MakeLocalSearchPhaseParameters </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>objective</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a> *const&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const&#160;</td>
<td class="paramname"><em>ls_operator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>sub_decision_builder</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> *const&#160;</td>
<td class="paramname"><em>limit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_filter_manager.html">LocalSearchFilterManager</a> *&#160;</td>
<td class="paramname"><em>filter_manager</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l04370">4370</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a03acbbff21df66d6b126aa41124e5d2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03acbbff21df66d6b126aa41124e5d2c">&#9670;&nbsp;</a></span>MakeLubyRestart()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeLubyRestart </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>scale_factor</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This search monitor will restart the search periodically. </p>
<p>At the iteration n, it will restart after scale_factor * Luby(n) failures where Luby is the Luby Strategy (i.e. 1 1 2 1 1 2 4 1 1 2 1 1 2 4 8...). </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04643">4643</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a19542a9cd12586e432cf9ef6d9b07c31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19542a9cd12586e432cf9ef6d9b07c31">&#9670;&nbsp;</a></span>MakeMapDomain()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeMapDomain </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>actives</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint maps the domain of 'var' onto the array of variables 'actives'. </p>
<p>That is for all i in [0 .. size - 1]: actives[i] == 1 &lt;=&gt; var-&gt;Contains(i); </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00535">535</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="a934e08f84e590e48ab860fcd97ca7130"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a934e08f84e590e48ab860fcd97ca7130">&#9670;&nbsp;</a></span>MakeMax() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeMax </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>std::max(vars) </p>
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03321">3321</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="aa652e79264bcfb75282b881957366cbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa652e79264bcfb75282b881957366cbd">&#9670;&nbsp;</a></span>MakeMax() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeMax </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>std::max(expr, value) </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07125">7125</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a743c5ac9e35206c5a17ef1834393763d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a743c5ac9e35206c5a17ef1834393763d">&#9670;&nbsp;</a></span>MakeMax() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeMax </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>std::max(expr, value) </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07111">7111</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="ac44fc7b9623b36db077cd649c640a5d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac44fc7b9623b36db077cd649c640a5d3">&#9670;&nbsp;</a></span>MakeMax() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeMax </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>std::max(left, right) </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07093">7093</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a6f94e0e067e2b294237e14f0dfd5aaa7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f94e0e067e2b294237e14f0dfd5aaa7">&#9670;&nbsp;</a></span>MakeMaxEquality()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeMaxEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>max_var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03386">3386</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="a293a210f890ccbc9805935762632831d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a293a210f890ccbc9805935762632831d">&#9670;&nbsp;</a></span>MakeMaximize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> * MakeMaximize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a maximization objective. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02853">2853</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a3882fe2a352a093187ede78f9e532035"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3882fe2a352a093187ede78f9e532035">&#9670;&nbsp;</a></span>MakeMemberCt() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeMemberCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01224">1224</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a043222154f86ed9d4817312c65cb3555"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a043222154f86ed9d4817312c65cb3555">&#9670;&nbsp;</a></span>MakeMemberCt() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeMemberCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr in set. </p>
<p>Propagation is lazy, i.e. this constraint does not creates holes in the domain of the variable. </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01160">1160</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a259a4ee93238a1e426362cb830317a57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a259a4ee93238a1e426362cb830317a57">&#9670;&nbsp;</a></span>MakeMin() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeMin </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>std::min(vars) </p>
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03278">3278</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="aa84ce64fbf497a38e9364d66d2148c05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa84ce64fbf497a38e9364d66d2148c05">&#9670;&nbsp;</a></span>MakeMin() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeMin </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>std::min(expr, value) </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07089">7089</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="ad8f204e45e9576dc8f3da8825c35f122"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8f204e45e9576dc8f3da8825c35f122">&#9670;&nbsp;</a></span>MakeMin() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeMin </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>std::min(expr, value) </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07075">7075</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="abb42028bd4d00fa5015a29d271c87723"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb42028bd4d00fa5015a29d271c87723">&#9670;&nbsp;</a></span>MakeMin() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeMin </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>std::min (left, right) </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07057">7057</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="adf4b4c9f1cc7a6f674a721a5943034af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf4b4c9f1cc7a6f674a721a5943034af">&#9670;&nbsp;</a></span>MakeMinEquality()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeMinEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>min_var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03364">3364</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="ae345624c3b09b85a022f76a17beb5518"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae345624c3b09b85a022f76a17beb5518">&#9670;&nbsp;</a></span>MakeMinimize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> * MakeMinimize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a minimization objective. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02849">2849</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ad10da04717f2923d609f093f9cb372c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad10da04717f2923d609f093f9cb372c7">&#9670;&nbsp;</a></span>MakeMirrorInterval()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * MakeMirrorInterval </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>interval_var</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an interval var that is the mirror image of the given one, that is, the interval var obtained by reversing the axis. </p>
<p class="definition">Definition at line <a class="el" href="interval_8cc_source.html#l02204">2204</a> of file <a class="el" href="interval_8cc_source.html">interval.cc</a>.</p>
</div>
</div>
<a id="a7b5d22a85b4136b4e68bcee667b38b30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b5d22a85b4136b4e68bcee667b38b30">&#9670;&nbsp;</a></span>MakeModulo() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeModulo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>mod</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modulo expression x % mod (with the python convention for modulo). </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07240">7240</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a2db257565e3ee441110a73522333105e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2db257565e3ee441110a73522333105e">&#9670;&nbsp;</a></span>MakeModulo() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeModulo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>mod</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modulo expression x % mod (with the python convention for modulo). </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07251">7251</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="af8000758952f5c47fbc540e7515ec3d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8000758952f5c47fbc540e7515ec3d7">&#9670;&nbsp;</a></span>MakeMonotonicElement()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeMonotonicElement </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a>&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>increasing</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Function based element. </p>
<p>The constraint takes ownership of the callback. The callback must be monotonic. It must be able to cope with any possible value in the domain of 'index' (potentially negative ones too). Furtermore, monotonicity is not checked. Thus giving a non-monotonic function, or specifying an incorrect increasing parameter will result in undefined behavior. </p>
<p class="definition">Definition at line <a class="el" href="element_8cc_source.html#l00859">859</a> of file <a class="el" href="element_8cc_source.html">element.cc</a>.</p>
</div>
</div>
<a id="a1b5f4ac1fc0e68af2247581f7396f454"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b5f4ac1fc0e68af2247581f7396f454">&#9670;&nbsp;</a></span>MakeMoveTowardTargetOperator() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * MakeMoveTowardTargetOperator </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &amp;&#160;</td>
<td class="paramname"><em>target</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a local search operator that tries to move the assignment of some variables toward a target. </p>
<p>The target is given as an <a class="el" href="classoperations__research_1_1_assignment.html" title="An Assignment is a variable -&gt; domains mapping, used to report solutions to the user.">Assignment</a>. This operator generates neighbors in which the only difference compared to the current state is that one variable that belongs to the target assignment is set to its target value. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00269">269</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a41c0ffe1046b2005c6bebdd80d5f8773"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41c0ffe1046b2005c6bebdd80d5f8773">&#9670;&nbsp;</a></span>MakeMoveTowardTargetOperator() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * MakeMoveTowardTargetOperator </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>variables</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>target_values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a local search operator that tries to move the assignment of some variables toward a target. </p>
<p>The target is given either as two vectors: a vector of variables and a vector of associated target values. The two vectors should be of the same length. This operator generates neighbors in which the only difference compared to the current state is that one variable that belongs to the given vector is set to its target value. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00285">285</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="afabdd434109505b4ffb708387f868c1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afabdd434109505b4ffb708387f868c1c">&#9670;&nbsp;</a></span>MakeNBestValueSolutionCollector() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> * MakeNBestValueSolutionCollector </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>assignment</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>solution_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as MakeBestValueSolutionCollector but collects the best solution_count solutions. </p>
<p>Collected solutions are sorted in increasing optimality order (the best solution is the last one). </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02652">2652</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="adbc2064c8c125c7d57064b7f9bbb02e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbc2064c8c125c7d57064b7f9bbb02e7">&#9670;&nbsp;</a></span>MakeNBestValueSolutionCollector() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> * MakeNBestValueSolutionCollector </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>solution_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02661">2661</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a742aa0758204beefab58ff0825e33893"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a742aa0758204beefab58ff0825e33893">&#9670;&nbsp;</a></span>MakeNeighborhoodLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * MakeNeighborhoodLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *const&#160;</td>
<td class="paramname"><em>op</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>limit</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a local search operator that wraps another local search operator and limits the number of neighbors explored (i.e., calls to MakeNextNeighbor from the current solution (between two calls to Start()). </p>
<p>When this limit is reached, MakeNextNeighbor() returns false. The counter is cleared when Start() is called. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l01882">1882</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="abe794dabe568dd01c0182cb47a875984"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe794dabe568dd01c0182cb47a875984">&#9670;&nbsp;</a></span>MakeNestedOptimize() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeNestedOptimize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>solution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>NestedOptimize will collapse a search tree described by a decision builder 'db' and a set of monitors and wrap it into a single point. </p>
<p>If there are no solutions to this nested tree, then NestedOptimize will fail. If there are solutions, it will find the best as described by the mandatory objective in the solution as well as the optimization direction, instantiate all variables to this solution, and return nullptr. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04532">4532</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="aa56ef961d19359cee33e9f6537fe4549"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa56ef961d19359cee33e9f6537fe4549">&#9670;&nbsp;</a></span>MakeNestedOptimize() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeNestedOptimize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>solution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>monitors</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04583">4583</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a456b1b2bb9e5a76be330d389d59e38ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a456b1b2bb9e5a76be330d389d59e38ea">&#9670;&nbsp;</a></span>MakeNestedOptimize() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeNestedOptimize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>solution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04538">4538</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac69760c01925caaae12b05aae7d65b19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac69760c01925caaae12b05aae7d65b19">&#9670;&nbsp;</a></span>MakeNestedOptimize() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeNestedOptimize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>solution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04547">4547</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a08fa770da318dadea466092213af8367"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08fa770da318dadea466092213af8367">&#9670;&nbsp;</a></span>MakeNestedOptimize() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeNestedOptimize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>solution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04558">4558</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a43bcb0f65c846428b8619d9c12ea4533"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43bcb0f65c846428b8619d9c12ea4533">&#9670;&nbsp;</a></span>MakeNestedOptimize() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeNestedOptimize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>solution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor4</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04571">4571</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a81fb93226e8adf2f9131624b7a0eaba3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81fb93226e8adf2f9131624b7a0eaba3">&#9670;&nbsp;</a></span>MakeNoCycle() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNoCycle </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>active</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a021ae5a2766d4ccaa133a5bbb5398464">Solver::IndexFilter1</a>&#160;</td>
<td class="paramname"><em>sink_handler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>assume_paths</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l00619">619</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="af86d4d3fd4b1b37d56a50a0a6c7628d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af86d4d3fd4b1b37d56a50a0a6c7628d6">&#9670;&nbsp;</a></span>MakeNoCycle() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNoCycle </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>active</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a021ae5a2766d4ccaa133a5bbb5398464">Solver::IndexFilter1</a>&#160;</td>
<td class="paramname"><em>sink_handler</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Prevent cycles. </p>
<p>The "nexts" variables represent the next in the chain. "active" variables indicate if the corresponding next variable is active; this could be useful to model unperformed nodes in a routing problem. A callback can be added to specify sink values (by default sink values are values &gt;= vars.size()). Ownership of the callback is passed to the constraint. If assume_paths is either not specified or true, the constraint assumes the "nexts" variables represent paths (and performs a faster propagation); otherwise the constraint assumes they represent a forest. </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l00631">631</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="a30ee990a97865308994fb0a3b011a9f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30ee990a97865308994fb0a3b011a9f0">&#9670;&nbsp;</a></span>MakeNonEquality() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNonEquality </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr != value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00392">392</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="aadb83dd349554af1ce158cf9491cd33a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadb83dd349554af1ce158cf9491cd33a">&#9670;&nbsp;</a></span>MakeNonEquality() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNonEquality </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr != value </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00377">377</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="aaa37d5c7962b1ecd6a7575365efeafd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa37d5c7962b1ecd6a7575365efeafd7">&#9670;&nbsp;</a></span>MakeNonEquality() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNonEquality </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>left != right </p>
<p class="definition">Definition at line <a class="el" href="range__cst_8cc_source.html#l00564">564</a> of file <a class="el" href="range__cst_8cc_source.html">range_cst.cc</a>.</p>
</div>
</div>
<a id="ac0226a133f43985fecfdd49803e53b17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0226a133f43985fecfdd49803e53b17">&#9670;&nbsp;</a></span>MakeNonOverlappingBoxesConstraint() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNonOverlappingBoxesConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>x_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>y_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>x_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>y_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_2diffn_8cc_source.html#l00315">315</a> of file <a class="el" href="constraint__solver_2diffn_8cc_source.html">constraint_solver/diffn.cc</a>.</p>
</div>
</div>
<a id="a597004f8090e2477251a5cc2c21878f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a597004f8090e2477251a5cc2c21878f2">&#9670;&nbsp;</a></span>MakeNonOverlappingBoxesConstraint() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNonOverlappingBoxesConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>x_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>y_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>x_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>y_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_2diffn_8cc_source.html#l00303">303</a> of file <a class="el" href="constraint__solver_2diffn_8cc_source.html">constraint_solver/diffn.cc</a>.</p>
</div>
</div>
<a id="a4ddadd35d3227ee3f1216b9d7129227f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ddadd35d3227ee3f1216b9d7129227f">&#9670;&nbsp;</a></span>MakeNonOverlappingBoxesConstraint() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNonOverlappingBoxesConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>x_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>y_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>x_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>y_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint states that all the boxes must not overlap. </p>
<p>The coordinates of box i are: (x_vars[i], y_vars[i]), (x_vars[i], y_vars[i] + y_size[i]), (x_vars[i] + x_size[i], y_vars[i]), (x_vars[i] + x_size[i], y_vars[i] + y_size[i]). The sizes must be non-negative. Boxes with a zero dimension can be pushed like any box. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_2diffn_8cc_source.html#l00297">297</a> of file <a class="el" href="constraint__solver_2diffn_8cc_source.html">constraint_solver/diffn.cc</a>.</p>
</div>
</div>
<a id="a931314662eb3ee9591e6d0c7635f5971"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a931314662eb3ee9591e6d0c7635f5971">&#9670;&nbsp;</a></span>MakeNonOverlappingNonStrictBoxesConstraint() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNonOverlappingNonStrictBoxesConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>x_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>y_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>x_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>y_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_2diffn_8cc_source.html#l00345">345</a> of file <a class="el" href="constraint__solver_2diffn_8cc_source.html">constraint_solver/diffn.cc</a>.</p>
</div>
</div>
<a id="a5efbbd57dfa0bbb47ac45a69cabb5748"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5efbbd57dfa0bbb47ac45a69cabb5748">&#9670;&nbsp;</a></span>MakeNonOverlappingNonStrictBoxesConstraint() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNonOverlappingNonStrictBoxesConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>x_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>y_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>x_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>y_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_2diffn_8cc_source.html#l00333">333</a> of file <a class="el" href="constraint__solver_2diffn_8cc_source.html">constraint_solver/diffn.cc</a>.</p>
</div>
</div>
<a id="ac4f11683c5546c728671e917d2031384"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4f11683c5546c728671e917d2031384">&#9670;&nbsp;</a></span>MakeNonOverlappingNonStrictBoxesConstraint() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNonOverlappingNonStrictBoxesConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>x_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>y_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>x_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>y_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint states that all the boxes must not overlap. </p>
<p>The coordinates of box i are: (x_vars[i], y_vars[i]), (x_vars[i], y_vars[i] + y_size[i]), (x_vars[i] + x_size[i], y_vars[i]), (x_vars[i] + x_size[i], y_vars[i] + y_size[i]). The sizes must be positive. Boxes with a zero dimension can be placed anywhere. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_2diffn_8cc_source.html#l00327">327</a> of file <a class="el" href="constraint__solver_2diffn_8cc_source.html">constraint_solver/diffn.cc</a>.</p>
</div>
</div>
<a id="a39431073dfb17274b3274cc1186c9593"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39431073dfb17274b3274cc1186c9593">&#9670;&nbsp;</a></span>MakeNotBetweenCt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNotBetweenCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>u</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>(expr &lt; l || expr &gt; u) This constraint is lazy as it will not make holes in the domain of variables. </p>
<p>It will propagate only when expr-&gt;Min() &gt;= l or expr-&gt;Max() &lt;= u. </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l00953">953</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a5701706ae773c6626d2f0b79892e61d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5701706ae773c6626d2f0b79892e61d9">&#9670;&nbsp;</a></span>MakeNotMemberCt() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNotMemberCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01292">1292</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a6f41ed90da905d301ce7b35c3b382831"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f41ed90da905d301ce7b35c3b382831">&#9670;&nbsp;</a></span>MakeNotMemberCt() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNotMemberCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr not in set. </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01229">1229</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a9bd156c8498d15a6f3993b695ebb9d51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bd156c8498d15a6f3993b695ebb9d51">&#9670;&nbsp;</a></span>MakeNotMemberCt() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNotMemberCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int &gt;&#160;</td>
<td class="paramname"><em>starts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int &gt;&#160;</td>
<td class="paramname"><em>ends</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr should not be in the list of forbidden intervals [start[i]..end[i]]. </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01578">1578</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="ac2b2edd413682d6ee5c28f5f762034a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2b2edd413682d6ee5c28f5f762034a2">&#9670;&nbsp;</a></span>MakeNotMemberCt() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNotMemberCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&#160;</td>
<td class="paramname"><em>starts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&#160;</td>
<td class="paramname"><em>ends</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr should not be in the list of forbidden intervals [start[i]..end[i]]. </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01571">1571</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a5d8d56f97ecfa5148d9073ea4e7a09b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d8d56f97ecfa5148d9073ea4e7a09b6">&#9670;&nbsp;</a></span>MakeNotMemberCt() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNotMemberCt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_sorted_disjoint_interval_list.html">SortedDisjointIntervalList</a>&#160;</td>
<td class="paramname"><em>intervals</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr should not be in the list of forbidden intervals. </p>
<p class="definition">Definition at line <a class="el" href="expr__cst_8cc_source.html#l01585">1585</a> of file <a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a>.</p>
</div>
</div>
<a id="a244b2a437a5d33e9c08c747988c8f830"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a244b2a437a5d33e9c08c747988c8f830">&#9670;&nbsp;</a></span>MakeNullIntersect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNullIntersect </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>first_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>second_vars</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint that states that all variables in the first vector are different from all variables in the second group. </p>
<p>Thus the set of values in the first vector does not intersect with the set of values in the second vector. </p>
<p class="definition">Definition at line <a class="el" href="alldiff__cst_8cc_source.html#l00733">733</a> of file <a class="el" href="alldiff__cst_8cc_source.html">alldiff_cst.cc</a>.</p>
</div>
</div>
<a id="a1899c19a3c4f7dcdb98967aefa61f154"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1899c19a3c4f7dcdb98967aefa61f154">&#9670;&nbsp;</a></span>MakeNullIntersectExcept()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeNullIntersectExcept </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>first_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>second_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>escape_value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint that states that all variables in the first vector are different from all variables from the second group, unless they are assigned to the escape value. </p>
<p>Thus the set of values in the first vector minus the escape value does not intersect with the set of values in the second vector. </p>
<p class="definition">Definition at line <a class="el" href="alldiff__cst_8cc_source.html#l00738">738</a> of file <a class="el" href="alldiff__cst_8cc_source.html">alldiff_cst.cc</a>.</p>
</div>
</div>
<a id="a783c59b969849452c383bab1d14b284b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a783c59b969849452c383bab1d14b284b">&#9670;&nbsp;</a></span>MakeOperator() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * MakeOperator </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>secondary_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a86570ad216b68c88de1ef27085e3d084">Solver::IndexEvaluator3</a>&#160;</td>
<td class="paramname"><em>evaluator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">Solver::EvaluatorLocalSearchOperators</a>&#160;</td>
<td class="paramname"><em>op</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02429">2429</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a60127c548cf811a3b54240d6b039c5ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60127c548cf811a3b54240d6b039c5ea">&#9670;&nbsp;</a></span>MakeOperator() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * MakeOperator </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>secondary_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">Solver::LocalSearchOperators</a>&#160;</td>
<td class="paramname"><em>op</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02315">2315</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a3dbb98d0c2db9df4320ca55a33c805e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dbb98d0c2db9df4320ca55a33c805e3">&#9670;&nbsp;</a></span>MakeOperator() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * MakeOperator </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a86570ad216b68c88de1ef27085e3d084">Solver::IndexEvaluator3</a>&#160;</td>
<td class="paramname"><em>evaluator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">Solver::EvaluatorLocalSearchOperators</a>&#160;</td>
<td class="paramname"><em>op</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02423">2423</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="aabf79e2e1b17a7a5ce1c5e69cc3f582b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabf79e2e1b17a7a5ce1c5e69cc3f582b">&#9670;&nbsp;</a></span>MakeOperator() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * MakeOperator </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">Solver::LocalSearchOperators</a>&#160;</td>
<td class="paramname"><em>op</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Local <a class="el" href="classoperations__research_1_1_search.html">Search</a> Operators. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02310">2310</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a70f2cba628260a3a04f06f676c65fd0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70f2cba628260a3a04f06f676c65fd0a">&#9670;&nbsp;</a></span>MakeOpposite()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeOpposite </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>-expr </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06728">6728</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="aeef4feabd78d38d89a4c56dd29663693"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeef4feabd78d38d89a4c56dd29663693">&#9670;&nbsp;</a></span>MakeOptimize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> * MakeOptimize </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a objective with a given sense (true = maximization). </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02857">2857</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a3b2a6a82cd9f48e35d7927df60f823df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b2a6a82cd9f48e35d7927df60f823df">&#9670;&nbsp;</a></span>MakePack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_pack.html">Pack</a> * MakePack </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>number_of_bins</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint packs all variables onto 'number_of_bins' variables. </p>
<p>For any given variable, a value of 'number_of_bins' indicates that the variable is not assigned to any bin. Dimensions, i.e., cumulative constraints on this packing, can be added directly from the pack class. </p>
<p class="definition">Definition at line <a class="el" href="pack_8cc_source.html#l01611">1611</a> of file <a class="el" href="pack_8cc_source.html">pack.cc</a>.</p>
</div>
</div>
<a id="a58c31dc4ccc27831f8c75359865e6185"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58c31dc4ccc27831f8c75359865e6185">&#9670;&nbsp;</a></span>MakePathConnected()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakePathConnected </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&#160;</td>
<td class="paramname"><em>sources</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&#160;</td>
<td class="paramname"><em>sinks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt;&#160;</td>
<td class="paramname"><em>status</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classoperations__research_1_1_constraint.html" title="A constraint is the main modeling object.">Constraint</a> enforcing that status[i] is true iff there's a path defined on next variables from sources[i] to sinks[i]. </p>
<p>Check whether more propagation is needed. </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l01434">1434</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="ad92d314c2a6358cff54e0cafbee5c5af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad92d314c2a6358cff54e0cafbee5c5af">&#9670;&nbsp;</a></span>MakePathCumul() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakePathCumul </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>active</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>cumuls</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>slacks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>transit_evaluator</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + transit_evaluator(i, next[i]) + slacks[i]. </p>
<p>Active variables indicate if the corresponding next variable is active; this could be useful to model unperformed nodes in a routing problem. Ownership of transit_evaluator is taken and it must be a repeatable callback. </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l01315">1315</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="ad66fddae43e332f97a4adc47624b799b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad66fddae43e332f97a4adc47624b799b">&#9670;&nbsp;</a></span>MakePathCumul() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakePathCumul </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>active</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>cumuls</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>transits</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + transits[i]. </p>
<p>Active variables indicate if the corresponding next variable is active; this could be useful to model unperformed nodes in a routing problem. </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l01297">1297</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="a69686be8775ce21f8f1da5ae8570ec71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69686be8775ce21f8f1da5ae8570ec71">&#9670;&nbsp;</a></span>MakePathCumul() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakePathCumul </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>active</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>cumuls</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>transit_evaluator</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + transit_evaluator(i, next[i]). </p>
<p>Active variables indicate if the corresponding next variable is active; this could be useful to model unperformed nodes in a routing problem. Ownership of transit_evaluator is taken and it must be a repeatable callback. </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l01306">1306</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="ae5119b2b21dac7cbfa3eea46b1103a9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5119b2b21dac7cbfa3eea46b1103a9e">&#9670;&nbsp;</a></span>MakePathPrecedenceConstraint() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakePathPrecedenceConstraint </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>precedences</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Contraint enforcing, for each pair (i,j) in precedences, i to be before j in paths defined by next variables. </p>
<p>the implementation can easily be modified to do that; evaluate the impact on models solved with local search. </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l01619">1619</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="ae628366b4d1baa03c3129d7610e4dc55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae628366b4d1baa03c3129d7610e4dc55">&#9670;&nbsp;</a></span>MakePathPrecedenceConstraint() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakePathPrecedenceConstraint </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>precedences</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>lifo_path_starts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>fifo_path_starts</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as MakePathPrecedenceConstraint but ensures precedence pairs on some paths follow a LIFO or FIFO order. </p>
<p>LIFO order: given 2 pairs (a,b) and (c,d), if a is before c on the path then d must be before b or b must be before c. FIFO order: given 2 pairs (a,b) and (c,d), if a is before c on the path then b must be before d. LIFO (resp. FIFO) orders are enforced only on paths starting by indices in lifo_path_starts (resp. fifo_path_start). </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l01625">1625</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="ac8b98f1f83afa9e3b5828dc2349e3837"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8b98f1f83afa9e3b5828dc2349e3837">&#9670;&nbsp;</a></span>MakePathTransitPrecedenceConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakePathTransitPrecedenceConstraint </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt;&#160;</td>
<td class="paramname"><em>transits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>precedences</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as MakePathPrecedenceConstraint but will force i to be before j if the sum of transits on the path from i to j is strictly positive. </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l01642">1642</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="a5817205b496242838ae749efe532f8e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5817205b496242838ae749efe532f8e1">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[1/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>intervals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952f">IntervalStrategy</a>&#160;</td>
<td class="paramname"><em>str</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Scheduling phases. </p>
<p class="definition">Definition at line <a class="el" href="sched__search_8cc_source.html#l00848">848</a> of file <a class="el" href="sched__search_8cc_source.html">sched_search.cc</a>.</p>
</div>
</div>
<a id="adb0d364d98cccb26eed10317ec8e442a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb0d364d98cccb26eed10317ec8e442a">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[2/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a>&#160;</td>
<td class="paramname"><em>var_evaluator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>value_evaluator</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02071">2071</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a63d7a3444090331f668a230b22f1948b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63d7a3444090331f668a230b22f1948b">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[3/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a>&#160;</td>
<td class="paramname"><em>var_evaluator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>value_evaluator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a>&#160;</td>
<td class="paramname"><em>tie_breaker</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02109">2109</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac036235208064d566fad74b721bc1a0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac036235208064d566fad74b721bc1a0a">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[4/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a>&#160;</td>
<td class="paramname"><em>var_evaluator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">Solver::IntValueStrategy</a>&#160;</td>
<td class="paramname"><em>val_str</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02020">2020</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a87f248f1badf459f6f9a28bf7400f4f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87f248f1badf459f6f9a28bf7400f4f7">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[5/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>eval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">Solver::EvaluatorStrategy</a>&#160;</td>
<td class="paramname"><em>str</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a decision builder which assigns values to variables which minimize the values returned by the evaluator. </p>
<p>The arguments passed to the evaluator callback are the indices of the variables in vars and the values of these variables. Ownership of the callback is passed to the decision builder. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02131">2131</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac09271a5cd507d9af4a6b0a5e35a9516"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac09271a5cd507d9af4a6b0a5e35a9516">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[6/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>eval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a>&#160;</td>
<td class="paramname"><em>tie_breaker</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">Solver::EvaluatorStrategy</a>&#160;</td>
<td class="paramname"><em>str</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a decision builder which assigns values to variables which minimize the values returned by the evaluator. </p>
<p>In case of tie breaks, the second callback is used to choose the best index in the array of equivalent pairs with equivalent evaluations. The arguments passed to the evaluator callback are the indices of the variables in vars and the values of these variables. Ownership of the callback is passed to the decision builder. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02137">2137</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ad9daba429662707b8d6bd5e119cd4da5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9daba429662707b8d6bd5e119cd4da5">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[7/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">Solver::IntVarStrategy</a>&#160;</td>
<td class="paramname"><em>var_str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>value_evaluator</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02038">2038</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a7faa757e27fce57320e08645dd657249"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7faa757e27fce57320e08645dd657249">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[8/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">Solver::IntVarStrategy</a>&#160;</td>
<td class="paramname"><em>var_str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>value_evaluator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a>&#160;</td>
<td class="paramname"><em>tie_breaker</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02092">2092</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ab8c32c78b5af7d4975432c0971369153"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8c32c78b5af7d4975432c0971369153">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[9/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">Solver::IntVarStrategy</a>&#160;</td>
<td class="paramname"><em>var_str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">Solver::IntValueStrategy</a>&#160;</td>
<td class="paramname"><em>val_str</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Phases on <a class="el" href="classoperations__research_1_1_int_var.html" title="The class IntVar is a subset of IntExpr.">IntVar</a> arrays. </p>
<p>for all other functions that have several homonyms in this .h). </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02008">2008</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a1f1cb613307dc4642d193c7e88d665d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f1cb613307dc4642d193c7e88d665d2">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[10/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a>&#160;</td>
<td class="paramname"><em>var_str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a3094f1982f455fd97342c64b7c0b3ccf">VariableValueComparator</a>&#160;</td>
<td class="paramname"><em>var_val1_val2_comparator</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>var_val1_val2_comparator(var, val1, val2) is true iff assigning value "val1" to variable "var" is better than assigning value "val2". </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02055">2055</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac312642e015dc90cfe57ced402222862"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac312642e015dc90cfe57ced402222862">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[11/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>sequences</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482b">SequenceStrategy</a>&#160;</td>
<td class="paramname"><em>str</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="sched__search_8cc_source.html#l00873">873</a> of file <a class="el" href="sched__search_8cc_source.html">sched_search.cc</a>.</p>
</div>
</div>
<a id="acaa896a88abfa6b0f69c0bbb5dba2e66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acaa896a88abfa6b0f69c0bbb5dba2e66">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[12/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">Solver::IntVarStrategy</a>&#160;</td>
<td class="paramname"><em>var_str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">Solver::IntValueStrategy</a>&#160;</td>
<td class="paramname"><em>val_str</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01986">1986</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a799cf5fa06f5941ec238a20c11a3732d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a799cf5fa06f5941ec238a20c11a3732d">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[13/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">Solver::IntVarStrategy</a>&#160;</td>
<td class="paramname"><em>var_str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">Solver::IntValueStrategy</a>&#160;</td>
<td class="paramname"><em>val_str</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01975">1975</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a3240a820ac60b9152527d4dfdf5ce757"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3240a820ac60b9152527d4dfdf5ce757">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[14/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">Solver::IntVarStrategy</a>&#160;</td>
<td class="paramname"><em>var_str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">Solver::IntValueStrategy</a>&#160;</td>
<td class="paramname"><em>val_str</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01966">1966</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="aa4848ca854d8dc0abe1e78f9e820e7ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4848ca854d8dc0abe1e78f9e820e7ea">&#9670;&nbsp;</a></span>MakePhase() <span class="overload">[15/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakePhase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">Solver::IntVarStrategy</a>&#160;</td>
<td class="paramname"><em>var_str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">Solver::IntValueStrategy</a>&#160;</td>
<td class="paramname"><em>val_str</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Shortcuts for small arrays. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01958">1958</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a235c1fd0f0c6d4051a8ff4311ba2630c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a235c1fd0f0c6d4051a8ff4311ba2630c">&#9670;&nbsp;</a></span>MakePiecewiseLinearExpr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakePiecewiseLinearExpr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_piecewise_linear_function.html">PiecewiseLinearFunction</a> &amp;&#160;</td>
<td class="paramname"><em>f</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>General piecewise-linear function expression, built from f(x) where f is piecewise-linear. </p>
<p>The resulting expression is f(expr). expressions. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07209">7209</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a45df05056f0f94dcc0e44d4336e13fb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45df05056f0f94dcc0e44d4336e13fb9">&#9670;&nbsp;</a></span>MakePower()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakePower </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr ^ n (n &gt; 0) </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07023">7023</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="ad4bbef048381ee722e0f189bab7641fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4bbef048381ee722e0f189bab7641fa">&#9670;&nbsp;</a></span>MakePrintModelVisitor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a> * MakePrintModelVisitor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Prints the model. </p>
<p class="definition">Definition at line <a class="el" href="utilities_8cc_source.html#l00807">807</a> of file <a class="el" href="utilities_8cc_source.html">utilities.cc</a>.</p>
</div>
</div>
<a id="a148d427921cb0798c3ff7501e4f4aaf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a148d427921cb0798c3ff7501e4f4aaf0">&#9670;&nbsp;</a></span>MakeProd() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeProd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr * value </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06746">6746</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="ae88d696e499f29968ad16dcf587fff50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae88d696e499f29968ad16dcf587fff50">&#9670;&nbsp;</a></span>MakeProd() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeProd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>left * right </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06836">6836</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a609ad11d842b8b7b4a8b0d2028818d31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a609ad11d842b8b7b4a8b0d2028818d31">&#9670;&nbsp;</a></span>MakeRandomLnsOperator() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * MakeRandomLnsOperator </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>number_of_variables</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a large neighborhood search operator which creates fragments (set of relaxed variables) with up to number_of_variables random variables (sampling with replacement is performed meaning that at most number_of_variables variables are selected). </p>
<p>Warning: this operator will always return neighbors; using it without a search limit will result in a non-ending search. Optionally a random seed can be specified. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00191">191</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="aa83b57604b35e2bc68b21b436347c28b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa83b57604b35e2bc68b21b436347c28b">&#9670;&nbsp;</a></span>MakeRandomLnsOperator() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * MakeRandomLnsOperator </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>number_of_variables</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>&#160;</td>
<td class="paramname"><em>seed</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00196">196</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a928815a4c6a634b490c936097b7d00a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a928815a4c6a634b490c936097b7d00a5">&#9670;&nbsp;</a></span>MakeRankFirstInterval()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeRankFirstInterval </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a> *const&#160;</td>
<td class="paramname"><em>sequence</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a decision that tries to rank first the ith interval var in the sequence variable. </p>
<p class="definition">Definition at line <a class="el" href="sched__search_8cc_source.html#l00862">862</a> of file <a class="el" href="sched__search_8cc_source.html">sched_search.cc</a>.</p>
</div>
</div>
<a id="ac0ac844f6576d238f6c11f4069b4576d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0ac844f6576d238f6c11f4069b4576d">&#9670;&nbsp;</a></span>MakeRankLastInterval()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeRankLastInterval </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a> *const&#160;</td>
<td class="paramname"><em>sequence</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a decision that tries to rank last the ith interval var in the sequence variable. </p>
<p class="definition">Definition at line <a class="el" href="sched__search_8cc_source.html#l00868">868</a> of file <a class="el" href="sched__search_8cc_source.html">sched_search.cc</a>.</p>
</div>
</div>
<a id="a5b9158014841db28425c3fe68700af22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b9158014841db28425c3fe68700af22">&#9670;&nbsp;</a></span>MakeRejectFilter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a> * MakeRejectFilter </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02555">2555</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="ae95ca181ba462987f0cd6e10eef83a97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae95ca181ba462987f0cd6e10eef83a97">&#9670;&nbsp;</a></span>MakeRestoreAssignment()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeRestoreAssignment </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *&#160;</td>
<td class="paramname"><em>assignment</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a <a class="el" href="classoperations__research_1_1_decision_builder.html" title="A DecisionBuilder is responsible for creating the search tree.">DecisionBuilder</a> which restores an <a class="el" href="classoperations__research_1_1_assignment.html" title="An Assignment is a variable -&gt; domains mapping, used to report solutions to the user.">Assignment</a> (calls void <a class="el" href="classoperations__research_1_1_assignment.html#a1896fe755b612dbebd2c46638f8977a2">Assignment::Restore()</a>) </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_2assignment_8cc_source.html#l01081">1081</a> of file <a class="el" href="constraint__solver_2assignment_8cc_source.html">constraint_solver/assignment.cc</a>.</p>
</div>
</div>
<a id="a23053cfdf78a25b8e04121f30fbaa72f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23053cfdf78a25b8e04121f30fbaa72f">&#9670;&nbsp;</a></span>MakeScalProd() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeScalProd </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>coefs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>scalar product </p>
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03547">3547</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="ac4aaca770d85f7b1f58292ca311de969"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4aaca770d85f7b1f58292ca311de969">&#9670;&nbsp;</a></span>MakeScalProd() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeScalProd </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>coefs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>scalar product </p>
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03541">3541</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="afb4aa121bc38a7e4e5bc55d7b6c38255"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb4aa121bc38a7e4e5bc55d7b6c38255">&#9670;&nbsp;</a></span>MakeScalProdEquality() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeScalProdEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>coefficients</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>cst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03490">3490</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="a5cb4f284364b6aa084c48de17678399a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cb4f284364b6aa084c48de17678399a">&#9670;&nbsp;</a></span>MakeScalProdEquality() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeScalProdEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>coefficients</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>target</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03504">3504</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="afd751badd79a96a78ead178e15ce1889"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd751badd79a96a78ead178e15ce1889">&#9670;&nbsp;</a></span>MakeScalProdEquality() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeScalProdEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>coefficients</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>cst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03483">3483</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="a770aca9c5eee3408550582c4041a542a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a770aca9c5eee3408550582c4041a542a">&#9670;&nbsp;</a></span>MakeScalProdEquality() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeScalProdEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>coefficients</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>target</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03497">3497</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="aca0ac31204db5d354db0c63de8ef0966"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca0ac31204db5d354db0c63de8ef0966">&#9670;&nbsp;</a></span>MakeScalProdGreaterOrEqual() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeScalProdGreaterOrEqual </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>coeffs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>cst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03519">3519</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="a9757aaa6eb766ddafe22055f295af3b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9757aaa6eb766ddafe22055f295af3b9">&#9670;&nbsp;</a></span>MakeScalProdGreaterOrEqual() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeScalProdGreaterOrEqual </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>coeffs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>cst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03512">3512</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="a6e01cb32d85e77883420829e827a0547"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e01cb32d85e77883420829e827a0547">&#9670;&nbsp;</a></span>MakeScalProdLessOrEqual() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeScalProdLessOrEqual </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>coefficients</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>cst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03533">3533</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="a6e2fa19092cefddf0079e3368d74fe3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e2fa19092cefddf0079e3368d74fe3b">&#9670;&nbsp;</a></span>MakeScalProdLessOrEqual() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeScalProdLessOrEqual </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>coefficients</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>cst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03526">3526</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="a753c40fb7c8d6529a7e12e9069626702"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a753c40fb7c8d6529a7e12e9069626702">&#9670;&nbsp;</a></span>MakeScheduleOrExpedite()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeScheduleOrExpedite </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>est</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> *const&#160;</td>
<td class="paramname"><em>marker</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a decision that tries to schedule a task at a given time. </p>
<p>On the Apply branch, it will set that interval var as performed and set its end to 'est'. On the Refute branch, it will just update the 'marker' to 'est' - 1. This decision is used in the INTERVAL_SET_TIMES_BACKWARD strategy. </p>
<p class="definition">Definition at line <a class="el" href="sched__search_8cc_source.html#l00841">841</a> of file <a class="el" href="sched__search_8cc_source.html">sched_search.cc</a>.</p>
</div>
</div>
<a id="aa7ebf0dd587b61e1bc27293016cdb07a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7ebf0dd587b61e1bc27293016cdb07a">&#9670;&nbsp;</a></span>MakeScheduleOrPostpone()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeScheduleOrPostpone </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>est</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> *const&#160;</td>
<td class="paramname"><em>marker</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a decision that tries to schedule a task at a given time. </p>
<p>On the Apply branch, it will set that interval var as performed and set its start to 'est'. On the Refute branch, it will just update the 'marker' to 'est' + 1. This decision is used in the INTERVAL_SET_TIMES_FORWARD strategy. </p>
<p class="definition">Definition at line <a class="el" href="sched__search_8cc_source.html#l00834">834</a> of file <a class="el" href="sched__search_8cc_source.html">sched_search.cc</a>.</p>
</div>
</div>
<a id="a44df25a1775b3d0f19f70bdf00c99727"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44df25a1775b3d0f19f70bdf00c99727">&#9670;&nbsp;</a></span>MakeSearchLog() <span class="overload">[1/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSearchLog </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>branch_period</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The SearchMonitors below will display a periodic search log on <a class="el" href="base_2logging_8h.html#accad43a85d781d53381cd53a9894b6ae">LOG(INFO)</a> every branch_period branches explored. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00284">284</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a5fc2de1ecfafccc86f4e5f4ac74f286d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fc2de1ecfafccc86f4e5f4ac74f286d">&#9670;&nbsp;</a></span>MakeSearchLog() <span class="overload">[2/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSearchLog </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>branch_period</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>At each solution, this monitor also display the var value. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00288">288</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a5610f093f1d8b485f33bd1884e396015"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5610f093f1d8b485f33bd1884e396015">&#9670;&nbsp;</a></span>MakeSearchLog() <span class="overload">[3/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSearchLog </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>branch_period</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::function&lt; std::string()&gt;&#160;</td>
<td class="paramname"><em>display_callback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>At each solution, this monitor will display the 'var' value and the result of <code>display_callback</code>. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00298">298</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a7b7b1d0be3f915a12386d9036e33e492"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b7b1d0be3f915a12386d9036e33e492">&#9670;&nbsp;</a></span>MakeSearchLog() <span class="overload">[4/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSearchLog </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>branch_period</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *const&#160;</td>
<td class="paramname"><em>opt_var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classoperations__research_1_1_optimize_var.html" title="This class encapsulates an objective.">OptimizeVar</a> <a class="el" href="classoperations__research_1_1_search.html">Search</a> Logs At each solution, this monitor will also display the 'opt_var' value. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00306">306</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="addca91d25656941db14e8c2851155ae8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#addca91d25656941db14e8c2851155ae8">&#9670;&nbsp;</a></span>MakeSearchLog() <span class="overload">[5/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSearchLog </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>branch_period</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> *const&#160;</td>
<td class="paramname"><em>opt_var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::function&lt; std::string()&gt;&#160;</td>
<td class="paramname"><em>display_callback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a search monitor that will also print the result of the display callback. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00311">311</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a4b2df6b7cf1af454ded80e5ec44b800b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b2df6b7cf1af454ded80e5ec44b800b">&#9670;&nbsp;</a></span>MakeSearchLog() <span class="overload">[6/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSearchLog </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>branch_period</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::function&lt; std::string()&gt;&#160;</td>
<td class="paramname"><em>display_callback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>At each solution, this monitor will also display result of <code>display_callback</code>. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00292">292</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ae989ff30cc9bd52ad392e92f1bf79f30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae989ff30cc9bd52ad392e92f1bf79f30">&#9670;&nbsp;</a></span>MakeSearchLog() <span class="overload">[7/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSearchLog </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html">SearchLogParameters</a>&#160;</td>
<td class="paramname"><em>parameters</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00319">319</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="aa7f37dd789676fe977046bd4d1becfa6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7f37dd789676fe977046bd4d1becfa6">&#9670;&nbsp;</a></span>MakeSearchTrace()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSearchTrace </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>prefix</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a search monitor that will trace precisely the behavior of the search. </p>
<p>Use this only for low level debugging. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00394">394</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac34efc5a32ae3ef481d3c97796ecb899"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac34efc5a32ae3ef481d3c97796ecb899">&#9670;&nbsp;</a></span>MakeSemiContinuousExpr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeSemiContinuousExpr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>fixed_charge</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Semi continuous Expression (x &lt;= 0 -&gt; f(x) = 0; x &gt; 0 -&gt; f(x) = ax + b) a &gt;= 0 and b &gt;= 0. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07136">7136</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a34a90adc0455c624af0052870961873d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34a90adc0455c624af0052870961873d">&#9670;&nbsp;</a></span>MakeSimulatedAnnealing()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSimulatedAnnealing </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>initial_temperature</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a Simulated Annealing monitor. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l03352">3352</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a1209ecc475be440394980d80ef93cb82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1209ecc475be440394980d80ef93cb82">&#9670;&nbsp;</a></span>MakeSolutionsLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> * MakeSolutionsLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>solutions</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a search limit that constrains the number of solutions found during the search. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04105">4105</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a5afecd416b70bdf535a69119e4ffd271"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5afecd416b70bdf535a69119e4ffd271">&#9670;&nbsp;</a></span>MakeSolveOnce() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeSolveOnce </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SolveOnce will collapse a search tree described by a decision builder 'db' and a set of monitors and wrap it into a single point. </p>
<p>If there are no solutions to this nested tree, then SolveOnce will fail. If there is a solution, it will find it and returns nullptr. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04413">4413</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac26b924138fa2c1cbb1cdb83c4374ea3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac26b924138fa2c1cbb1cdb83c4374ea3">&#9670;&nbsp;</a></span>MakeSolveOnce() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeSolveOnce </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>monitors</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04457">4457</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a77bdbc3cfba031e3b33295b4c551d488"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77bdbc3cfba031e3b33295b4c551d488">&#9670;&nbsp;</a></span>MakeSolveOnce() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeSolveOnce </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04417">4417</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a670dc3b46b8bc19cf07a7b90076aca5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a670dc3b46b8bc19cf07a7b90076aca5c">&#9670;&nbsp;</a></span>MakeSolveOnce() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeSolveOnce </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04424">4424</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac2c5df6e512f5ebe6ac88b9b8f3a3058"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2c5df6e512f5ebe6ac88b9b8f3a3058">&#9670;&nbsp;</a></span>MakeSolveOnce() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeSolveOnce </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04433">4433</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac56745ef934f2e711fcd5aa02a827146"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac56745ef934f2e711fcd5aa02a827146">&#9670;&nbsp;</a></span>MakeSolveOnce() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeSolveOnce </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>monitor4</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04444">4444</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac14b4f9be9e760378da86da1bc2abd00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac14b4f9be9e760378da86da1bc2abd00">&#9670;&nbsp;</a></span>MakeSortingConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeSortingConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>sorted</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a constraint binding the arrays of variables "vars" and "sorted_vars": sorted_vars[0] must be equal to the minimum of all variables in vars, and so on: the value of sorted_vars[i] must be equal to the i-th value of variables invars. </p>
<p>This constraint propagates in both directions: from "vars" to "sorted_vars" and vice-versa.</p>
<p>Behind the scenes, this constraint maintains that:</p><ul>
<li>sorted is always increasing.</li>
<li>whatever the values of vars, there exists a permutation that injects its values into the sorted variables.</li>
</ul>
<p>For more info, please have a look at: <a href="https://mpi-inf.mpg.de/~mehlhorn/ftp/Mehlhorn-Thiel.pdf">https://mpi-inf.mpg.de/~mehlhorn/ftp/Mehlhorn-Thiel.pdf</a> </p>
<p class="definition">Definition at line <a class="el" href="alldiff__cst_8cc_source.html#l00714">714</a> of file <a class="el" href="alldiff__cst_8cc_source.html">alldiff_cst.cc</a>.</p>
</div>
</div>
<a id="a0d9cb44ab71f437b44a602046b7304c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d9cb44ab71f437b44a602046b7304c2">&#9670;&nbsp;</a></span>MakeSplitVariableDomain()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeSplitVariableDomain </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>val</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>start_with_lower_half</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01679">1679</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="acdaa08527897eee872272e8e2d2b28e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acdaa08527897eee872272e8e2d2b28e4">&#9670;&nbsp;</a></span>MakeSquare()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeSquare </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr * expr </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l07005">7005</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="afb14a213b7e0c68394ea080aaad11c88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb14a213b7e0c68394ea080aaad11c88">&#9670;&nbsp;</a></span>MakeStatisticsModelVisitor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a> * MakeStatisticsModelVisitor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Displays some nice statistics on the model. </p>
<p class="definition">Definition at line <a class="el" href="utilities_8cc_source.html#l00811">811</a> of file <a class="el" href="utilities_8cc_source.html">utilities.cc</a>.</p>
</div>
</div>
<a id="ae3e41eaf96a9ec044d34293897960631"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3e41eaf96a9ec044d34293897960631">&#9670;&nbsp;</a></span>MakeStoreAssignment()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeStoreAssignment </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *&#160;</td>
<td class="paramname"><em>assignment</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a <a class="el" href="classoperations__research_1_1_decision_builder.html" title="A DecisionBuilder is responsible for creating the search tree.">DecisionBuilder</a> which stores an <a class="el" href="classoperations__research_1_1_assignment.html" title="An Assignment is a variable -&gt; domains mapping, used to report solutions to the user.">Assignment</a> (calls void <a class="el" href="classoperations__research_1_1_assignment.html#a3abcbe1fcd37d8982941a795ed22e34a">Assignment::Store()</a>) </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_2assignment_8cc_source.html#l01085">1085</a> of file <a class="el" href="constraint__solver_2assignment_8cc_source.html">constraint_solver/assignment.cc</a>.</p>
</div>
</div>
<a id="a24b4b61a5f3c224f86354447abdccaa8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24b4b61a5f3c224f86354447abdccaa8">&#9670;&nbsp;</a></span>MakeStrictDisjunctiveConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_disjunctive_constraint.html">DisjunctiveConstraint</a> * MakeStrictDisjunctiveConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>intervals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint forces all interval vars into an non-overlapping sequence. </p>
<p>Intervals with zero durations cannot overlap with over intervals. </p>
<p class="definition">Definition at line <a class="el" href="resource_8cc_source.html#l02579">2579</a> of file <a class="el" href="resource_8cc_source.html">resource.cc</a>.</p>
</div>
</div>
<a id="a1c08fc5456634780867df83cff1d8a54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c08fc5456634780867df83cff1d8a54">&#9670;&nbsp;</a></span>MakeSubCircuit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeSubCircuit </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nexts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Force the "nexts" variable to create a complete Hamiltonian path for those that do not loop upon themselves. </p>
<p class="definition">Definition at line <a class="el" href="graph__constraints_8cc_source.html#l00642">642</a> of file <a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a>.</p>
</div>
</div>
<a id="a09873cffad10d0c03d9e56bfee8063b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09873cffad10d0c03d9e56bfee8063b5">&#9670;&nbsp;</a></span>MakeSum() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeSum </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>sum of all vars. </p>
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03230">3230</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="a6571acf6b801d566f28147f05b4b0373"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6571acf6b801d566f28147f05b4b0373">&#9670;&nbsp;</a></span>MakeSum() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeSum </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>expr + value. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06563">6563</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="ac957f0efc6de9135512f60f80ba36083"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac957f0efc6de9135512f60f80ba36083">&#9670;&nbsp;</a></span>MakeSum() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * MakeSum </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>left + right. </p>
<p class="definition">Definition at line <a class="el" href="expressions_8cc_source.html#l06531">6531</a> of file <a class="el" href="expressions_8cc_source.html">expressions.cc</a>.</p>
</div>
</div>
<a id="a894fb1205df2bca78fab2be8ff92b88f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a894fb1205df2bca78fab2be8ff92b88f">&#9670;&nbsp;</a></span>MakeSumEquality() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeSumEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>cst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03428">3428</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="aec6401c023dab782b331b0238c6ff5e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec6401c023dab782b331b0238c6ff5e4">&#9670;&nbsp;</a></span>MakeSumEquality() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeSumEquality </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03458">3458</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="af4a0a8332c9a638454680b3755f519ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4a0a8332c9a638454680b3755f519ba">&#9670;&nbsp;</a></span>MakeSumGreaterOrEqual()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeSumGreaterOrEqual </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>cst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03418">3418</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="ad3401c09ef84f2b059aafb101bc1661e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3401c09ef84f2b059aafb101bc1661e">&#9670;&nbsp;</a></span>MakeSumLessOrEqual()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeSumLessOrEqual </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>cst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Variation on arrays. </p>
<p class="definition">Definition at line <a class="el" href="expr__array_8cc_source.html#l03408">3408</a> of file <a class="el" href="expr__array_8cc_source.html">expr_array.cc</a>.</p>
</div>
</div>
<a id="a070201812ff6640e86ad7d2d68181703"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a070201812ff6640e86ad7d2d68181703">&#9670;&nbsp;</a></span>MakeSumObjectiveFilter() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var_local_search_filter.html">IntVarLocalSearchFilter</a> * MakeSumObjectiveFilter </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>secondary_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a86570ad216b68c88de1ef27085e3d084">Solver::IndexEvaluator3</a>&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">Solver::LocalSearchFilterBound</a>&#160;</td>
<td class="paramname"><em>filter_enum</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l03531">3531</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a7327212dd857729d8d4dfaa7192a55ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7327212dd857729d8d4dfaa7192a55ef">&#9670;&nbsp;</a></span>MakeSumObjectiveFilter() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var_local_search_filter.html">IntVarLocalSearchFilter</a> * MakeSumObjectiveFilter </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a>&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">Solver::LocalSearchFilterBound</a>&#160;</td>
<td class="paramname"><em>filter_enum</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l03524">3524</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a2c773c8b749ed6d7fa8f80f5725b443a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c773c8b749ed6d7fa8f80f5725b443a">&#9670;&nbsp;</a></span>MakeSymmetryManager() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSymmetryManager </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>visitors</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Symmetry Breaking. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04815">4815</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="acee8bdfca8ecbafa24d474ab1d6e7e66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acee8bdfca8ecbafa24d474ab1d6e7e66">&#9670;&nbsp;</a></span>MakeSymmetryManager() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSymmetryManager </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const&#160;</td>
<td class="paramname"><em>v1</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04820">4820</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="af8d468e26945c7d4c6b1035826f14947"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8d468e26945c7d4c6b1035826f14947">&#9670;&nbsp;</a></span>MakeSymmetryManager() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSymmetryManager </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const&#160;</td>
<td class="paramname"><em>v2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04826">4826</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a53da2948c0da1854a0e46dc47913bdf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53da2948c0da1854a0e46dc47913bdf6">&#9670;&nbsp;</a></span>MakeSymmetryManager() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSymmetryManager </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const&#160;</td>
<td class="paramname"><em>v2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const&#160;</td>
<td class="paramname"><em>v3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04834">4834</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a6b8aa046fc429cf1edeef77b3e3bc58f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b8aa046fc429cf1edeef77b3e3bc58f">&#9670;&nbsp;</a></span>MakeSymmetryManager() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeSymmetryManager </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const&#160;</td>
<td class="paramname"><em>v2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const&#160;</td>
<td class="paramname"><em>v3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a> *const&#160;</td>
<td class="paramname"><em>v4</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04844">4844</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="acd5d8979774c2578b20a30a27cd0a0e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd5d8979774c2578b20a30a27cd0a0e8">&#9670;&nbsp;</a></span>MakeTabuSearch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * MakeTabuSearch </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>keep_tenure</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>forbid_tenure</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>tabu_factor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>MetaHeuristics which try to get the search out of local optima. </p>
<p>Creates a Tabu <a class="el" href="classoperations__research_1_1_search.html">Search</a> monitor. In the context of local search the behavior is similar to <a class="el" href="classoperations__research_1_1_solver.html#aeef4feabd78d38d89a4c56dd29663693" title="Creates a objective with a given sense (true = maximization).">MakeOptimize()</a>, creating an objective in a given sense. The behavior differs once a local optimum is reached: thereafter solutions which degrade the value of the objective are allowed if they are not "tabu". A solution is "tabu" if it doesn't respect the following rules:</p><ul>
<li>improving the best solution found so far</li>
<li>variables in the "keep" list must keep their value, variables in the "forbid" list must not take the value they have in the list. Variables with new values enter the tabu lists after each new solution found and leave the lists after a given number of iterations (called tenure). Only the variables passed to the method can enter the lists. The tabu criterion is softened by the tabu factor which gives the number of "tabu" violations which is tolerated; a factor of 1 means no violations allowed; a factor of 0 means all violations are allowed. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l03240">3240</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a69b188301916efe8e213e3ac35264dc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69b188301916efe8e213e3ac35264dc6">&#9670;&nbsp;</a></span>MakeTemporalDisjunction() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeTemporalDisjunction </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>t1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>t2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint implements a temporal disjunction between two interval vars. </p>
<p class="definition">Definition at line <a class="el" href="timetabling_8cc_source.html#l00409">409</a> of file <a class="el" href="timetabling_8cc_source.html">timetabling.cc</a>.</p>
</div>
</div>
<a id="aaed1bc5fc04dc964df5e7dfd11476098"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaed1bc5fc04dc964df5e7dfd11476098">&#9670;&nbsp;</a></span>MakeTemporalDisjunction() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeTemporalDisjunction </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>t1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>t2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>alt</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint implements a temporal disjunction between two interval vars t1 and t2. </p>
<p>'alt' indicates which alternative was chosen (alt == 0 is equivalent to t1 before t2). </p>
<p class="definition">Definition at line <a class="el" href="timetabling_8cc_source.html#l00403">403</a> of file <a class="el" href="timetabling_8cc_source.html">timetabling.cc</a>.</p>
</div>
</div>
<a id="aa039067a5797a91839f3b445d58d331e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa039067a5797a91839f3b445d58d331e">&#9670;&nbsp;</a></span>MakeTimeLimit() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> * MakeTimeLimit </td>
<td>(</td>
<td class="paramtype">absl::Duration&#160;</td>
<td class="paramname"><em>time</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a search limit that constrains the running time. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l04090">4090</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a57003ddd7c36d7d24a093eb1f06ff1e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57003ddd7c36d7d24a093eb1f06ff1e6">&#9670;&nbsp;</a></span>MakeTimeLimit() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* MakeTimeLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>time_in_ms</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02206">2206</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ab07d153017b0aab71a9d2d28d5ef940a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab07d153017b0aab71a9d2d28d5ef940a">&#9670;&nbsp;</a></span>MakeTransitionConstraint() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeTransitionConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_int_tuple_set.html">IntTupleSet</a> &amp;&#160;</td>
<td class="paramname"><em>transition_table</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>initial_state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>final_states</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint create a finite automaton that will check the sequence of variables vars. </p>
<p>It uses a transition table called 'transition_table'. Each transition is a triple (current_state, variable_value, new_state). The initial state is given, and the set of accepted states is decribed by 'final_states'. These states are hidden inside the constraint. Only the transitions (i.e. the variables) are visible. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_2table_8cc_source.html#l01271">1271</a> of file <a class="el" href="constraint__solver_2table_8cc_source.html">constraint_solver/table.cc</a>.</p>
</div>
</div>
<a id="a3cfaedc62ca0207cf4f0b2368d809082"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cfaedc62ca0207cf4f0b2368d809082">&#9670;&nbsp;</a></span>MakeTransitionConstraint() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeTransitionConstraint </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_int_tuple_set.html">IntTupleSet</a> &amp;&#160;</td>
<td class="paramname"><em>transition_table</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>initial_state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>final_states</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint create a finite automaton that will check the sequence of variables vars. </p>
<p>It uses a transition table called 'transition_table'. Each transition is a triple (current_state, variable_value, new_state). The initial state is given, and the set of accepted states is decribed by 'final_states'. These states are hidden inside the constraint. Only the transitions (i.e. the variables) are visible. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_2table_8cc_source.html#l01264">1264</a> of file <a class="el" href="constraint__solver_2table_8cc_source.html">constraint_solver/table.cc</a>.</p>
</div>
</div>
<a id="a783604b36be84a0f63754d0fe5597291"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a783604b36be84a0f63754d0fe5597291">&#9670;&nbsp;</a></span>MakeTrueConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakeTrueConstraint </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constraint always succeeds. </p>
<p class="definition">Definition at line <a class="el" href="constraints_8cc_source.html#l00515">515</a> of file <a class="el" href="constraints_8cc_source.html">constraints.cc</a>.</p>
</div>
</div>
<a id="a841aa319d231a7662b799078307c8de9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a841aa319d231a7662b799078307c8de9">&#9670;&nbsp;</a></span>MakeVariableDegreeVisitor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a> * MakeVariableDegreeVisitor </td>
<td>(</td>
<td class="paramtype">absl::flat_hash_map&lt; const <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *, int &gt; *const&#160;</td>
<td class="paramname"><em>map</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the number of constraints a variable is attached to. </p>
<p class="definition">Definition at line <a class="el" href="utilities_8cc_source.html#l00815">815</a> of file <a class="el" href="utilities_8cc_source.html">utilities.cc</a>.</p>
</div>
</div>
<a id="a0cb99d2eebdcea4267b7ab1b21059d37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cb99d2eebdcea4267b7ab1b21059d37">&#9670;&nbsp;</a></span>MakeVariableDomainFilter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a> * MakeVariableDomainFilter </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l03233">3233</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="aa0390cc561a56ce7546823fe74022de7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0390cc561a56ce7546823fe74022de7">&#9670;&nbsp;</a></span>MakeVariableGreaterOrEqualValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeVariableGreaterOrEqualValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01688">1688</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a62aaf4ca8f902374a4a5b64f21d3f68a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62aaf4ca8f902374a4a5b64f21d3f68a">&#9670;&nbsp;</a></span>MakeVariableLessOrEqualValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision.html">Decision</a> * MakeVariableLessOrEqualValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l01684">1684</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="adac1f0aa518ddb6d67050a2087b29309"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adac1f0aa518ddb6d67050a2087b29309">&#9670;&nbsp;</a></span>MakeWeightedMaximize() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> * MakeWeightedMaximize </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>sub_objectives</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>weights</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a maximization weigthed objective. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02930">2930</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a101a182bb4ded486e793c7c0239a3bc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a101a182bb4ded486e793c7c0239a3bc3">&#9670;&nbsp;</a></span>MakeWeightedMaximize() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> * MakeWeightedMaximize </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>sub_objectives</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>weights</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a maximization weigthed objective. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02910">2910</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ab07ab12641c5749914889928bb13b54d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab07ab12641c5749914889928bb13b54d">&#9670;&nbsp;</a></span>MakeWeightedMinimize() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> * MakeWeightedMinimize </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>sub_objectives</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>weights</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a minimization weighted objective. </p>
<p>The actual objective is scalar_prod(sub_objectives, weights). </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02924">2924</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="acf43b6164a1c8f8916a8f7ea78fb962a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf43b6164a1c8f8916a8f7ea78fb962a">&#9670;&nbsp;</a></span>MakeWeightedMinimize() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> * MakeWeightedMinimize </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>sub_objectives</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>weights</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a minimization weighted objective. </p>
<p>The actual objective is scalar_prod(sub_objectives, weights). </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02903">2903</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ab7ad4763bbe1e84de9d4fd50b9b23c7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7ad4763bbe1e84de9d4fd50b9b23c7b">&#9670;&nbsp;</a></span>MakeWeightedOptimize() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> * MakeWeightedOptimize </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>sub_objectives</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>weights</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a weighted objective with a given sense (true = maximization). </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02917">2917</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a72e279a33cbe8927bdbe5ca3c0d92936"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72e279a33cbe8927bdbe5ca3c0d92936">&#9670;&nbsp;</a></span>MakeWeightedOptimize() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> * MakeWeightedOptimize </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>sub_objectives</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>weights</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a weighted objective with a given sense (true = maximization). </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l02896">2896</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ae7902c0743f0f654da1bc613db9c170a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7902c0743f0f654da1bc613db9c170a">&#9670;&nbsp;</a></span>MemoryUsage()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> MemoryUsage </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Current memory usage in bytes. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01518">1518</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a9c44ecfda194a78c5167e7c9d3579b01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c44ecfda194a78c5167e7c9d3579b01">&#9670;&nbsp;</a></span>model_name()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string model_name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the name of the model. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01397">1397</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ad1715ae8613b43ca37c2d76e61047a82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1715ae8613b43ca37c2d76e61047a82">&#9670;&nbsp;</a></span>MultiArmedBanditConcatenateOperators()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * MultiArmedBanditConcatenateOperators </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>ops</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>memory_coefficient</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>exploration_coefficient</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>maximize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a local search operator which concatenates a vector of operators. </p>
<p>Uses Multi-Armed Bandit approach for choosing the next operator to use. Sorts operators based on Upper Confidence Bound Algorithm which evaluates each operator as sum of average improvement and exploration function.</p>
<p>Updates the order of operators when accepts a neighbor with objective improvement. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02267">2267</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="ac50a9f394a6fc3e1707074bccd8bd334"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac50a9f394a6fc3e1707074bccd8bd334">&#9670;&nbsp;</a></span>NameAllVariables()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NameAllVariables </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether all variables should be named. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l00187">187</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a8dad51ecad4cc1aa2ff3fb0d0e3adfd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8dad51ecad4cc1aa2ff3fb0d0e3adfd6">&#9670;&nbsp;</a></span>neighbors()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> neighbors </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of neighbors created. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00997">997</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a201119e9301443e42699e705c81f4869"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a201119e9301443e42699e705c81f4869">&#9670;&nbsp;</a></span>NewSearch() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NewSearch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01807">1807</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="af71de254f80c10584696d5285aca5183"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af71de254f80c10584696d5285aca5183">&#9670;&nbsp;</a></span>NewSearch() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NewSearch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>monitors</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decomposed search. The code for a top level search should look like solver-&gt;NewSearch(db); while (solver-&gt;<a class="el" href="classoperations__research_1_1_solver.html#ab9b8c3ea993ee19fd9cb68fb3240e09f">NextSolution()</a>) { //.. use the current solution } solver()-&gt;<a class="el" href="classoperations__research_1_1_solver.html#a3216144f5779ad0022bd7a0421c858d7">EndSearch()</a>; </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01843">1843</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a5a9c12ebe393f97a8e32b7554f27d200"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a9c12ebe393f97a8e32b7554f27d200">&#9670;&nbsp;</a></span>NewSearch() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NewSearch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01801">1801</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="af0a9e58068d0d7be9c51854ff7d834cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0a9e58068d0d7be9c51854ff7d834cc">&#9670;&nbsp;</a></span>NewSearch() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NewSearch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01812">1812</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="abbccede08b03646d29e04acaf71e0c50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbccede08b03646d29e04acaf71e0c50">&#9670;&nbsp;</a></span>NewSearch() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NewSearch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01820">1820</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a993fbf789b9cfb598af92b35fe414075"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a993fbf789b9cfb598af92b35fe414075">&#9670;&nbsp;</a></span>NewSearch() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NewSearch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m4</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01829">1829</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ab9b8c3ea993ee19fd9cb68fb3240e09f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9b8c3ea993ee19fd9cb68fb3240e09f">&#9670;&nbsp;</a></span>NextSolution()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NextSolution </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02093">2093</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a372a74e1d5fc647d81a043b81075422d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a372a74e1d5fc647d81a043b81075422d">&#9670;&nbsp;</a></span>Now()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">absl::Time Now </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>The 'absolute time' as seen by the solver. </p>
<p>Unless a user-provided clock was injected via SetClock() (eg. for unit tests), this is a real walltime, shifted so that it was 0 at construction. All so-called "walltime" limits are relative to this time. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01524">1524</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="affa6c6c872b17ceee95a3cd7f24f6848"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affa6c6c872b17ceee95a3cd7f24f6848">&#9670;&nbsp;</a></span>optimization_direction()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> optimization_direction </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The direction of optimization, getter and setter. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l01013">1013</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a2a0b93a70f0d588f157ade7909c42eff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a0b93a70f0d588f157ade7909c42eff">&#9670;&nbsp;</a></span>parameters()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ConstraintSolverParameters parameters </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stored Parameters. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00763">763</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a831b8d703cefe8bce66a0483e08917ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a831b8d703cefe8bce66a0483e08917ee">&#9670;&nbsp;</a></span>PopState()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PopState </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01561">1561</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a71535de01a6527099122f4b7284e1796"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71535de01a6527099122f4b7284e1796">&#9670;&nbsp;</a></span>PushState()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PushState </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The PushState and PopState methods manipulates the states of the reversible objects. </p>
<p>They are visible only because they are useful to write unitary tests. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01556">1556</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ad9245209bfba33fe84129683a93a27a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9245209bfba33fe84129683a93a27a7">&#9670;&nbsp;</a></span>Rand32()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a> Rand32 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a random value between 0 and 'size' - 1;. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02829">2829</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a54362ea48f6e179eb3264e4e3d910d03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54362ea48f6e179eb3264e4e3d910d03">&#9670;&nbsp;</a></span>Rand64()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> Rand64 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a random value between 0 and 'size' - 1;. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02823">2823</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a6cadf6ba5aec276c1bab7db60b5eeb13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cadf6ba5aec276c1bab7db60b5eeb13">&#9670;&nbsp;</a></span>RandomConcatenateOperators() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * RandomConcatenateOperators </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>ops</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeighbor(). </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02105">2105</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a5514ea0c078740c2faf4f5a924a813df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5514ea0c078740c2faf4f5a924a813df">&#9670;&nbsp;</a></span>RandomConcatenateOperators() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * RandomConcatenateOperators </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>ops</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>&#160;</td>
<td class="paramname"><em>seed</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeighbor(). </p>
<p>The provided seed is used to initialize the random number generator. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l02110">2110</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a7a202227fee0ce0a3cbf8218379a410d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a202227fee0ce0a3cbf8218379a410d">&#9670;&nbsp;</a></span>RegisterDemon()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> * RegisterDemon </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_demon.html">Demon</a> *const&#160;</td>
<td class="paramname"><em>demon</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds a new demon and wraps it inside a <a class="el" href="classoperations__research_1_1_demon_profiler.html">DemonProfiler</a> if necessary. </p>
<p class="definition">Definition at line <a class="el" href="demon__profiler_8cc_source.html#l00450">450</a> of file <a class="el" href="demon__profiler_8cc_source.html">demon_profiler.cc</a>.</p>
</div>
</div>
<a id="afcb4f63f7ef24e1894c88755c8e18b4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcb4f63f7ef24e1894c88755c8e18b4e">&#9670;&nbsp;</a></span>RegisterIntervalVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * RegisterIntervalVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const&#160;</td>
<td class="paramname"><em>var</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Registers a new <a class="el" href="classoperations__research_1_1_interval_var.html" title="Interval variables are often used in scheduling.">IntervalVar</a> and wraps it inside a TraceIntervalVar if necessary. </p>
<p class="definition">Definition at line <a class="el" href="trace_8cc_source.html#l00865">865</a> of file <a class="el" href="trace_8cc_source.html">trace.cc</a>.</p>
</div>
</div>
<a id="a14f5f5eb80fe6b09d39ff1c0f0b816a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14f5f5eb80fe6b09d39ff1c0f0b816a3">&#9670;&nbsp;</a></span>RegisterIntExpr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> * RegisterIntExpr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_expr.html">IntExpr</a> *const&#160;</td>
<td class="paramname"><em>expr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Registers a new <a class="el" href="classoperations__research_1_1_int_expr.html" title="The class IntExpr is the base of all integer expressions in constraint programming.">IntExpr</a> and wraps it inside a TraceIntExpr if necessary. </p>
<p class="definition">Definition at line <a class="el" href="trace_8cc_source.html#l00844">844</a> of file <a class="el" href="trace_8cc_source.html">trace.cc</a>.</p>
</div>
</div>
<a id="a320ce6dcbd8f9f17cd5ae933dfefc51b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a320ce6dcbd8f9f17cd5ae933dfefc51b">&#9670;&nbsp;</a></span>RegisterIntVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * RegisterIntVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const&#160;</td>
<td class="paramname"><em>var</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Registers a new <a class="el" href="classoperations__research_1_1_int_var.html" title="The class IntVar is a subset of IntExpr.">IntVar</a> and wraps it inside a TraceIntVar if necessary. </p>
<p class="definition">Definition at line <a class="el" href="trace_8cc_source.html#l00856">856</a> of file <a class="el" href="trace_8cc_source.html">trace.cc</a>.</p>
</div>
</div>
<a id="ab1d99d874f178f28a6cc2abc9c6f30a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1d99d874f178f28a6cc2abc9c6f30a4">&#9670;&nbsp;</a></span>ReSeed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ReSeed </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>&#160;</td>
<td class="paramname"><em>seed</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reseed the solver random generator. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02835">2835</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a166c36cdc73ef649a97330f9a5f421e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a166c36cdc73ef649a97330f9a5f421e1">&#9670;&nbsp;</a></span>RestartCurrentSearch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RestartCurrentSearch </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02431">2431</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a0f660e8597c620b46aa963ed7f07c4d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f660e8597c620b46aa963ed7f07c4d7">&#9670;&nbsp;</a></span>RestartSearch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RestartSearch </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01985">1985</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ab741cb25dd32d1cbe02fbfb36337d9bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab741cb25dd32d1cbe02fbfb36337d9bb">&#9670;&nbsp;</a></span>RevAlloc()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T* RevAlloc </td>
<td>(</td>
<td class="paramtype">T *&#160;</td>
<td class="paramname"><em>object</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Registers the given object as being reversible. </p>
<p>By calling this method, the caller gives ownership of the object to the solver, which will delete it when there is a backtrack out of the current state.</p>
<p>Returns the argument for convenience: this way, the caller may directly invoke a constructor in the argument, without having to store the pointer first.</p>
<p>This function is only for users that define their own subclasses of <a class="el" href="classoperations__research_1_1_base_object.html" title="A BaseObject is the root of all reversibly allocated objects.">BaseObject</a>: for all subclasses predefined in the library, the corresponding factory methods (e.g., MakeIntVar(...), MakeAllDifferent(...) already take care of the registration. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00791">791</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ac87467b3998f36ab28b7cad51fe16a68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac87467b3998f36ab28b7cad51fe16a68">&#9670;&nbsp;</a></span>RevAllocArray()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T* RevAllocArray </td>
<td>(</td>
<td class="paramtype">T *&#160;</td>
<td class="paramname"><em>object</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Like <a class="el" href="classoperations__research_1_1_solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb" title="Registers the given object as being reversible.">RevAlloc()</a> above, but for an array of objects: the array must have been allocated with the new[] operator. </p>
<p>The entire array will be deleted when backtracking out of the current state.</p>
<p>This method is valid for arrays of int, int64, uint64, bool, BaseObject*, IntVar*, IntExpr*, and Constraint*. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00802">802</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="affc00ecba247e10af0e2bebb3e1718c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affc00ecba247e10af0e2bebb3e1718c5">&#9670;&nbsp;</a></span>SaveAndAdd()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SaveAndAdd </td>
<td>(</td>
<td class="paramtype">T *&#160;</td>
<td class="paramname"><em>adr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>val</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>All-in-one SaveAndAdd_value. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02815">2815</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a675d33a9ef9aa399017fb68e652c7a5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a675d33a9ef9aa399017fb68e652c7a5c">&#9670;&nbsp;</a></span>SaveAndSetValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SaveAndSetValue </td>
<td>(</td>
<td class="paramtype">T *&#160;</td>
<td class="paramname"><em>adr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>val</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>All-in-one SaveAndSetValue. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02806">2806</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a0544697ab645219c7ed34fd2c19e5033"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0544697ab645219c7ed34fd2c19e5033">&#9670;&nbsp;</a></span>SaveValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SaveValue </td>
<td>(</td>
<td class="paramtype">T *&#160;</td>
<td class="paramname"><em>o</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>reversibility </p>
<p><a class="el" href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033" title="reversibility">SaveValue()</a> saves the value of the corresponding object. It must be called before modifying the object. The value will be restored upon backtrack. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00774">774</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a314668fc29e10470b51994530769d1b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a314668fc29e10470b51994530769d1b0">&#9670;&nbsp;</a></span>SearchContext() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string SearchContext </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l03220">3220</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a8769d5e084acd0e19f0ddfa18207aafc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8769d5e084acd0e19f0ddfa18207aafc">&#9670;&nbsp;</a></span>SearchContext() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string SearchContext </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_search.html">Search</a> *&#160;</td>
<td class="paramname"><em>search</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l03224">3224</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a657ccc52a96d58f8c0e8eedc204952fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a657ccc52a96d58f8c0e8eedc204952fb">&#9670;&nbsp;</a></span>SearchDepth()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SearchDepth </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the search depth of the current active search. </p>
<p>Returns -1 if there is no active search opened. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01175">1175</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="aac9afa5dce7f5a9edfa9655496dbc47b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac9afa5dce7f5a9edfa9655496dbc47b">&#9670;&nbsp;</a></span>SearchLeftDepth()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SearchLeftDepth </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the search left depth of the current active search. </p>
<p>Returns -1 if there is no active search opened. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01177">1177</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ae9387021d508fb4ecec7728972d7b8a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9387021d508fb4ecec7728972d7b8a4">&#9670;&nbsp;</a></span>set_fail_intercept()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void set_fail_intercept </td>
<td>(</td>
<td class="paramtype">std::function&lt; void()&gt;&#160;</td>
<td class="paramname"><em>fail_intercept</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02869">2869</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a8bff6cc5ae227e109c6765b4c6809eb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8bff6cc5ae227e109c6765b4c6809eb3">&#9670;&nbsp;</a></span>set_optimization_direction()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void set_optimization_direction </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a>&#160;</td>
<td class="paramname"><em>direction</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l01016">1016</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="accc247a793239898fa4a822389614c73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accc247a793239898fa4a822389614c73">&#9670;&nbsp;</a></span>SetBranchSelector()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetBranchSelector </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a>&#160;</td>
<td class="paramname"><em>bs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the given branch selector on the current active search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01152">1152</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a4a54531bd135948e0c2a039b4435d952"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a54531bd135948e0c2a039b4435d952">&#9670;&nbsp;</a></span>SetSearchContext()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetSearchContext </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search.html">Search</a> *&#160;</td>
<td class="paramname"><em>search</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>search_context</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l03215">3215</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a5672241cc0faf1be50826c7795320cac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5672241cc0faf1be50826c7795320cac">&#9670;&nbsp;</a></span>SetUseFastLocalSearch()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetUseFastLocalSearch </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>use_fast_local_search</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>enabled for metaheuristics. </p>
<p>Disables/enables fast local search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02879">2879</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a64e3df5cecd4de1a3d052795458f7069"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64e3df5cecd4de1a3d052795458f7069">&#9670;&nbsp;</a></span>ShouldFail()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ShouldFail </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>These methods are only useful for the SWIG wrappers, which need a way to externally cause the <a class="el" href="classoperations__research_1_1_solver.html" title="Solver Class.">Solver</a> to fail. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02980">2980</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a23ac09a78dbd8b39b2f63e9981947788"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23ac09a78dbd8b39b2f63e9981947788">&#9670;&nbsp;</a></span>solutions()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> solutions </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of solutions found since the start of the search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01528">1528</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a5f81409b337b1aeb8488ae9d828e5df9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f81409b337b1aeb8488ae9d828e5df9">&#9670;&nbsp;</a></span>Solve() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Solve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01758">1758</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a946780dfafc8faa3dd2d345850213be5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a946780dfafc8faa3dd2d345850213be5">&#9670;&nbsp;</a></span>Solve() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Solve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>monitors</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Solves the problem using the given <a class="el" href="classoperations__research_1_1_decision_builder.html" title="A DecisionBuilder is responsible for creating the search tree.">DecisionBuilder</a> and returns true if a solution was found and accepted.</p>
<p>These methods are the ones most users should use to search for a solution. Note that the definition of 'solution' is subtle. A solution here is defined as a leaf of the search tree with respect to the given decision builder for which there is no failure. What this means is that, contrary to intuition, a solution may not have all variables of the model bound. It is the responsibility of the decision builder to keep returning decisions until all variables are indeed bound. The most extreme counterexample is calling Solve with a trivial decision builder whose Next() method always returns nullptr. In this case, Solve immediately returns 'true', since not assigning any variable to any value is a solution, unless the root node propagation discovers that the model is infeasible.</p>
<p>This function must be called either from outside of search, or from within the Next() method of a decision builder.</p>
<p>Solve will terminate whenever any of the following event arise:</p><ul>
<li>A search monitor asks the solver to terminate the search by calling solver()-&gt;<a class="el" href="classoperations__research_1_1_solver.html#af62a385d57256e5179b185d003dcfea1" title="Tells the solver to kill or restart the current search.">FinishCurrentSearch()</a>.</li>
<li>A solution is found that is accepted by all search monitors, and none of the search monitors decides to search for another one.</li>
</ul>
<p>Upon search termination, there will be a series of backtracks all the way to the top level. This means that a user cannot expect to inspect the solution by querying variables after a call to <a class="el" href="classoperations__research_1_1_solver.html#a946780dfafc8faa3dd2d345850213be5">Solve()</a>: all the information will be lost. In order to do something with the solution, the user must either:</p>
<ul>
<li>Use a search monitor that can process such a leaf. See, in particular, the <a class="el" href="classoperations__research_1_1_solution_collector.html" title="This class is the root class of all solution collectors.">SolutionCollector</a> class.</li>
<li>Do not use Solve. Instead, use the more fine-grained approach using methods NewSearch(...), <a class="el" href="classoperations__research_1_1_solver.html#ab9b8c3ea993ee19fd9cb68fb3240e09f">NextSolution()</a>, and <a class="el" href="classoperations__research_1_1_solver.html#a3216144f5779ad0022bd7a0421c858d7">EndSearch()</a>.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">db</td><td>The decision builder that will generate the search tree. </td></tr>
<tr><td class="paramname">monitors</td><td>A vector of search monitors that will be notified of various events during the search. In their reaction to these events, such monitors may influence the search. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01791">1791</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a60e6ac9afd6d3ed6a2a2d972165fee1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60e6ac9afd6d3ed6a2a2d972165fee1f">&#9670;&nbsp;</a></span>Solve() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Solve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01752">1752</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a4cc78f60d4b904542e2ce25ba888584e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cc78f60d4b904542e2ce25ba888584e">&#9670;&nbsp;</a></span>Solve() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Solve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01763">1763</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="abcc05bab22581393d783134f7ff98eab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcc05bab22581393d783134f7ff98eab">&#9670;&nbsp;</a></span>Solve() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Solve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01771">1771</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a7b46349056982fe3dcf19d148eec5fcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b46349056982fe3dcf19d148eec5fcb">&#9670;&nbsp;</a></span>Solve() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Solve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m4</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01780">1780</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a0c27e95fb896b9ca243d6ab54da4f7c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c27e95fb896b9ca243d6ab54da4f7c7">&#9670;&nbsp;</a></span>SolveAndCommit() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SolveAndCommit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02383">2383</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a1974d638ba45f2a66ae864e96b766131"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1974d638ba45f2a66ae864e96b766131">&#9670;&nbsp;</a></span>SolveAndCommit() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SolveAndCommit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>monitors</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SolveAndCommit using a decision builder and up to three search monitors, usually one for the objective, one for the limits and one to collect solutions. </p>
<p>The difference between a <a class="el" href="classoperations__research_1_1_solver.html#a1974d638ba45f2a66ae864e96b766131" title="SolveAndCommit using a decision builder and up to three search monitors, usually one for the objectiv...">SolveAndCommit()</a> and a <a class="el" href="classoperations__research_1_1_solver.html#a946780dfafc8faa3dd2d345850213be5">Solve()</a> method call is the fact that SolveAndCommit will not backtrack all modifications at the end of the search. This method is only usable during the Next() method of a decision builder. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02405">2405</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ae7a6f9406ec6be74bf29518190761b08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7a6f9406ec6be74bf29518190761b08">&#9670;&nbsp;</a></span>SolveAndCommit() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SolveAndCommit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02376">2376</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a4aeaec72a903164b4a7935c062e36a09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4aeaec72a903164b4a7935c062e36a09">&#9670;&nbsp;</a></span>SolveAndCommit() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SolveAndCommit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02388">2388</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a19fe8b2c3564ce52e8cb64b8083c2969"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19fe8b2c3564ce52e8cb64b8083c2969">&#9670;&nbsp;</a></span>SolveAndCommit() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SolveAndCommit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const&#160;</td>
<td class="paramname"><em>m3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l02396">2396</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a8d9ad7ab9d335a6284cf55573c1e99a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d9ad7ab9d335a6284cf55573c1e99a1">&#9670;&nbsp;</a></span>SolveDepth()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SolveDepth </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the number of nested searches. </p>
<p>It returns 0 outside search, 1 during the top level search, 2 or more in case of nested searches. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01171">1171</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ad1600fac3a55a9ab4d7b5750b19fb6a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1600fac3a55a9ab4d7b5750b19fb6a1">&#9670;&nbsp;</a></span>stamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#abc0f5bc07737e498f287334775dff2b6">uint64</a> stamp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>The stamp indicates how many moves in the search tree we have performed. </p>
<p>It is useful to detect if we need to update same lazy structures. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01643">1643</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a0094fe4296645dbe40d2c5377772e6eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0094fe4296645dbe40d2c5377772e6eb">&#9670;&nbsp;</a></span>state()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a> state </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>State of the solver. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00952">952</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a4de855c905df4a729715972dc39997a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4de855c905df4a729715972dc39997a4">&#9670;&nbsp;</a></span>TopPeriodicCheck()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void TopPeriodicCheck </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Performs PeriodicCheck on the top-level search; for instance, can be called from a nested solve to check top-level limits. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01542">1542</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="ab003619f8e2f35a1ca01aa7713c674ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab003619f8e2f35a1ca01aa7713c674ea">&#9670;&nbsp;</a></span>TopProgressPercent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int TopProgressPercent </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a percentage representing the propress of the search before reaching the limits of the top-level search (can be called from a nested solve). </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01544">1544</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="a341ffdcad6e944d8dbdda8db7bb85131"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a341ffdcad6e944d8dbdda8db7bb85131">&#9670;&nbsp;</a></span>Try() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * Try </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>dbs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00730">730</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a3ffb0fce7364b43d73556c79ffce1a89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ffb0fce7364b43d73556c79ffce1a89">&#9670;&nbsp;</a></span>Try() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * Try </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a decision builder which will create a search tree where each decision builder is called from the top of the search tree. </p>
<p>For instance the decision builder Try(db1, db2) will entirely explore the search tree of db1 then the one of db2, resulting in the following search tree: Tree root | / \ | db1 tree db2 tree |</p>
<p>This is very handy to try a decision builder which partially explores the search space and if it fails to try another decision builder. "Try"-builders "recursively". For instance, Try(a,b,c,d) will give a tree unbalanced to the right, whereas Try(Try(a,b), Try(b,c)) will give a balanced tree. Investigate if we should only provide the binary version and/or if we should balance automatically. </p>
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00700">700</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="a99e4c78c7b2dc331fbf682f5e158e945"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99e4c78c7b2dc331fbf682f5e158e945">&#9670;&nbsp;</a></span>Try() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * Try </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00708">708</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ab67a32caadf6ffe757ecbefd60b51617"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab67a32caadf6ffe757ecbefd60b51617">&#9670;&nbsp;</a></span>Try() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * Try </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> *const&#160;</td>
<td class="paramname"><em>db4</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="search_8cc_source.html#l00718">718</a> of file <a class="el" href="search_8cc_source.html">search.cc</a>.</p>
</div>
</div>
<a id="ac8c18ef3936527c99953d5e767697f2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8c18ef3936527c99953d5e767697f2c">&#9670;&nbsp;</a></span>unchecked_solutions()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> unchecked_solutions </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of unchecked solutions found by local search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01530">1530</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<a id="aa58a5d8b15333d39678c0d6180c1c0b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa58a5d8b15333d39678c0d6180c1c0b1">&#9670;&nbsp;</a></span>UseFastLocalSearch()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool UseFastLocalSearch </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if fast local search is enabled. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02883">2883</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a80533bb150275c3c1c46e7ee3f31a822"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80533bb150275c3c1c46e7ee3f31a822">&#9670;&nbsp;</a></span>wall_time()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> wall_time </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>DEPRECATED: Use <a class="el" href="classoperations__research_1_1_solver.html#a372a74e1d5fc647d81a043b81075422d" title="The &#39;absolute time&#39; as seen by the solver.">Now()</a> instead. </p>
<p>Time elapsed, in ms since the creation of the solver. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8cc_source.html#l01520">1520</a> of file <a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a280d7e65c4c7bf84c703fab2323aaa63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a280d7e65c4c7bf84c703fab2323aaa63">&#9670;&nbsp;</a></span>kNumPriorities</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr int kNumPriorities = 3</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of priorities for demons. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l00265">265</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a0f3d534acf3ba2602ae56ec4f28ccdd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f3d534acf3ba2602ae56ec4f28ccdd6">&#9670;&nbsp;</a></span>tmp_vector_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&gt; tmp_vector_</td>
</tr>
</table>
</div><div class="memdoc">
<p>Unsafe temporary vector. </p>
<p>It is used to avoid leaks in operations that need storage and that may fail. See <a class="el" href="classoperations__research_1_1_int_var.html#a669d382fc39a7a1f7a3bfdceeaea54a1" title="This method intersects the current domain with the values in the array.">IntVar::SetValues()</a> for instance. It is not locked; do not use in a multi-threaded or reentrant setup. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l02935">2935</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a></li>
<li><a class="el" href="alldiff__cst_8cc_source.html">alldiff_cst.cc</a></li>
<li><a class="el" href="constraint__solver_2assignment_8cc_source.html">constraint_solver/assignment.cc</a></li>
<li><a class="el" href="constraint__solver_8cc_source.html">constraint_solver.cc</a></li>
<li><a class="el" href="constraints_8cc_source.html">constraints.cc</a></li>
<li><a class="el" href="count__cst_8cc_source.html">count_cst.cc</a></li>
<li><a class="el" href="default__search_8cc_source.html">default_search.cc</a></li>
<li><a class="el" href="demon__profiler_8cc_source.html">demon_profiler.cc</a></li>
<li><a class="el" href="deviation_8cc_source.html">deviation.cc</a></li>
<li><a class="el" href="constraint__solver_2diffn_8cc_source.html">constraint_solver/diffn.cc</a></li>
<li><a class="el" href="element_8cc_source.html">element.cc</a></li>
<li><a class="el" href="expr__array_8cc_source.html">expr_array.cc</a></li>
<li><a class="el" href="expr__cst_8cc_source.html">expr_cst.cc</a></li>
<li><a class="el" href="expressions_8cc_source.html">expressions.cc</a></li>
<li><a class="el" href="graph__constraints_8cc_source.html">graph_constraints.cc</a></li>
<li><a class="el" href="interval_8cc_source.html">interval.cc</a></li>
<li><a class="el" href="local__search_8cc_source.html">local_search.cc</a></li>
<li><a class="el" href="model__cache_8cc_source.html">model_cache.cc</a></li>
<li><a class="el" href="pack_8cc_source.html">pack.cc</a></li>
<li><a class="el" href="range__cst_8cc_source.html">range_cst.cc</a></li>
<li><a class="el" href="resource_8cc_source.html">resource.cc</a></li>
<li><a class="el" href="sched__constraints_8cc_source.html">sched_constraints.cc</a></li>
<li><a class="el" href="sched__search_8cc_source.html">sched_search.cc</a></li>
<li><a class="el" href="search_8cc_source.html">search.cc</a></li>
<li><a class="el" href="constraint__solver_2table_8cc_source.html">constraint_solver/table.cc</a></li>
<li><a class="el" href="timetabling_8cc_source.html">timetabling.cc</a></li>
<li><a class="el" href="trace_8cc_source.html">trace.cc</a></li>
<li><a class="el" href="utilities_8cc_source.html">utilities.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.18-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1_solver.html">Solver</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.20 </li>
</ul>
</div>
</body>
</html>