1454 lines
74 KiB
HTML
1454 lines
74 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>OR-Tools</title>
|
|
<meta http-equiv="Content-Type" content="text/html;"/>
|
|
<meta charset="utf-8"/>
|
|
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
|
|
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="banner-container">
|
|
<div id="banner">
|
|
<span id="sfml">Google OR-Tools 7.5</span>
|
|
</div>
|
|
</div>
|
|
<div id="content" style="width: 100%; overflow: hidden;">
|
|
<div style="margin-left: 15px; margin-top: 5px; float: left; color: #145A32;">
|
|
<h2>C++ Reference</h2>
|
|
<ul>
|
|
<li><a href="../cpp_algorithms/annotated.html">Algorithms</a></li>
|
|
<li><a href="../cpp_sat/annotated.html">CP-SAT</a></li>
|
|
<li><a href="../cpp_graph/annotated.html">Graph</a></li>
|
|
<li><a href="../cpp_routing/annotated.html">Routing</a></li>
|
|
<li><a href="../cpp_linear/annotated.html">Linear solver</a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="content">
|
|
<div align="center">
|
|
<h1 style="color: #145A32;">C++ Reference: Routing</h1>
|
|
</div>
|
|
<!-- Generated by Doxygen 1.8.18 -->
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1Pack.html">Pack</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="classoperations__research_1_1Pack-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">Pack</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock">
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l05145">5145</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="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a3faa7bb8c3804bc2c19b0c9c51fb3663"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a3faa7bb8c3804bc2c19b0c9c51fb3663">Pack</a> (<a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const s, const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > &vars, int number_of_bins)</td></tr>
|
|
<tr class="separator:a3faa7bb8c3804bc2c19b0c9c51fb3663"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6feb8bb936fa7469982badd222c6e952"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a6feb8bb936fa7469982badd222c6e952">~Pack</a> () override</td></tr>
|
|
<tr class="separator:a6feb8bb936fa7469982badd222c6e952"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af1f5233fe432bbd1fea571ac4131007c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#af1f5233fe432bbd1fea571ac4131007c">AddWeightedSumLessOrEqualConstantDimension</a> (const std::vector< int64 > &weights, const std::vector< int64 > &bounds)</td></tr>
|
|
<tr class="memdesc:af1f5233fe432bbd1fea571ac4131007c"><td class="mdescLeft"> </td><td class="mdescRight">Dimensions are additional constraints than can restrict what is possible with the pack constraint. <a href="classoperations__research_1_1Pack.html#af1f5233fe432bbd1fea571ac4131007c">More...</a><br /></td></tr>
|
|
<tr class="separator:af1f5233fe432bbd1fea571ac4131007c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4f981ccde6b20de4f27fbeb9d15e8623"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a4f981ccde6b20de4f27fbeb9d15e8623">AddWeightedSumLessOrEqualConstantDimension</a> (<a class="el" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a> weights, const std::vector< int64 > &bounds)</td></tr>
|
|
<tr class="memdesc:a4f981ccde6b20de4f27fbeb9d15e8623"><td class="mdescLeft"> </td><td class="mdescRight">This dimension imposes that for all bins b, the weighted sum (weights->Run(i)) of all objects i assigned to 'b' is less or equal to 'bounds[b]'. <a href="classoperations__research_1_1Pack.html#a4f981ccde6b20de4f27fbeb9d15e8623">More...</a><br /></td></tr>
|
|
<tr class="separator:a4f981ccde6b20de4f27fbeb9d15e8623"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aff830cb111951824bd4c72ddd6d4db6b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#aff830cb111951824bd4c72ddd6d4db6b">AddWeightedSumLessOrEqualConstantDimension</a> (<a class="el" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a> weights, const std::vector< int64 > &bounds)</td></tr>
|
|
<tr class="memdesc:aff830cb111951824bd4c72ddd6d4db6b"><td class="mdescLeft"> </td><td class="mdescRight">This dimension imposes that for all bins b, the weighted sum (weights->Run(i, b) of all objects i assigned to 'b' is less or equal to 'bounds[b]'. <a href="classoperations__research_1_1Pack.html#aff830cb111951824bd4c72ddd6d4db6b">More...</a><br /></td></tr>
|
|
<tr class="separator:aff830cb111951824bd4c72ddd6d4db6b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5549bd43ea2777cc9f0f3e4da3a87cdd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a5549bd43ea2777cc9f0f3e4da3a87cdd">AddWeightedSumEqualVarDimension</a> (const std::vector< int64 > &weights, const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > &loads)</td></tr>
|
|
<tr class="memdesc:a5549bd43ea2777cc9f0f3e4da3a87cdd"><td class="mdescLeft"> </td><td class="mdescRight">This dimension imposes that for all bins b, the weighted sum (weights[i]) of all objects i assigned to 'b' is equal to loads[b]. <a href="classoperations__research_1_1Pack.html#a5549bd43ea2777cc9f0f3e4da3a87cdd">More...</a><br /></td></tr>
|
|
<tr class="separator:a5549bd43ea2777cc9f0f3e4da3a87cdd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a392a263cbc46d6cf18741970fe17c1e6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a392a263cbc46d6cf18741970fe17c1e6">AddWeightedSumEqualVarDimension</a> (<a class="el" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a> weights, const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > &loads)</td></tr>
|
|
<tr class="memdesc:a392a263cbc46d6cf18741970fe17c1e6"><td class="mdescLeft"> </td><td class="mdescRight">This dimension imposes that for all bins b, the weighted sum (weights->Run(i, b)) of all objects i assigned to 'b' is equal to loads[b]. <a href="classoperations__research_1_1Pack.html#a392a263cbc46d6cf18741970fe17c1e6">More...</a><br /></td></tr>
|
|
<tr class="separator:a392a263cbc46d6cf18741970fe17c1e6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9a5ab9fb129f8b45255d5fbed741d2b2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a9a5ab9fb129f8b45255d5fbed741d2b2">AddSumVariableWeightsLessOrEqualConstantDimension</a> (const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > &usage, const std::vector< int64 > &capacity)</td></tr>
|
|
<tr class="memdesc:a9a5ab9fb129f8b45255d5fbed741d2b2"><td class="mdescLeft"> </td><td class="mdescRight">This dimension imposes: forall b in bins, sum (i in items: usage[i] * is_assigned(i, b)) <= capacity[b] where is_assigned(i, b) is true if and only if item i is assigned to the bin b. <a href="classoperations__research_1_1Pack.html#a9a5ab9fb129f8b45255d5fbed741d2b2">More...</a><br /></td></tr>
|
|
<tr class="separator:a9a5ab9fb129f8b45255d5fbed741d2b2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a08cff80b27c0080341992cad2966dc78"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a08cff80b27c0080341992cad2966dc78">AddWeightedSumOfAssignedDimension</a> (const std::vector< int64 > &weights, <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const cost_var)</td></tr>
|
|
<tr class="memdesc:a08cff80b27c0080341992cad2966dc78"><td class="mdescLeft"> </td><td class="mdescRight">This dimension enforces that cost_var == sum of weights[i] for all objects 'i' assigned to a bin. <a href="classoperations__research_1_1Pack.html#a08cff80b27c0080341992cad2966dc78">More...</a><br /></td></tr>
|
|
<tr class="separator:a08cff80b27c0080341992cad2966dc78"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a90028870fef41c9ce7029c52f194eacd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a90028870fef41c9ce7029c52f194eacd">AddCountUsedBinDimension</a> (<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const count_var)</td></tr>
|
|
<tr class="memdesc:a90028870fef41c9ce7029c52f194eacd"><td class="mdescLeft"> </td><td class="mdescRight">This dimension links 'count_var' to the actual number of bins used in the pack. <a href="classoperations__research_1_1Pack.html#a90028870fef41c9ce7029c52f194eacd">More...</a><br /></td></tr>
|
|
<tr class="separator:a90028870fef41c9ce7029c52f194eacd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a27d5048553d708cb8f1f7b6f7b48052c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a27d5048553d708cb8f1f7b6f7b48052c">AddCountAssignedItemsDimension</a> (<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const count_var)</td></tr>
|
|
<tr class="memdesc:a27d5048553d708cb8f1f7b6f7b48052c"><td class="mdescLeft"> </td><td class="mdescRight">This dimension links 'count_var' to the actual number of items assigned to a bin in the pack. <a href="classoperations__research_1_1Pack.html#a27d5048553d708cb8f1f7b6f7b48052c">More...</a><br /></td></tr>
|
|
<tr class="separator:a27d5048553d708cb8f1f7b6f7b48052c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a19d94d32f3bde30deeebb883c6f71f84"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a19d94d32f3bde30deeebb883c6f71f84">Post</a> () override</td></tr>
|
|
<tr class="memdesc:a19d94d32f3bde30deeebb883c6f71f84"><td class="mdescLeft"> </td><td class="mdescRight">This method is called when the constraint is processed by the solver. <a href="classoperations__research_1_1Pack.html#a19d94d32f3bde30deeebb883c6f71f84">More...</a><br /></td></tr>
|
|
<tr class="separator:a19d94d32f3bde30deeebb883c6f71f84"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa7d76b766faf39c1652b6617eac5fe20"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#aa7d76b766faf39c1652b6617eac5fe20">ClearAll</a> ()</td></tr>
|
|
<tr class="separator:aa7d76b766faf39c1652b6617eac5fe20"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac095c86328e93de5cab0a64db691c602"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#ac095c86328e93de5cab0a64db691c602">PropagateDelayed</a> ()</td></tr>
|
|
<tr class="separator:ac095c86328e93de5cab0a64db691c602"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a36d844f2722273b190ed9a069dd25938"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a36d844f2722273b190ed9a069dd25938">InitialPropagate</a> () override</td></tr>
|
|
<tr class="memdesc:a36d844f2722273b190ed9a069dd25938"><td class="mdescLeft"> </td><td class="mdescRight">This method performs the initial propagation of the constraint. <a href="classoperations__research_1_1Pack.html#a36d844f2722273b190ed9a069dd25938">More...</a><br /></td></tr>
|
|
<tr class="separator:a36d844f2722273b190ed9a069dd25938"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a03fbaed2e89d3a0ed34ffe35af8c0ec6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a03fbaed2e89d3a0ed34ffe35af8c0ec6">Propagate</a> ()</td></tr>
|
|
<tr class="separator:a03fbaed2e89d3a0ed34ffe35af8c0ec6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a96340e443923b721e76f2ff432a48954"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a96340e443923b721e76f2ff432a48954">OneDomain</a> (int var_index)</td></tr>
|
|
<tr class="separator:a96340e443923b721e76f2ff432a48954"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aed804747c45a7e1caf81461f9e45dd91"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a> () const override</td></tr>
|
|
<tr class="separator:aed804747c45a7e1caf81461f9e45dd91"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5e647eb2942c419caa6d67acf062587a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a5e647eb2942c419caa6d67acf062587a">IsUndecided</a> (int var_index, int bin_index) const</td></tr>
|
|
<tr class="separator:a5e647eb2942c419caa6d67acf062587a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4997d785dafdc88e1e0459c398e80133"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a4997d785dafdc88e1e0459c398e80133">SetImpossible</a> (int var_index, int bin_index)</td></tr>
|
|
<tr class="separator:a4997d785dafdc88e1e0459c398e80133"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac6980496b7938cb743ac658fd0d2d6c8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#ac6980496b7938cb743ac658fd0d2d6c8">Assign</a> (int var_index, int bin_index)</td></tr>
|
|
<tr class="separator:ac6980496b7938cb743ac658fd0d2d6c8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0f59dbe96df95bec0bbc8adb24789ed1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a0f59dbe96df95bec0bbc8adb24789ed1">IsAssignedStatusKnown</a> (int var_index) const</td></tr>
|
|
<tr class="separator:a0f59dbe96df95bec0bbc8adb24789ed1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a85ce8edd658bfd2632f78a4adb41fbf9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a85ce8edd658bfd2632f78a4adb41fbf9">IsPossible</a> (int var_index, int bin_index) const</td></tr>
|
|
<tr class="separator:a85ce8edd658bfd2632f78a4adb41fbf9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a95323420129d3971fc27df7ae4cafa35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a95323420129d3971fc27df7ae4cafa35">AssignVar</a> (int var_index, int bin_index) const</td></tr>
|
|
<tr class="separator:a95323420129d3971fc27df7ae4cafa35"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4b8051adf09b104fd5a58b21ea6f843f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a4b8051adf09b104fd5a58b21ea6f843f">SetAssigned</a> (int var_index)</td></tr>
|
|
<tr class="separator:a4b8051adf09b104fd5a58b21ea6f843f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9799033614314d2e5be13a65628f32be"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a9799033614314d2e5be13a65628f32be">SetUnassigned</a> (int var_index)</td></tr>
|
|
<tr class="separator:a9799033614314d2e5be13a65628f32be"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afd36445be20121bef02fe4847317ed0b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#afd36445be20121bef02fe4847317ed0b">RemoveAllPossibleFromBin</a> (int bin_index)</td></tr>
|
|
<tr class="separator:afd36445be20121bef02fe4847317ed0b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa7cb2bb52c194f51ff28294b05c1e4af"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#aa7cb2bb52c194f51ff28294b05c1e4af">AssignAllPossibleToBin</a> (int bin_index)</td></tr>
|
|
<tr class="separator:aa7cb2bb52c194f51ff28294b05c1e4af"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8d4b11f435b76c6568c2c0a08cccb976"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a8d4b11f435b76c6568c2c0a08cccb976">AssignFirstPossibleToBin</a> (int bin_index)</td></tr>
|
|
<tr class="separator:a8d4b11f435b76c6568c2c0a08cccb976"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aedb66bf31047064fd332fb6c6afa027d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#aedb66bf31047064fd332fb6c6afa027d">AssignAllRemainingItems</a> ()</td></tr>
|
|
<tr class="separator:aedb66bf31047064fd332fb6c6afa027d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acb7a89e1a7071f6c46375fe31688e485"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#acb7a89e1a7071f6c46375fe31688e485">UnassignAllRemainingItems</a> ()</td></tr>
|
|
<tr class="separator:acb7a89e1a7071f6c46375fe31688e485"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa30c84aec5e60d6b74e1e1eb15011d4a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a> (<a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const visitor) const override</td></tr>
|
|
<tr class="memdesc:aa30c84aec5e60d6b74e1e1eb15011d4a"><td class="mdescLeft"> </td><td class="mdescRight">Accepts the given visitor. <a href="classoperations__research_1_1Pack.html#aa30c84aec5e60d6b74e1e1eb15011d4a">More...</a><br /></td></tr>
|
|
<tr class="separator:aa30c84aec5e60d6b74e1e1eb15011d4a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a19c44e0b2911b809a9403701804088e3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Constraint.html#a19c44e0b2911b809a9403701804088e3">PostAndPropagate</a> ()</td></tr>
|
|
<tr class="memdesc:a19c44e0b2911b809a9403701804088e3"><td class="mdescLeft"> </td><td class="mdescRight">Calls Post and then Propagate to initialize the constraints. <a href="classoperations__research_1_1Constraint.html#a19c44e0b2911b809a9403701804088e3">More...</a><br /></td></tr>
|
|
<tr class="separator:a19c44e0b2911b809a9403701804088e3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a573284ea4ace994b6886c6a4feffa0aa"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Constraint.html#a573284ea4ace994b6886c6a4feffa0aa">IsCastConstraint</a> () const</td></tr>
|
|
<tr class="memdesc:a573284ea4ace994b6886c6a4feffa0aa"><td class="mdescLeft"> </td><td class="mdescRight">Is the constraint created by a cast from expression to integer variable? <a href="classoperations__research_1_1Constraint.html#a573284ea4ace994b6886c6a4feffa0aa">More...</a><br /></td></tr>
|
|
<tr class="separator:a573284ea4ace994b6886c6a4feffa0aa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acde5e7966f7772bf931dd0dd2bc398a1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Constraint.html#acde5e7966f7772bf931dd0dd2bc398a1">Var</a> ()</td></tr>
|
|
<tr class="memdesc:acde5e7966f7772bf931dd0dd2bc398a1"><td class="mdescLeft"> </td><td class="mdescRight">Creates a Boolean variable representing the status of the constraint (false = constraint is violated, true = constraint is satisfied). <a href="classoperations__research_1_1Constraint.html#acde5e7966f7772bf931dd0dd2bc398a1">More...</a><br /></td></tr>
|
|
<tr class="separator:acde5e7966f7772bf931dd0dd2bc398a1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5f32c22c620c811754ba7b6f977db864"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a> () const</td></tr>
|
|
<tr class="separator:a5f32c22c620c811754ba7b6f977db864"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5155ff01cf80f5a478fd09916abab155"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5155ff01cf80f5a478fd09916abab155">FreezeQueue</a> ()</td></tr>
|
|
<tr class="memdesc:a5155ff01cf80f5a478fd09916abab155"><td class="mdescLeft"> </td><td class="mdescRight">This method freezes the propagation queue. <a href="classoperations__research_1_1PropagationBaseObject.html#a5155ff01cf80f5a478fd09916abab155">More...</a><br /></td></tr>
|
|
<tr class="separator:a5155ff01cf80f5a478fd09916abab155"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae038f4a9249362629fc47e8dfc441ec7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ae038f4a9249362629fc47e8dfc441ec7">UnfreezeQueue</a> ()</td></tr>
|
|
<tr class="memdesc:ae038f4a9249362629fc47e8dfc441ec7"><td class="mdescLeft"> </td><td class="mdescRight">This method unfreezes the propagation queue. <a href="classoperations__research_1_1PropagationBaseObject.html#ae038f4a9249362629fc47e8dfc441ec7">More...</a><br /></td></tr>
|
|
<tr class="separator:ae038f4a9249362629fc47e8dfc441ec7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a173cbf153462b14f9b57362d2c45638a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a173cbf153462b14f9b57362d2c45638a">EnqueueDelayedDemon</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const d)</td></tr>
|
|
<tr class="memdesc:a173cbf153462b14f9b57362d2c45638a"><td class="mdescLeft"> </td><td class="mdescRight">This method pushes the demon onto the propagation queue. <a href="classoperations__research_1_1PropagationBaseObject.html#a173cbf153462b14f9b57362d2c45638a">More...</a><br /></td></tr>
|
|
<tr class="separator:a173cbf153462b14f9b57362d2c45638a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a448b9bde901fcf3ec2e94ab972b083f0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a448b9bde901fcf3ec2e94ab972b083f0">EnqueueVar</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const d)</td></tr>
|
|
<tr class="separator:a448b9bde901fcf3ec2e94ab972b083f0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3d3bd9d99cf43cf184a1246d2c278c31"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a3d3bd9d99cf43cf184a1246d2c278c31">ExecuteAll</a> (const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>< <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * > &demons)</td></tr>
|
|
<tr class="separator:a3d3bd9d99cf43cf184a1246d2c278c31"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5a5ad1a2482043e4a9d2c19bbab1e250"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5a5ad1a2482043e4a9d2c19bbab1e250">EnqueueAll</a> (const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>< <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * > &demons)</td></tr>
|
|
<tr class="separator:a5a5ad1a2482043e4a9d2c19bbab1e250"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3ae4667b0e7a9e6c63c91202480c8876"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a3ae4667b0e7a9e6c63c91202480c8876">set_action_on_fail</a> (<a class="el" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> a)</td></tr>
|
|
<tr class="separator:a3ae4667b0e7a9e6c63c91202480c8876"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a26d87b428f06d54a1a44d6e950a0e196"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a26d87b428f06d54a1a44d6e950a0e196">reset_action_on_fail</a> ()</td></tr>
|
|
<tr class="memdesc:a26d87b428f06d54a1a44d6e950a0e196"><td class="mdescLeft"> </td><td class="mdescRight">This method clears the failure callback. <a href="classoperations__research_1_1PropagationBaseObject.html#a26d87b428f06d54a1a44d6e950a0e196">More...</a><br /></td></tr>
|
|
<tr class="separator:a26d87b428f06d54a1a44d6e950a0e196"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa799a452245f03cc53355e6432c107a7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#aa799a452245f03cc53355e6432c107a7">set_variable_to_clean_on_fail</a> (<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *v)</td></tr>
|
|
<tr class="memdesc:aa799a452245f03cc53355e6432c107a7"><td class="mdescLeft"> </td><td class="mdescRight">Shortcut for variable cleaner. <a href="classoperations__research_1_1PropagationBaseObject.html#aa799a452245f03cc53355e6432c107a7">More...</a><br /></td></tr>
|
|
<tr class="separator:aa799a452245f03cc53355e6432c107a7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6a119daa8b83c3aaffdb6e11fac1f97e"><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a> () const</td></tr>
|
|
<tr class="memdesc:a6a119daa8b83c3aaffdb6e11fac1f97e"><td class="mdescLeft"> </td><td class="mdescRight">Object naming. <a href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">More...</a><br /></td></tr>
|
|
<tr class="separator:a6a119daa8b83c3aaffdb6e11fac1f97e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad5260b9627048b854b45d05ed34adc22"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ad5260b9627048b854b45d05ed34adc22">set_name</a> (const std::string &<a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>)</td></tr>
|
|
<tr class="separator:ad5260b9627048b854b45d05ed34adc22"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a31eda3918c04e32fa9e8c432d72b2d60"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a31eda3918c04e32fa9e8c432d72b2d60">HasName</a> () const</td></tr>
|
|
<tr class="memdesc:a31eda3918c04e32fa9e8c432d72b2d60"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the object has been named or not. <a href="classoperations__research_1_1PropagationBaseObject.html#a31eda3918c04e32fa9e8c432d72b2d60">More...</a><br /></td></tr>
|
|
<tr class="separator:a31eda3918c04e32fa9e8c432d72b2d60"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a09cbe240b742fbdcf4d3c70d19c2ed10"><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a09cbe240b742fbdcf4d3c70d19c2ed10">BaseName</a> () const</td></tr>
|
|
<tr class="memdesc:a09cbe240b742fbdcf4d3c70d19c2ed10"><td class="mdescLeft"> </td><td class="mdescRight">Returns a base name for automatic naming. <a href="classoperations__research_1_1PropagationBaseObject.html#a09cbe240b742fbdcf4d3c70d19c2ed10">More...</a><br /></td></tr>
|
|
<tr class="separator:a09cbe240b742fbdcf4d3c70d19c2ed10"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a3faa7bb8c3804bc2c19b0c9c51fb3663"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3faa7bb8c3804bc2c19b0c9c51fb3663">◆ </a></span>Pack()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1Pack.html">Pack</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const </td>
|
|
<td class="paramname"><em>s</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > & </td>
|
|
<td class="paramname"><em>vars</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>number_of_bins</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6feb8bb936fa7469982badd222c6e952"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6feb8bb936fa7469982badd222c6e952">◆ </a></span>~Pack()</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_1Pack.html">Pack</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">override</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="aa30c84aec5e60d6b74e1e1eb15011d4a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa30c84aec5e60d6b74e1e1eb15011d4a">◆ </a></span>Accept()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Accept </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const </td>
|
|
<td class="paramname"><em>visitor</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Accepts the given visitor. </p>
|
|
|
|
<p>Reimplemented from <a class="el" href="classoperations__research_1_1Constraint.html#afcde421cf076575a27bed81c80093ac8">Constraint</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a27d5048553d708cb8f1f7b6f7b48052c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a27d5048553d708cb8f1f7b6f7b48052c">◆ </a></span>AddCountAssignedItemsDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddCountAssignedItemsDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const </td>
|
|
<td class="paramname"><em>count_var</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This dimension links 'count_var' to the actual number of items assigned to a bin in the pack. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a90028870fef41c9ce7029c52f194eacd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a90028870fef41c9ce7029c52f194eacd">◆ </a></span>AddCountUsedBinDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddCountUsedBinDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const </td>
|
|
<td class="paramname"><em>count_var</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This dimension links 'count_var' to the actual number of bins used in the pack. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9a5ab9fb129f8b45255d5fbed741d2b2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9a5ab9fb129f8b45255d5fbed741d2b2">◆ </a></span>AddSumVariableWeightsLessOrEqualConstantDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddSumVariableWeightsLessOrEqualConstantDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > & </td>
|
|
<td class="paramname"><em>usage</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::vector< int64 > & </td>
|
|
<td class="paramname"><em>capacity</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This dimension imposes: forall b in bins, sum (i in items: usage[i] * is_assigned(i, b)) <= capacity[b] where is_assigned(i, b) is true if and only if item i is assigned to the bin b. </p>
|
|
<p>This can be used to model shapes of items by linking variables of the same item on parallel dimensions with an allowed assignment constraint. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5549bd43ea2777cc9f0f3e4da3a87cdd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5549bd43ea2777cc9f0f3e4da3a87cdd">◆ </a></span>AddWeightedSumEqualVarDimension() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddWeightedSumEqualVarDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int64 > & </td>
|
|
<td class="paramname"><em>weights</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > & </td>
|
|
<td class="paramname"><em>loads</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This dimension imposes that for all bins b, the weighted sum (weights[i]) of all objects i assigned to 'b' is equal to loads[b]. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a392a263cbc46d6cf18741970fe17c1e6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a392a263cbc46d6cf18741970fe17c1e6">◆ </a></span>AddWeightedSumEqualVarDimension() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddWeightedSumEqualVarDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a> </td>
|
|
<td class="paramname"><em>weights</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > & </td>
|
|
<td class="paramname"><em>loads</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This dimension imposes that for all bins b, the weighted sum (weights->Run(i, b)) of all objects i assigned to 'b' is equal to loads[b]. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af1f5233fe432bbd1fea571ac4131007c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af1f5233fe432bbd1fea571ac4131007c">◆ </a></span>AddWeightedSumLessOrEqualConstantDimension() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddWeightedSumLessOrEqualConstantDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int64 > & </td>
|
|
<td class="paramname"><em>weights</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::vector< int64 > & </td>
|
|
<td class="paramname"><em>bounds</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Dimensions are additional constraints than can restrict what is possible with the pack constraint. </p>
|
|
<p>It can be used to set capacity limits, to count objects per bin, to compute unassigned penalties... This dimension imposes that for all bins b, the weighted sum (weights[i]) of all objects i assigned to 'b' is less or equal 'bounds[b]'. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4f981ccde6b20de4f27fbeb9d15e8623"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4f981ccde6b20de4f27fbeb9d15e8623">◆ </a></span>AddWeightedSumLessOrEqualConstantDimension() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddWeightedSumLessOrEqualConstantDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a> </td>
|
|
<td class="paramname"><em>weights</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::vector< int64 > & </td>
|
|
<td class="paramname"><em>bounds</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This dimension imposes that for all bins b, the weighted sum (weights->Run(i)) of all objects i assigned to 'b' is less or equal to 'bounds[b]'. </p>
|
|
<p>Ownership of the callback is transferred to the pack constraint. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aff830cb111951824bd4c72ddd6d4db6b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aff830cb111951824bd4c72ddd6d4db6b">◆ </a></span>AddWeightedSumLessOrEqualConstantDimension() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddWeightedSumLessOrEqualConstantDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a> </td>
|
|
<td class="paramname"><em>weights</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::vector< int64 > & </td>
|
|
<td class="paramname"><em>bounds</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This dimension imposes that for all bins b, the weighted sum (weights->Run(i, b) of all objects i assigned to 'b' is less or equal to 'bounds[b]'. </p>
|
|
<p>Ownership of the callback is transferred to the pack constraint. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a08cff80b27c0080341992cad2966dc78"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a08cff80b27c0080341992cad2966dc78">◆ </a></span>AddWeightedSumOfAssignedDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddWeightedSumOfAssignedDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int64 > & </td>
|
|
<td class="paramname"><em>weights</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const </td>
|
|
<td class="paramname"><em>cost_var</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This dimension enforces that cost_var == sum of weights[i] for all objects 'i' assigned to a bin. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac6980496b7938cb743ac658fd0d2d6c8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac6980496b7938cb743ac658fd0d2d6c8">◆ </a></span>Assign()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Assign </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>var_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>bin_index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa7cb2bb52c194f51ff28294b05c1e4af"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa7cb2bb52c194f51ff28294b05c1e4af">◆ </a></span>AssignAllPossibleToBin()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AssignAllPossibleToBin </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>bin_index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aedb66bf31047064fd332fb6c6afa027d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aedb66bf31047064fd332fb6c6afa027d">◆ </a></span>AssignAllRemainingItems()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AssignAllRemainingItems </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8d4b11f435b76c6568c2c0a08cccb976"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8d4b11f435b76c6568c2c0a08cccb976">◆ </a></span>AssignFirstPossibleToBin()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AssignFirstPossibleToBin </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>bin_index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a95323420129d3971fc27df7ae4cafa35"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a95323420129d3971fc27df7ae4cafa35">◆ </a></span>AssignVar()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* AssignVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>var_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>bin_index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a09cbe240b742fbdcf4d3c70d19c2ed10"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a09cbe240b742fbdcf4d3c70d19c2ed10">◆ </a></span>BaseName()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual std::string BaseName </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">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a base name for automatic naming. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#adbfe3c73b9cad61f112ccb082b553c51">BooleanVar</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa7d76b766faf39c1652b6617eac5fe20"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa7d76b766faf39c1652b6617eac5fe20">◆ </a></span>ClearAll()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ClearAll </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aed804747c45a7e1caf81461f9e45dd91"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aed804747c45a7e1caf81461f9e45dd91">◆ </a></span>DebugString()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::string DebugString </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">override</span><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Reimplemented from <a class="el" href="classoperations__research_1_1Constraint.html#aed804747c45a7e1caf81461f9e45dd91">Constraint</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5a5ad1a2482043e4a9d2c19bbab1e250"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5a5ad1a2482043e4a9d2c19bbab1e250">◆ </a></span>EnqueueAll()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void EnqueueAll </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>< <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * > & </td>
|
|
<td class="paramname"><em>demons</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a173cbf153462b14f9b57362d2c45638a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a173cbf153462b14f9b57362d2c45638a">◆ </a></span>EnqueueDelayedDemon()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void EnqueueDelayedDemon </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const </td>
|
|
<td class="paramname"><em>d</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This method pushes the demon onto the propagation queue. </p>
|
|
<p>It will be processed directly if the queue is empty. It will be enqueued according to its priority otherwise. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03144">3144</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a448b9bde901fcf3ec2e94ab972b083f0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a448b9bde901fcf3ec2e94ab972b083f0">◆ </a></span>EnqueueVar()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void EnqueueVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const </td>
|
|
<td class="paramname"><em>d</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03145">3145</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3d3bd9d99cf43cf184a1246d2c278c31"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3d3bd9d99cf43cf184a1246d2c278c31">◆ </a></span>ExecuteAll()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ExecuteAll </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>< <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * > & </td>
|
|
<td class="paramname"><em>demons</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5155ff01cf80f5a478fd09916abab155"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5155ff01cf80f5a478fd09916abab155">◆ </a></span>FreezeQueue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FreezeQueue </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 class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This method freezes the propagation queue. </p>
|
|
<p>It is useful when you need to apply multiple modifications at once. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03135">3135</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a31eda3918c04e32fa9e8c432d72b2d60"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a31eda3918c04e32fa9e8c432d72b2d60">◆ </a></span>HasName()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasName </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">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns whether the object has been named or not. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a36d844f2722273b190ed9a069dd25938"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a36d844f2722273b190ed9a069dd25938">◆ </a></span>InitialPropagate()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void InitialPropagate </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This method performs the initial propagation of the constraint. </p>
|
|
<p>It is called just after the post. </p>
|
|
|
|
<p>Implements <a class="el" href="classoperations__research_1_1Constraint.html#a9100fab5545234f60a4ce442dbb45630">Constraint</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0f59dbe96df95bec0bbc8adb24789ed1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0f59dbe96df95bec0bbc8adb24789ed1">◆ </a></span>IsAssignedStatusKnown()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool IsAssignedStatusKnown </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>var_index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a573284ea4ace994b6886c6a4feffa0aa"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a573284ea4ace994b6886c6a4feffa0aa">◆ </a></span>IsCastConstraint()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool IsCastConstraint </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">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Is the constraint created by a cast from expression to integer variable? </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a85ce8edd658bfd2632f78a4adb41fbf9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a85ce8edd658bfd2632f78a4adb41fbf9">◆ </a></span>IsPossible()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool IsPossible </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>var_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>bin_index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5e647eb2942c419caa6d67acf062587a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5e647eb2942c419caa6d67acf062587a">◆ </a></span>IsUndecided()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool IsUndecided </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>var_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>bin_index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6a119daa8b83c3aaffdb6e11fac1f97e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6a119daa8b83c3aaffdb6e11fac1f97e">◆ </a></span>name()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual std::string name </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">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Object naming. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a96340e443923b721e76f2ff432a48954"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a96340e443923b721e76f2ff432a48954">◆ </a></span>OneDomain()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void OneDomain </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>var_index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a19d94d32f3bde30deeebb883c6f71f84"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a19d94d32f3bde30deeebb883c6f71f84">◆ </a></span>Post()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Post </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This method is called when the constraint is processed by the solver. </p>
|
|
<p>Its main usage is to attach demons to variables. </p>
|
|
|
|
<p>Implements <a class="el" href="classoperations__research_1_1Constraint.html#af33bad3aa81a2f411224d5e471f9956f">Constraint</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a19c44e0b2911b809a9403701804088e3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a19c44e0b2911b809a9403701804088e3">◆ </a></span>PostAndPropagate()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PostAndPropagate </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Calls Post and then Propagate to initialize the constraints. </p>
|
|
<p>This is usually done in the root node. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a03fbaed2e89d3a0ed34ffe35af8c0ec6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a03fbaed2e89d3a0ed34ffe35af8c0ec6">◆ </a></span>Propagate()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Propagate </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac095c86328e93de5cab0a64db691c602"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac095c86328e93de5cab0a64db691c602">◆ </a></span>PropagateDelayed()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PropagateDelayed </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afd36445be20121bef02fe4847317ed0b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afd36445be20121bef02fe4847317ed0b">◆ </a></span>RemoveAllPossibleFromBin()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void RemoveAllPossibleFromBin </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>bin_index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a26d87b428f06d54a1a44d6e950a0e196"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a26d87b428f06d54a1a44d6e950a0e196">◆ </a></span>reset_action_on_fail()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void reset_action_on_fail </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 class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This method clears the failure callback. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03158">3158</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3ae4667b0e7a9e6c63c91202480c8876"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3ae4667b0e7a9e6c63c91202480c8876">◆ </a></span>set_action_on_fail()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void set_action_on_fail </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> </td>
|
|
<td class="paramname"><em>a</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03152">3152</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad5260b9627048b854b45d05ed34adc22"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad5260b9627048b854b45d05ed34adc22">◆ </a></span>set_name()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void set_name </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </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">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa799a452245f03cc53355e6432c107a7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa799a452245f03cc53355e6432c107a7">◆ </a></span>set_variable_to_clean_on_fail()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void set_variable_to_clean_on_fail </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * </td>
|
|
<td class="paramname"><em>v</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Shortcut for variable cleaner. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03161">3161</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4b8051adf09b104fd5a58b21ea6f843f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4b8051adf09b104fd5a58b21ea6f843f">◆ </a></span>SetAssigned()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetAssigned </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>var_index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4997d785dafdc88e1e0459c398e80133"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4997d785dafdc88e1e0459c398e80133">◆ </a></span>SetImpossible()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetImpossible </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>var_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>bin_index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9799033614314d2e5be13a65628f32be"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9799033614314d2e5be13a65628f32be">◆ </a></span>SetUnassigned()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetUnassigned </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>var_index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5f32c22c620c811754ba7b6f977db864"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5f32c22c620c811754ba7b6f977db864">◆ </a></span>solver()</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_1Solver.html">Solver</a>* solver </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 class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03131">3131</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acb7a89e1a7071f6c46375fe31688e485"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acb7a89e1a7071f6c46375fe31688e485">◆ </a></span>UnassignAllRemainingItems()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void UnassignAllRemainingItems </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae038f4a9249362629fc47e8dfc441ec7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae038f4a9249362629fc47e8dfc441ec7">◆ </a></span>UnfreezeQueue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void UnfreezeQueue </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 class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This method unfreezes the propagation queue. </p>
|
|
<p>All modifications that happened when the queue was frozen will be processed. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03139">3139</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acde5e7966f7772bf931dd0dd2bc398a1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acde5e7966f7772bf931dd0dd2bc398a1">◆ </a></span>Var()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* Var </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a Boolean variable representing the status of the constraint (false = constraint is violated, true = constraint is satisfied). </p>
|
|
<p>It returns nullptr if the constraint does not support this API. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li><a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div>
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|