Files
ortools-clone/docs/cpp_sat/cp__model_8h.html
2019-06-13 15:51:12 +02:00

194 lines
20 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<link rel="stylesheet" type="text/css" href="doxygen.css" title="default" media="screen,print" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">OR-Tools 7.1@</span>
</div>
</div>
<div id="content">
<!-- Generated by Doxygen 1.8.15 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<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> </ul>
</div>
</div><!-- top -->
<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.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;string&gt;</code><br />
<code>#include &quot;absl/container/flat_hash_map.h&quot;</code><br />
<code>#include &quot;absl/types/span.h&quot;</code><br />
<code>#include &quot;<a class="el" href="cp__model_8pb_8h_source.html">ortools/sat/cp_model.pb.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="cp__model__solver_8h_source.html">ortools/sat/cp_model_solver.h</a>&quot;</code><br />
<code>#include &quot;ortools/sat/cp_model_utils.h&quot;</code><br />
<code>#include &quot;<a class="el" href="model_8h_source.html">ortools/sat/model.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="sat__parameters_8pb_8h_source.html">ortools/sat/sat_parameters.pb.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="sorted__interval__list_8h_source.html">ortools/util/sorted_interval_list.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for cp_model.h:</div>
<div class="dyncontent">
<div class="center"><img src="cp__model_8h__incl.png" border="0" usemap="#cp__model_8h" alt=""/></div>
<map name="cp__model_8h" id="cp__model_8h">
<area shape="rect" title=" " alt="" coords="3912,5,4002,31"/>
<area shape="rect" title=" " alt="" coords="2758,259,2812,284"/>
<area shape="rect" title=" " alt="" coords="4019,79,4145,117"/>
<area shape="rect" title=" " alt="" coords="3337,172,3462,197"/>
<area shape="rect" href="cp__model_8pb_8h.html" title=" " alt="" coords="1557,172,1731,197"/>
<area shape="rect" href="cp__model__solver_8h.html" title=" " alt="" coords="2935,79,3080,117"/>
<area shape="rect" title=" " alt="" coords="2836,259,2915,284"/>
<area shape="rect" title=" " alt="" coords="3544,259,3602,284"/>
<area shape="rect" title=" " alt="" coords="3172,165,3313,204"/>
<area shape="rect" href="model_8h.html" title=" " alt="" coords="2963,172,3097,197"/>
<area shape="rect" title=" " alt="" coords="3653,259,3805,284"/>
<area shape="rect" title=" " alt="" coords="3881,259,4033,284"/>
<area shape="rect" href="sat__parameters_8pb_8h.html" title=" " alt="" coords="1755,172,1964,197"/>
<area shape="rect" title=" " alt="" coords="4170,85,4229,111"/>
<area shape="rect" title=" " alt="" coords="3771,172,3844,197"/>
<area shape="rect" title=" " alt="" coords="4254,85,4318,111"/>
<area shape="rect" title=" " alt="" coords="4342,85,4446,111"/>
<area shape="rect" title=" " alt="" coords="4470,85,4529,111"/>
<area shape="rect" title=" " alt="" coords="4554,85,4605,111"/>
<area shape="rect" title=" " alt="" coords="4630,79,4774,117"/>
<area shape="rect" title=" " alt="" coords="4799,85,4875,111"/>
<area shape="rect" title=" " alt="" coords="4899,79,5025,117"/>
<area shape="rect" title=" " alt="" coords="5049,85,5223,111"/>
<area shape="rect" title=" " alt="" coords="5246,79,5369,117"/>
<area shape="rect" href="sorted__interval__list_8h.html" title=" " alt="" coords="3473,79,3596,117"/>
<area shape="rect" title=" " alt="" coords="1794,259,1845,284"/>
<area shape="rect" title=" " alt="" coords="1869,252,2010,291"/>
<area shape="rect" title=" " alt="" coords="2035,252,2175,291"/>
<area shape="rect" title=" " alt="" coords="2200,252,2328,291"/>
<area shape="rect" title=" " alt="" coords="2351,259,2514,284"/>
<area shape="rect" title=" " alt="" coords="2538,259,2733,284"/>
<area shape="rect" title=" " alt="" coords="5,252,183,291"/>
<area shape="rect" title=" " alt="" coords="207,252,384,291"/>
<area shape="rect" title=" " alt="" coords="408,252,564,291"/>
<area shape="rect" title=" " alt="" coords="589,259,773,284"/>
<area shape="rect" title=" " alt="" coords="797,259,980,284"/>
<area shape="rect" title=" " alt="" coords="1004,252,1174,291"/>
<area shape="rect" title=" " alt="" coords="1197,252,1372,291"/>
<area shape="rect" title=" " alt="" coords="1396,252,1574,291"/>
<area shape="rect" title=" " alt="" coords="1598,252,1769,291"/>
<area shape="rect" title=" " alt="" coords="3107,259,3172,284"/>
<area shape="rect" title=" " alt="" coords="3196,259,3243,284"/>
<area shape="rect" title=" " alt="" coords="3267,259,3337,284"/>
<area shape="rect" title=" " alt="" coords="3361,259,3520,284"/>
<area shape="rect" title=" " alt="" coords="2939,259,3084,284"/>
<area shape="rect" title=" " alt="" coords="3487,172,3526,197"/>
<area shape="rect" title=" " alt="" coords="3601,165,3748,204"/>
</map>
</div>
</div>
<p><a href="cp__model_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BoolVar.html">operations_research::sat::BoolVar</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean variable. <a href="classoperations__research_1_1sat_1_1BoolVar.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1IntVar.html">operations_research::sat::IntVar</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integer variable. <a href="classoperations__research_1_1sat_1_1IntVar.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1LinearExpr.html">operations_research::sat::LinearExpr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A dedicated container for linear expressions. <a href="classoperations__research_1_1sat_1_1LinearExpr.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1IntervalVar.html">operations_research::sat::IntervalVar</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a Interval variable. <a href="classoperations__research_1_1sat_1_1IntervalVar.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1Constraint.html">operations_research::sat::Constraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A constraint. <a href="classoperations__research_1_1sat_1_1Constraint.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1CircuitConstraint.html">operations_research::sat::CircuitConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized circuit constraint. <a href="classoperations__research_1_1sat_1_1CircuitConstraint.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1TableConstraint.html">operations_research::sat::TableConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized assignment constraint. <a href="classoperations__research_1_1sat_1_1TableConstraint.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1ReservoirConstraint.html">operations_research::sat::ReservoirConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized reservoir constraint. <a href="classoperations__research_1_1sat_1_1ReservoirConstraint.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1AutomatonConstraint.html">operations_research::sat::AutomatonConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized automaton constraint. <a href="classoperations__research_1_1sat_1_1AutomatonConstraint.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1NoOverlap2DConstraint.html">operations_research::sat::NoOverlap2DConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized no_overlap2D constraint. <a href="classoperations__research_1_1sat_1_1NoOverlap2DConstraint.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1CumulativeConstraint.html">operations_research::sat::CumulativeConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized cumulative constraint. <a href="classoperations__research_1_1sat_1_1CumulativeConstraint.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1CpModelBuilder.html">operations_research::sat::CpModelBuilder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper class around the cp_model proto. <a href="classoperations__research_1_1sat_1_1CpModelBuilder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem: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">Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. <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:a9c0ae0d048a431656985fc79428bbe67"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a9c0ae0d048a431656985fc79428bbe67">operations_research::sat::operator&lt;&lt;</a> (std::ostream &amp;os, const BoolVar &amp;var)</td></tr>
<tr class="separator:a9c0ae0d048a431656985fc79428bbe67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e3de118c1f8dd5a7ec21704e05684b9"><td class="memItemLeft" align="right" valign="top">BoolVar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a5e3de118c1f8dd5a7ec21704e05684b9">operations_research::sat::Not</a> (BoolVar x)</td></tr>
<tr class="memdesc:a5e3de118c1f8dd5a7ec21704e05684b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">A convenient wrapper so we can write Not(x) instead of <a class="el" href="namespaceoperations__research_1_1sat.html#a5e3de118c1f8dd5a7ec21704e05684b9" title="A convenient wrapper so we can write Not(x) instead of x.Not() which is sometimes clearer.">x.Not()</a> which is sometimes clearer. <a href="namespaceoperations__research_1_1sat.html#a5e3de118c1f8dd5a7ec21704e05684b9">More...</a><br /></td></tr>
<tr class="separator:a5e3de118c1f8dd5a7ec21704e05684b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57b8aabbc5b3c1d177d35b3ebcf9b5fa"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a57b8aabbc5b3c1d177d35b3ebcf9b5fa">operations_research::sat::operator&lt;&lt;</a> (std::ostream &amp;os, const IntVar &amp;var)</td></tr>
<tr class="separator:a57b8aabbc5b3c1d177d35b3ebcf9b5fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9f86b31794751c624a783d15306280c"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#ae9f86b31794751c624a783d15306280c">operations_research::sat::operator&lt;&lt;</a> (std::ostream &amp;os, const IntervalVar &amp;var)</td></tr>
<tr class="separator:ae9f86b31794751c624a783d15306280c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaed9bdf2a27bb778ba397666cb874d7"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#aeaed9bdf2a27bb778ba397666cb874d7">operations_research::sat::SolutionIntegerValue</a> (const CpSolverResponse &amp;r, const LinearExpr &amp;expr)</td></tr>
<tr class="memdesc:aeaed9bdf2a27bb778ba397666cb874d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the value of an linear expression in a solver response. <a href="namespaceoperations__research_1_1sat.html#aeaed9bdf2a27bb778ba397666cb874d7">More...</a><br /></td></tr>
<tr class="separator:aeaed9bdf2a27bb778ba397666cb874d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a671200a31003492dbef21f2b4ee3dcbd"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a671200a31003492dbef21f2b4ee3dcbd">operations_research::sat::SolutionIntegerMin</a> (const CpSolverResponse &amp;r, IntVar x)</td></tr>
<tr class="memdesc:a671200a31003492dbef21f2b4ee3dcbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the min of an integer variable in a solution. <a href="namespaceoperations__research_1_1sat.html#a671200a31003492dbef21f2b4ee3dcbd">More...</a><br /></td></tr>
<tr class="separator:a671200a31003492dbef21f2b4ee3dcbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ec893fa736de5b95135ecb9314ee6d8"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a8ec893fa736de5b95135ecb9314ee6d8">operations_research::sat::SolutionIntegerMax</a> (const CpSolverResponse &amp;r, IntVar x)</td></tr>
<tr class="memdesc:a8ec893fa736de5b95135ecb9314ee6d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the max of an integer variable in a solution. <a href="namespaceoperations__research_1_1sat.html#a8ec893fa736de5b95135ecb9314ee6d8">More...</a><br /></td></tr>
<tr class="separator:a8ec893fa736de5b95135ecb9314ee6d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa415e372a9d64eede869ed98666c29c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#afa415e372a9d64eede869ed98666c29c">operations_research::sat::SolutionBooleanValue</a> (const CpSolverResponse &amp;r, BoolVar x)</td></tr>
<tr class="memdesc:afa415e372a9d64eede869ed98666c29c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of a Boolean literal (a Boolean variable or its negation) in a solver response. <a href="namespaceoperations__research_1_1sat.html#afa415e372a9d64eede869ed98666c29c">More...</a><br /></td></tr>
<tr class="separator:afa415e372a9d64eede869ed98666c29c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>