Files
ortools-clone/docs/cpp/cp__model__solver_8cc.html
2021-02-26 14:48:18 +01:00

705 lines
38 KiB
HTML

<!-- 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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OR-Tools: cp_model_solver.cc File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<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.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<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','.html');
/* @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('cp__model__solver_8cc.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="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">cp_model_solver.cc File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="cp__model__solver_8cc_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1sat_1_1_solution_observers.html">SolutionObservers</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceoperations__research"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html">operations_research</a></td></tr>
<tr class="memdesc:namespaceoperations__research"><td class="mdescLeft">&#160;</td><td class="mdescRight">The vehicle routing library lets one model and solve generic vehicle routing problems ranging from the Traveling Salesman Problem to more complex problems such as the Capacitated Vehicle Routing Problem with Time Windows. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespaceoperations__research_1_1sat"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html">operations_research::sat</a></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="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa6b6aa5316ec3a7e0c3ca010c084a747"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cp__model__solver_8cc.html#aa6b6aa5316ec3a7e0c3ca010c084a747">ABSL_FLAG</a> (std::string, cp_model_dump_prefix, &quot;/tmp/&quot;, &quot;Prefix filename for all dumped files&quot;)</td></tr>
<tr class="separator:aa6b6aa5316ec3a7e0c3ca010c084a747"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a876b63c00524a5578afbf691be5ad9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cp__model__solver_8cc.html#a1a876b63c00524a5578afbf691be5ad9">ABSL_FLAG</a> (bool, cp_model_dump_models, false, &quot;DEBUG ONLY. When set to true, SolveCpModel() will dump its <a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a> &quot; &quot;protos (original <a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>, presolved <a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>, mapping <a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>) in text &quot; &quot;format to 'FLAGS_cp_model_dump_prefix'{<a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>|presolved_model|&quot; &quot;mapping_model}.pbtxt.&quot;)</td></tr>
<tr class="separator:a1a876b63c00524a5578afbf691be5ad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade24f3a5e6e72d4ce785a0e4bc1ac9c1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cp__model__solver_8cc.html#ade24f3a5e6e72d4ce785a0e4bc1ac9c1">ABSL_FLAG</a> (bool, cp_model_dump_lns, false, &quot;DEBUG ONLY. When set to true, solve will dump all &quot; &quot;lns models <a class="el" href="cp__model__fz__solver_8cc.html#aed003f5eb5197bc586b7ef2c36a63da2">proto</a> in text format to &quot; &quot;'FLAGS_cp_model_dump_prefix'lns_xxx.pbtxt.&quot;)</td></tr>
<tr class="separator:ade24f3a5e6e72d4ce785a0e4bc1ac9c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1edec8c4b93640864fb848e4c7501e52"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cp__model__solver_8cc.html#a1edec8c4b93640864fb848e4c7501e52">ABSL_FLAG</a> (bool, cp_model_dump_response, false, &quot;DEBUG ONLY. If true, the final <a class="el" href="cp__model__solver_8cc.html#abcd33b18ce6d5a90a4ba5c37cfa58829">response</a> of each solve will be &quot; &quot;dumped to 'FLAGS_cp_model_dump_prefix'response.pbtxt&quot;)</td></tr>
<tr class="separator:a1edec8c4b93640864fb848e4c7501e52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a335160e182a5699147bb9514356c7eb8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cp__model__solver_8cc.html#a335160e182a5699147bb9514356c7eb8">ABSL_FLAG</a> (std::string, cp_model_params, &quot;&quot;, &quot;This is interpreted as <a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a> text SatParameters proto. The &quot; &quot;specified fields will override the normal ones for all solves.&quot;)</td></tr>
<tr class="separator:a335160e182a5699147bb9514356c7eb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73c8968cf0877bf8947b93c2889c280a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cp__model__solver_8cc.html#a73c8968cf0877bf8947b93c2889c280a">ABSL_FLAG</a> (std::string, drat_output, &quot;&quot;, &quot;If non-empty, <a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a> proof in DRAT format will be written to this file. &quot; &quot;This will only be used for pure-SAT problems.&quot;)</td></tr>
<tr class="separator:a73c8968cf0877bf8947b93c2889c280a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a858fff11042fe8116cbe8d4247de69c3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cp__model__solver_8cc.html#a858fff11042fe8116cbe8d4247de69c3">ABSL_FLAG</a> (bool, drat_check, false, &quot;If true, <a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a> proof in DRAT format will be stored in memory and &quot; &quot;checked <a class="el" href="parser_8yy_8cc.html#a33e91cd0cef6786e9e3a27ac67707207">if</a> the problem is UNSAT. This will only be used for &quot; &quot;pure-SAT problems.&quot;)</td></tr>
<tr class="separator:a858fff11042fe8116cbe8d4247de69c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aab1846f5aa2cda3749adb20a0e7c7b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cp__model__solver_8cc.html#a9aab1846f5aa2cda3749adb20a0e7c7b">ABSL_FLAG</a> (double, max_drat_time_in_seconds, std::numeric_limits&lt; double &gt;::infinity(), &quot;Maximum <a class="el" href="resource_8cc.html#a13421db7d7e84fff732599bcf954c5cc">time</a> in seconds to check the DRAT proof. This will only &quot; &quot;be used is the drat_check flag is enabled.&quot;)</td></tr>
<tr class="separator:a9aab1846f5aa2cda3749adb20a0e7c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7d4011427b402d43eb77b73566ea4ac"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cp__model__solver_8cc.html#ad7d4011427b402d43eb77b73566ea4ac">ABSL_FLAG</a> (bool, cp_model_check_intermediate_solutions, false, &quot;When true, all intermediate solutions found by the solver will be &quot; &quot;checked. This can be expensive, therefore it is off by default.&quot;)</td></tr>
<tr class="separator:ad7d4011427b402d43eb77b73566ea4ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d2f0d4258ace84d7ddf7e886c72b913"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a9d2f0d4258ace84d7ddf7e886c72b913">CpModelStats</a> (const CpModelProto &amp;<a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>)</td></tr>
<tr class="memdesc:a9d2f0d4258ace84d7ddf7e886c72b913"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string with some statistics on the given CpModelProto. <a href="namespaceoperations__research_1_1sat.html#a9d2f0d4258ace84d7ddf7e886c72b913">More...</a><br /></td></tr>
<tr class="separator:a9d2f0d4258ace84d7ddf7e886c72b913"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b192124133b53f1445f7f6d4708b332"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a1b192124133b53f1445f7f6d4708b332">CpSolverResponseStats</a> (const CpSolverResponse &amp;<a class="el" href="cp__model__solver_8cc.html#abcd33b18ce6d5a90a4ba5c37cfa58829">response</a>, bool has_objective=true)</td></tr>
<tr class="memdesc:a1b192124133b53f1445f7f6d4708b332"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string with some statistics on the solver response. <a href="namespaceoperations__research_1_1sat.html#a1b192124133b53f1445f7f6d4708b332">More...</a><br /></td></tr>
<tr class="separator:a1b192124133b53f1445f7f6d4708b332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a9777d760241f28010442a2c01f45e0"><td class="memItemLeft" align="right" valign="top">std::function&lt; void(Model *)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a0a9777d760241f28010442a2c01f45e0">NewFeasibleSolutionObserver</a> (const std::function&lt; void(const CpSolverResponse &amp;<a class="el" href="cp__model__solver_8cc.html#abcd33b18ce6d5a90a4ba5c37cfa58829">response</a>)&gt; &amp;observer)</td></tr>
<tr class="memdesc:a0a9777d760241f28010442a2c01f45e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a solution observer with the model with model.Add(NewFeasibleSolutionObserver([](response){...}));. <a href="namespaceoperations__research_1_1sat.html#a0a9777d760241f28010442a2c01f45e0">More...</a><br /></td></tr>
<tr class="separator:a0a9777d760241f28010442a2c01f45e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1684fe34484d78336d3cdac55ec6de57"><td class="memItemLeft" align="right" valign="top">std::function&lt; SatParameters(Model *)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a1684fe34484d78336d3cdac55ec6de57">NewSatParameters</a> (const std::string &amp;params)</td></tr>
<tr class="memdesc:a1684fe34484d78336d3cdac55ec6de57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates parameters for the solver, which you can add to the model with. <a href="namespaceoperations__research_1_1sat.html#a1684fe34484d78336d3cdac55ec6de57">More...</a><br /></td></tr>
<tr class="separator:a1684fe34484d78336d3cdac55ec6de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f00d75ae108649f48e37369884a6201"><td class="memItemLeft" align="right" valign="top">std::function&lt; SatParameters(Model *)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a8f00d75ae108649f48e37369884a6201">NewSatParameters</a> (const sat::SatParameters &amp;<a class="el" href="cp__model__fz__solver_8cc.html#a10a1eab179b472c030bdc2a2efef7219">parameters</a>)</td></tr>
<tr class="separator:a8f00d75ae108649f48e37369884a6201"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9299de04255b99318446500127d79e1"><td class="memItemLeft" align="right" valign="top">CpSolverResponse&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#aa9299de04255b99318446500127d79e1">SolveCpModel</a> (const CpModelProto &amp;<a class="el" href="cp__model__solver_8cc.html#a6ac76d8a372013f67c4973012948ec84">model_proto</a>, Model *<a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>)</td></tr>
<tr class="memdesc:aa9299de04255b99318446500127d79e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solves the given CpModelProto. <a href="namespaceoperations__research_1_1sat.html#aa9299de04255b99318446500127d79e1">More...</a><br /></td></tr>
<tr class="separator:aa9299de04255b99318446500127d79e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af904018d9a1c9983624b1ce0331f2bf5"><td class="memItemLeft" align="right" valign="top">CpSolverResponse&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#af904018d9a1c9983624b1ce0331f2bf5">Solve</a> (const CpModelProto &amp;<a class="el" href="cp__model__solver_8cc.html#a6ac76d8a372013f67c4973012948ec84">model_proto</a>)</td></tr>
<tr class="memdesc:af904018d9a1c9983624b1ce0331f2bf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solves the given CpModelProto and returns an instance of CpSolverResponse. <a href="namespaceoperations__research_1_1sat.html#af904018d9a1c9983624b1ce0331f2bf5">More...</a><br /></td></tr>
<tr class="separator:af904018d9a1c9983624b1ce0331f2bf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af614bdef2c50e3b9d5806e32ec7ef4b2"><td class="memItemLeft" align="right" valign="top">CpSolverResponse&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#af614bdef2c50e3b9d5806e32ec7ef4b2">SolveWithParameters</a> (const CpModelProto &amp;<a class="el" href="cp__model__solver_8cc.html#a6ac76d8a372013f67c4973012948ec84">model_proto</a>, const SatParameters &amp;params)</td></tr>
<tr class="memdesc:af614bdef2c50e3b9d5806e32ec7ef4b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solves the given CpModelProto with the given parameters. <a href="namespaceoperations__research_1_1sat.html#af614bdef2c50e3b9d5806e32ec7ef4b2">More...</a><br /></td></tr>
<tr class="separator:af614bdef2c50e3b9d5806e32ec7ef4b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a291dbf6ff50fbc06e1e8cd27b2cc1b23"><td class="memItemLeft" align="right" valign="top">CpSolverResponse&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a291dbf6ff50fbc06e1e8cd27b2cc1b23">SolveWithParameters</a> (const CpModelProto &amp;<a class="el" href="cp__model__solver_8cc.html#a6ac76d8a372013f67c4973012948ec84">model_proto</a>, const std::string &amp;params)</td></tr>
<tr class="memdesc:a291dbf6ff50fbc06e1e8cd27b2cc1b23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solves the given CpModelProto with the given sat parameters as string in JSon format, and returns an instance of CpSolverResponse. <a href="namespaceoperations__research_1_1sat.html#a291dbf6ff50fbc06e1e8cd27b2cc1b23">More...</a><br /></td></tr>
<tr class="separator:a291dbf6ff50fbc06e1e8cd27b2cc1b23"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ad7d4011427b402d43eb77b73566ea4ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7d4011427b402d43eb77b73566ea4ac">&#9670;&nbsp;</a></span>ABSL_FLAG() <span class="overload">[1/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_FLAG </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cp_model_check_intermediate_solutions&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">false&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;When&#160;</td>
<td class="paramname"><em>true</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">all intermediate solutions found by the solver will be &quot; &quot;checked. This can be&#160;</td>
<td class="paramname"><em>expensive</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">therefore it is off by default.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ade24f3a5e6e72d4ce785a0e4bc1ac9c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade24f3a5e6e72d4ce785a0e4bc1ac9c1">&#9670;&nbsp;</a></span>ABSL_FLAG() <span class="overload">[2/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_FLAG </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cp_model_dump_lns&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">false&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;DEBUG ONLY. When set to&#160;</td>
<td class="paramname"><em>true</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">solve will dump all &quot; &quot;lns models <a class="el" href="cp__model__fz__solver_8cc.html#aed003f5eb5197bc586b7ef2c36a63da2">proto</a> in text format to &quot; &quot; 'FLAGS_cp_model_dump_prefix 'lns_xxx.pbtxt.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1a876b63c00524a5578afbf691be5ad9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a876b63c00524a5578afbf691be5ad9">&#9670;&nbsp;</a></span>ABSL_FLAG() <span class="overload">[3/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_FLAG </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cp_model_dump_models&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">false&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;DEBUG ONLY. When set to&#160;</td>
<td class="paramname"><em>true</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SolveCpModel() will dump its <a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a> &quot; &quot;protos(original <a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>, presolved <a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>, mapping <a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>) in text &quot; &quot;format to 'FLAGS_cp_model_dump_prefix'{<a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>|presolved_model|&quot; &quot;mapping_model}.pbtxt.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1edec8c4b93640864fb848e4c7501e52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1edec8c4b93640864fb848e4c7501e52">&#9670;&nbsp;</a></span>ABSL_FLAG() <span class="overload">[4/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_FLAG </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cp_model_dump_response&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">false&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;DEBUG ONLY. If&#160;</td>
<td class="paramname"><em>true</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">the final <a class="el" href="cp__model__solver_8cc.html#abcd33b18ce6d5a90a4ba5c37cfa58829">response</a> of each solve will be &quot; &quot;dumped to 'FLAGS_cp_model_dump_prefix 'response.pbtxt&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a858fff11042fe8116cbe8d4247de69c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a858fff11042fe8116cbe8d4247de69c3">&#9670;&nbsp;</a></span>ABSL_FLAG() <span class="overload">[5/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_FLAG </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">drat_check&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">false&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;If&#160;</td>
<td class="paramname"><em>true</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a> proof in DRAT format will be stored in memory and &quot; &quot;checked <a class="el" href="parser_8yy_8cc.html#a33e91cd0cef6786e9e3a27ac67707207">if</a> the problem is UNSAT. This will only be used for &quot; &quot;pure-SAT problems.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9aab1846f5aa2cda3749adb20a0e7c7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9aab1846f5aa2cda3749adb20a0e7c7b">&#9670;&nbsp;</a></span>ABSL_FLAG() <span class="overload">[6/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_FLAG </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">max_drat_time_in_seconds&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::numeric_limits&lt; double &gt;&#160;</td>
<td class="paramname"><em>::infinity</em>(), </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;Maximum <a class="el" href="resource_8cc.html#a13421db7d7e84fff732599bcf954c5cc">time</a> in seconds to check the DRAT proof. This will only &quot; &quot;be used is the drat_check flag is enabled.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa6b6aa5316ec3a7e0c3ca010c084a747"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6b6aa5316ec3a7e0c3ca010c084a747">&#9670;&nbsp;</a></span>ABSL_FLAG() <span class="overload">[7/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_FLAG </td>
<td>(</td>
<td class="paramtype">std::string&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cp_model_dump_prefix&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;/tmp/&quot;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;Prefix filename for all dumped files&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a335160e182a5699147bb9514356c7eb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a335160e182a5699147bb9514356c7eb8">&#9670;&nbsp;</a></span>ABSL_FLAG() <span class="overload">[8/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_FLAG </td>
<td>(</td>
<td class="paramtype">std::string&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cp_model_params&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;&quot;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;This is interpreted as <a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a> text SatParameters proto. The &quot; &quot;specified fields will override the normal ones for all solves.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a73c8968cf0877bf8947b93c2889c280a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73c8968cf0877bf8947b93c2889c280a">&#9670;&nbsp;</a></span>ABSL_FLAG() <span class="overload">[9/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_FLAG </td>
<td>(</td>
<td class="paramtype">std::string&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">drat_output&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;&quot;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;If non-&#160;</td>
<td class="paramname"><em>empty</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a> proof in DRAT format will be written to this file. &quot; &quot;This will only be used for pure-SAT problems.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a06dad0852d85b0686e01c084207c03a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06dad0852d85b0686e01c084207c03a7">&#9670;&nbsp;</a></span>bounds</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SharedBoundsManager* bounds</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model__solver_8cc_source.html#l02117">2117</a> of file <a class="el" href="cp__model__solver_8cc_source.html">cp_model_solver.cc</a>.</p>
</div>
</div>
<a id="a6bc4d701f71d498e82a3d45adde9a2e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bc4d701f71d498e82a3d45adde9a2e4">&#9670;&nbsp;</a></span>incomplete_solutions</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SharedIncompleteSolutionManager* incomplete_solutions</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model__solver_8cc_source.html#l02121">2121</a> of file <a class="el" href="cp__model__solver_8cc_source.html">cp_model_solver.cc</a>.</p>
</div>
</div>
<a id="a5c52f4ef9698913ed16c67a4a6cec606"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c52f4ef9698913ed16c67a4a6cec606">&#9670;&nbsp;</a></span>lp_solutions</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SharedLPSolutionRepository* lp_solutions</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model__solver_8cc_source.html#l02120">2120</a> of file <a class="el" href="cp__model__solver_8cc_source.html">cp_model_solver.cc</a>.</p>
</div>
</div>
<a id="a6ac76d8a372013f67c4973012948ec84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ac76d8a372013f67c4973012948ec84">&#9670;&nbsp;</a></span>model_proto</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CpModelProto const* model_proto</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model__solver_8cc_source.html#l02114">2114</a> of file <a class="el" href="cp__model__solver_8cc_source.html">cp_model_solver.cc</a>.</p>
</div>
</div>
<a id="a2a2278bd1fb787198e496b7d443a05e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a2278bd1fb787198e496b7d443a05e8">&#9670;&nbsp;</a></span>relaxation_solutions</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SharedRelaxationSolutionRepository* relaxation_solutions</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model__solver_8cc_source.html#l02119">2119</a> of file <a class="el" href="cp__model__solver_8cc_source.html">cp_model_solver.cc</a>.</p>
</div>
</div>
<a id="abcd33b18ce6d5a90a4ba5c37cfa58829"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcd33b18ce6d5a90a4ba5c37cfa58829">&#9670;&nbsp;</a></span>response</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SharedResponseManager* response</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model__solver_8cc_source.html#l02118">2118</a> of file <a class="el" href="cp__model__solver_8cc_source.html">cp_model_solver.cc</a>.</p>
</div>
</div>
<a id="ac3cf9db02b23ea1455b5ae6955d03e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3cf9db02b23ea1455b5ae6955d03e47">&#9670;&nbsp;</a></span>time_limit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SharedTimeLimit* time_limit</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model__solver_8cc_source.html#l02116">2116</a> of file <a class="el" href="cp__model__solver_8cc_source.html">cp_model_solver.cc</a>.</p>
</div>
</div>
<a id="ace0951799e72ee99fc07d5e509bc7cbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace0951799e72ee99fc07d5e509bc7cbf">&#9670;&nbsp;</a></span>wall_timer</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_wall_timer.html">WallTimer</a>* wall_timer</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model__solver_8cc_source.html#l02115">2115</a> of file <a class="el" href="cp__model__solver_8cc_source.html">cp_model_solver.cc</a>.</p>
</div>
</div>
</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="dir_a7cc1eeded8f693d0da6c729bc88c45a.html">ortools</a></li><li class="navelem"><a class="el" href="dir_dddac007a45022d9da6ea1dee012c3b9.html">sat</a></li><li class="navelem"><a class="el" href="cp__model__solver_8cc.html">cp_model_solver.cc</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.9.1 </li>
</ul>
</div>
</body>
</html>