1453 lines
74 KiB
HTML
1453 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">OR-Tools 7.2</span>
|
|
</div>
|
|
</div>
|
|
<link rel="icon" href="https://developers.google.com/optimization/images/orLogo.png">
|
|
<div id="content">
|
|
<!-- Generated by Doxygen 1.8.15 -->
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
</ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(function(){initNavTree('classoperations__research_1_1Pack.html','');});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<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">operations_research::Pack Class Reference</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#l05130">5130</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:a94969a5d7e604ccba7e5b515424a246e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a94969a5d7e604ccba7e5b515424a246e">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:a94969a5d7e604ccba7e5b515424a246e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac41b9dfede7920f5baadea90cddc72ea"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#ac41b9dfede7920f5baadea90cddc72ea">~Pack</a> () override</td></tr>
|
|
<tr class="separator:ac41b9dfede7920f5baadea90cddc72ea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af69fc8b35affb174b5e47fbee6de9772"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#af69fc8b35affb174b5e47fbee6de9772">AddWeightedSumLessOrEqualConstantDimension</a> (const std::vector< int64 > &weights, const std::vector< int64 > &bounds)</td></tr>
|
|
<tr class="memdesc:af69fc8b35affb174b5e47fbee6de9772"><td class="mdescLeft"> </td><td class="mdescRight">Dimensions are additional constraints than can restrict what is possible with the pack constraint. <a href="#af69fc8b35affb174b5e47fbee6de9772">More...</a><br /></td></tr>
|
|
<tr class="separator:af69fc8b35affb174b5e47fbee6de9772"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aee734afb685c74deb94817b754b9e518"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#aee734afb685c74deb94817b754b9e518">AddWeightedSumLessOrEqualConstantDimension</a> (<a class="el" href="classoperations__research_1_1Solver.html#a1040bdf484009e1a00e60ebb055ad1a1">Solver::IndexEvaluator1</a> weights, const std::vector< int64 > &bounds)</td></tr>
|
|
<tr class="memdesc:aee734afb685c74deb94817b754b9e518"><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="#aee734afb685c74deb94817b754b9e518">More...</a><br /></td></tr>
|
|
<tr class="separator:aee734afb685c74deb94817b754b9e518"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7a66d1abf3e8584e7c5ced64fdbd4cd8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a7a66d1abf3e8584e7c5ced64fdbd4cd8">AddWeightedSumLessOrEqualConstantDimension</a> (<a class="el" href="classoperations__research_1_1Solver.html#a0243986dd2db4b6e1bda331329ae529b">Solver::IndexEvaluator2</a> weights, const std::vector< int64 > &bounds)</td></tr>
|
|
<tr class="memdesc:a7a66d1abf3e8584e7c5ced64fdbd4cd8"><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="#a7a66d1abf3e8584e7c5ced64fdbd4cd8">More...</a><br /></td></tr>
|
|
<tr class="separator:a7a66d1abf3e8584e7c5ced64fdbd4cd8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae82f80cca2acf98982b3c0eb5cc96d03"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#ae82f80cca2acf98982b3c0eb5cc96d03">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:ae82f80cca2acf98982b3c0eb5cc96d03"><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="#ae82f80cca2acf98982b3c0eb5cc96d03">More...</a><br /></td></tr>
|
|
<tr class="separator:ae82f80cca2acf98982b3c0eb5cc96d03"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a42267aa342941682b197ebef1a9fd6bc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a42267aa342941682b197ebef1a9fd6bc">AddWeightedSumEqualVarDimension</a> (<a class="el" href="classoperations__research_1_1Solver.html#a0243986dd2db4b6e1bda331329ae529b">Solver::IndexEvaluator2</a> weights, const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > &loads)</td></tr>
|
|
<tr class="memdesc:a42267aa342941682b197ebef1a9fd6bc"><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="#a42267aa342941682b197ebef1a9fd6bc">More...</a><br /></td></tr>
|
|
<tr class="separator:a42267aa342941682b197ebef1a9fd6bc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a92da0e27853c3c611f0384457e1fcdb2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a92da0e27853c3c611f0384457e1fcdb2">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:a92da0e27853c3c611f0384457e1fcdb2"><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="#a92da0e27853c3c611f0384457e1fcdb2">More...</a><br /></td></tr>
|
|
<tr class="separator:a92da0e27853c3c611f0384457e1fcdb2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acbb9380640b30f024e9986f96d5fe582"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#acbb9380640b30f024e9986f96d5fe582">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:acbb9380640b30f024e9986f96d5fe582"><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="#acbb9380640b30f024e9986f96d5fe582">More...</a><br /></td></tr>
|
|
<tr class="separator:acbb9380640b30f024e9986f96d5fe582"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3030c379670033531aab20df788376ed"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a3030c379670033531aab20df788376ed">AddCountUsedBinDimension</a> (<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const count_var)</td></tr>
|
|
<tr class="memdesc:a3030c379670033531aab20df788376ed"><td class="mdescLeft"> </td><td class="mdescRight">This dimension links 'count_var' to the actual number of bins used in the pack. <a href="#a3030c379670033531aab20df788376ed">More...</a><br /></td></tr>
|
|
<tr class="separator:a3030c379670033531aab20df788376ed"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa8c9281df8ab547dbed84de1364267d4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#aa8c9281df8ab547dbed84de1364267d4">AddCountAssignedItemsDimension</a> (<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const count_var)</td></tr>
|
|
<tr class="memdesc:aa8c9281df8ab547dbed84de1364267d4"><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="#aa8c9281df8ab547dbed84de1364267d4">More...</a><br /></td></tr>
|
|
<tr class="separator:aa8c9281df8ab547dbed84de1364267d4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a22f97f40518e3d2f565d78f7ef6f3b56"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a22f97f40518e3d2f565d78f7ef6f3b56">Post</a> () override</td></tr>
|
|
<tr class="memdesc:a22f97f40518e3d2f565d78f7ef6f3b56"><td class="mdescLeft"> </td><td class="mdescRight">This method is called when the constraint is processed by the solver. <a href="#a22f97f40518e3d2f565d78f7ef6f3b56">More...</a><br /></td></tr>
|
|
<tr class="separator:a22f97f40518e3d2f565d78f7ef6f3b56"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af10aa93a14a72df0bd8b5c7143c6648e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#af10aa93a14a72df0bd8b5c7143c6648e">ClearAll</a> ()</td></tr>
|
|
<tr class="separator:af10aa93a14a72df0bd8b5c7143c6648e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac2a200cf86dc0fa3b6a7905971ad88e6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#ac2a200cf86dc0fa3b6a7905971ad88e6">PropagateDelayed</a> ()</td></tr>
|
|
<tr class="separator:ac2a200cf86dc0fa3b6a7905971ad88e6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adac62b65b527aa23434dd7d1fdba3b14"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#adac62b65b527aa23434dd7d1fdba3b14">InitialPropagate</a> () override</td></tr>
|
|
<tr class="memdesc:adac62b65b527aa23434dd7d1fdba3b14"><td class="mdescLeft"> </td><td class="mdescRight">This method performs the initial propagation of the constraint. <a href="#adac62b65b527aa23434dd7d1fdba3b14">More...</a><br /></td></tr>
|
|
<tr class="separator:adac62b65b527aa23434dd7d1fdba3b14"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a29f65d45d0fefbab371c7265572d54f4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a29f65d45d0fefbab371c7265572d54f4">Propagate</a> ()</td></tr>
|
|
<tr class="separator:a29f65d45d0fefbab371c7265572d54f4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af13898c8553d217fa3d52c6e2b504f8d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#af13898c8553d217fa3d52c6e2b504f8d">OneDomain</a> (int var_index)</td></tr>
|
|
<tr class="separator:af13898c8553d217fa3d52c6e2b504f8d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a494cf6256ff568544390e507a6943112"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a494cf6256ff568544390e507a6943112">DebugString</a> () const override</td></tr>
|
|
<tr class="separator:a494cf6256ff568544390e507a6943112"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afc53068cf76b2865a10fafd410da228e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#afc53068cf76b2865a10fafd410da228e">IsUndecided</a> (int var_index, int bin_index) const</td></tr>
|
|
<tr class="separator:afc53068cf76b2865a10fafd410da228e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae7875687d4d252d247a0c4c7b78a0326"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#ae7875687d4d252d247a0c4c7b78a0326">SetImpossible</a> (int var_index, int bin_index)</td></tr>
|
|
<tr class="separator:ae7875687d4d252d247a0c4c7b78a0326"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a15e81047afe54184915345326a7cdaa6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a15e81047afe54184915345326a7cdaa6">Assign</a> (int var_index, int bin_index)</td></tr>
|
|
<tr class="separator:a15e81047afe54184915345326a7cdaa6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6dc7ba8d99e3f6cc958125cbfaf22293"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a6dc7ba8d99e3f6cc958125cbfaf22293">IsAssignedStatusKnown</a> (int var_index) const</td></tr>
|
|
<tr class="separator:a6dc7ba8d99e3f6cc958125cbfaf22293"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a21511d7769c6d0d590e3e8a02892052f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a21511d7769c6d0d590e3e8a02892052f">IsPossible</a> (int var_index, int bin_index) const</td></tr>
|
|
<tr class="separator:a21511d7769c6d0d590e3e8a02892052f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae7c46b011db8d3382e6b370bbdeaca4f"><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#ae7c46b011db8d3382e6b370bbdeaca4f">AssignVar</a> (int var_index, int bin_index) const</td></tr>
|
|
<tr class="separator:ae7c46b011db8d3382e6b370bbdeaca4f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a104bd60ce9672f53c0539dac7daec58f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a104bd60ce9672f53c0539dac7daec58f">SetAssigned</a> (int var_index)</td></tr>
|
|
<tr class="separator:a104bd60ce9672f53c0539dac7daec58f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0c9c26b5eef0f2a6bc5c29a6cd193cac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a0c9c26b5eef0f2a6bc5c29a6cd193cac">SetUnassigned</a> (int var_index)</td></tr>
|
|
<tr class="separator:a0c9c26b5eef0f2a6bc5c29a6cd193cac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab4e8efc23e9db0d7d793ca7697e89e05"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#ab4e8efc23e9db0d7d793ca7697e89e05">RemoveAllPossibleFromBin</a> (int bin_index)</td></tr>
|
|
<tr class="separator:ab4e8efc23e9db0d7d793ca7697e89e05"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4c3227b06d52ecdb2f09dccc01baa347"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a4c3227b06d52ecdb2f09dccc01baa347">AssignAllPossibleToBin</a> (int bin_index)</td></tr>
|
|
<tr class="separator:a4c3227b06d52ecdb2f09dccc01baa347"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7406f484f98fd83e408ffae60895905c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a7406f484f98fd83e408ffae60895905c">AssignFirstPossibleToBin</a> (int bin_index)</td></tr>
|
|
<tr class="separator:a7406f484f98fd83e408ffae60895905c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a48b59d1fd372a5f0657774bf83acf847"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a48b59d1fd372a5f0657774bf83acf847">AssignAllRemainingItems</a> ()</td></tr>
|
|
<tr class="separator:a48b59d1fd372a5f0657774bf83acf847"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a43b6922981e5f524b4cd259cc4538336"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#a43b6922981e5f524b4cd259cc4538336">UnassignAllRemainingItems</a> ()</td></tr>
|
|
<tr class="separator:a43b6922981e5f524b4cd259cc4538336"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad7fda9d44f000fcb907d2bdeec845423"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Pack.html#ad7fda9d44f000fcb907d2bdeec845423">Accept</a> (<a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const visitor) const override</td></tr>
|
|
<tr class="memdesc:ad7fda9d44f000fcb907d2bdeec845423"><td class="mdescLeft"> </td><td class="mdescRight">Accepts the given visitor. <a href="#ad7fda9d44f000fcb907d2bdeec845423">More...</a><br /></td></tr>
|
|
<tr class="separator:ad7fda9d44f000fcb907d2bdeec845423"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a92c3bfe86238b5c95448d4a0384a327f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Constraint.html#a92c3bfe86238b5c95448d4a0384a327f">PostAndPropagate</a> ()</td></tr>
|
|
<tr class="memdesc:a92c3bfe86238b5c95448d4a0384a327f"><td class="mdescLeft"> </td><td class="mdescRight">Calls Post and then Propagate to initialize the constraints. <a href="#a92c3bfe86238b5c95448d4a0384a327f">More...</a><br /></td></tr>
|
|
<tr class="separator:a92c3bfe86238b5c95448d4a0384a327f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a834edc2ae995b866a6aa63e44c242570"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1Constraint.html#a834edc2ae995b866a6aa63e44c242570">IsCastConstraint</a> () const</td></tr>
|
|
<tr class="memdesc:a834edc2ae995b866a6aa63e44c242570"><td class="mdescLeft"> </td><td class="mdescRight">Is the constraint created by a cast from expression to integer variable? <a href="#a834edc2ae995b866a6aa63e44c242570">More...</a><br /></td></tr>
|
|
<tr class="separator:a834edc2ae995b866a6aa63e44c242570"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5606cc31756a1708615d492ab75ba886"><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#a5606cc31756a1708615d492ab75ba886">Var</a> ()</td></tr>
|
|
<tr class="memdesc:a5606cc31756a1708615d492ab75ba886"><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="#a5606cc31756a1708615d492ab75ba886">More...</a><br /></td></tr>
|
|
<tr class="separator:a5606cc31756a1708615d492ab75ba886"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab3aa61657c74294f198a16d1dbc52580"><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#ab3aa61657c74294f198a16d1dbc52580">solver</a> () const</td></tr>
|
|
<tr class="separator:ab3aa61657c74294f198a16d1dbc52580"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a78b16596f589dd63573a1586f61c2dbd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a78b16596f589dd63573a1586f61c2dbd">FreezeQueue</a> ()</td></tr>
|
|
<tr class="memdesc:a78b16596f589dd63573a1586f61c2dbd"><td class="mdescLeft"> </td><td class="mdescRight">This method freezes the propagation queue. <a href="#a78b16596f589dd63573a1586f61c2dbd">More...</a><br /></td></tr>
|
|
<tr class="separator:a78b16596f589dd63573a1586f61c2dbd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a97782b79fbcf8043201fefaa7729dcf1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a97782b79fbcf8043201fefaa7729dcf1">UnfreezeQueue</a> ()</td></tr>
|
|
<tr class="memdesc:a97782b79fbcf8043201fefaa7729dcf1"><td class="mdescLeft"> </td><td class="mdescRight">This method unfreezes the propagation queue. <a href="#a97782b79fbcf8043201fefaa7729dcf1">More...</a><br /></td></tr>
|
|
<tr class="separator:a97782b79fbcf8043201fefaa7729dcf1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5dd87cd906d80738f8727fda04bc5ace"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5dd87cd906d80738f8727fda04bc5ace">EnqueueDelayedDemon</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const d)</td></tr>
|
|
<tr class="memdesc:a5dd87cd906d80738f8727fda04bc5ace"><td class="mdescLeft"> </td><td class="mdescRight">This method pushes the demon onto the propagation queue. <a href="#a5dd87cd906d80738f8727fda04bc5ace">More...</a><br /></td></tr>
|
|
<tr class="separator:a5dd87cd906d80738f8727fda04bc5ace"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3fe6115081d583d57b6cd8b0dd1783d7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a3fe6115081d583d57b6cd8b0dd1783d7">EnqueueVar</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const d)</td></tr>
|
|
<tr class="separator:a3fe6115081d583d57b6cd8b0dd1783d7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4a7285479f5e0fa7663c043cdfc7dd61"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a4a7285479f5e0fa7663c043cdfc7dd61">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:a4a7285479f5e0fa7663c043cdfc7dd61"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5975e144479d99ceae4f009472ca5e92"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5975e144479d99ceae4f009472ca5e92">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:a5975e144479d99ceae4f009472ca5e92"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5c6bf90bb0b099a2c8f81aaefdfdd46c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5c6bf90bb0b099a2c8f81aaefdfdd46c">set_action_on_fail</a> (<a class="el" href="classoperations__research_1_1Solver.html#a87ca0b6abf9c8724900387f5aa557c04">Solver::Action</a> a)</td></tr>
|
|
<tr class="separator:a5c6bf90bb0b099a2c8f81aaefdfdd46c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad07aa613bcc8d3896dff3f33520b061c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ad07aa613bcc8d3896dff3f33520b061c">reset_action_on_fail</a> ()</td></tr>
|
|
<tr class="memdesc:ad07aa613bcc8d3896dff3f33520b061c"><td class="mdescLeft"> </td><td class="mdescRight">This method clears the failure callback. <a href="#ad07aa613bcc8d3896dff3f33520b061c">More...</a><br /></td></tr>
|
|
<tr class="separator:ad07aa613bcc8d3896dff3f33520b061c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4d2ccb8a806df14394b3271791c81e61"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a4d2ccb8a806df14394b3271791c81e61">set_variable_to_clean_on_fail</a> (<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *v)</td></tr>
|
|
<tr class="memdesc:a4d2ccb8a806df14394b3271791c81e61"><td class="mdescLeft"> </td><td class="mdescRight">Shortcut for variable cleaner. <a href="#a4d2ccb8a806df14394b3271791c81e61">More...</a><br /></td></tr>
|
|
<tr class="separator:a4d2ccb8a806df14394b3271791c81e61"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8be8b75223b76744791e48747677cdb6"><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#a8be8b75223b76744791e48747677cdb6">name</a> () const</td></tr>
|
|
<tr class="memdesc:a8be8b75223b76744791e48747677cdb6"><td class="mdescLeft"> </td><td class="mdescRight">Object naming. <a href="#a8be8b75223b76744791e48747677cdb6">More...</a><br /></td></tr>
|
|
<tr class="separator:a8be8b75223b76744791e48747677cdb6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5d4a4cf402b353ba2908836656cf0c62"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5d4a4cf402b353ba2908836656cf0c62">set_name</a> (const std::string &<a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a8be8b75223b76744791e48747677cdb6">name</a>)</td></tr>
|
|
<tr class="separator:a5d4a4cf402b353ba2908836656cf0c62"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af6e627822f954d6072125c1d152c30f8"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#af6e627822f954d6072125c1d152c30f8">HasName</a> () const</td></tr>
|
|
<tr class="memdesc:af6e627822f954d6072125c1d152c30f8"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the object has been named or not. <a href="#af6e627822f954d6072125c1d152c30f8">More...</a><br /></td></tr>
|
|
<tr class="separator:af6e627822f954d6072125c1d152c30f8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab34671f68433c582260a443f3d15bfae"><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#ab34671f68433c582260a443f3d15bfae">BaseName</a> () const</td></tr>
|
|
<tr class="memdesc:ab34671f68433c582260a443f3d15bfae"><td class="mdescLeft"> </td><td class="mdescRight">Returns a base name for automatic naming. <a href="#ab34671f68433c582260a443f3d15bfae">More...</a><br /></td></tr>
|
|
<tr class="separator:ab34671f68433c582260a443f3d15bfae"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a94969a5d7e604ccba7e5b515424a246e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a94969a5d7e604ccba7e5b515424a246e">◆ </a></span>Pack()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">operations_research::Pack::Pack </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="ac41b9dfede7920f5baadea90cddc72ea"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac41b9dfede7920f5baadea90cddc72ea">◆ </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">operations_research::Pack::~Pack </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="ad7fda9d44f000fcb907d2bdeec845423"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad7fda9d44f000fcb907d2bdeec845423">◆ </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 operations_research::Pack::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#a6e3070956af148d6fa0491de1d3cf289">operations_research::Constraint</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa8c9281df8ab547dbed84de1364267d4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa8c9281df8ab547dbed84de1364267d4">◆ </a></span>AddCountAssignedItemsDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="a3030c379670033531aab20df788376ed"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3030c379670033531aab20df788376ed">◆ </a></span>AddCountUsedBinDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="a92da0e27853c3c611f0384457e1fcdb2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a92da0e27853c3c611f0384457e1fcdb2">◆ </a></span>AddSumVariableWeightsLessOrEqualConstantDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="ae82f80cca2acf98982b3c0eb5cc96d03"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae82f80cca2acf98982b3c0eb5cc96d03">◆ </a></span>AddWeightedSumEqualVarDimension() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="a42267aa342941682b197ebef1a9fd6bc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a42267aa342941682b197ebef1a9fd6bc">◆ </a></span>AddWeightedSumEqualVarDimension() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::AddWeightedSumEqualVarDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#a0243986dd2db4b6e1bda331329ae529b">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="af69fc8b35affb174b5e47fbee6de9772"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af69fc8b35affb174b5e47fbee6de9772">◆ </a></span>AddWeightedSumLessOrEqualConstantDimension() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="aee734afb685c74deb94817b754b9e518"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aee734afb685c74deb94817b754b9e518">◆ </a></span>AddWeightedSumLessOrEqualConstantDimension() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::AddWeightedSumLessOrEqualConstantDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#a1040bdf484009e1a00e60ebb055ad1a1">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="a7a66d1abf3e8584e7c5ced64fdbd4cd8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7a66d1abf3e8584e7c5ced64fdbd4cd8">◆ </a></span>AddWeightedSumLessOrEqualConstantDimension() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::AddWeightedSumLessOrEqualConstantDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#a0243986dd2db4b6e1bda331329ae529b">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="acbb9380640b30f024e9986f96d5fe582"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acbb9380640b30f024e9986f96d5fe582">◆ </a></span>AddWeightedSumOfAssignedDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="a15e81047afe54184915345326a7cdaa6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a15e81047afe54184915345326a7cdaa6">◆ </a></span>Assign()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="a4c3227b06d52ecdb2f09dccc01baa347"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4c3227b06d52ecdb2f09dccc01baa347">◆ </a></span>AssignAllPossibleToBin()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="a48b59d1fd372a5f0657774bf83acf847"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a48b59d1fd372a5f0657774bf83acf847">◆ </a></span>AssignAllRemainingItems()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::AssignAllRemainingItems </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7406f484f98fd83e408ffae60895905c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7406f484f98fd83e408ffae60895905c">◆ </a></span>AssignFirstPossibleToBin()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="ae7c46b011db8d3382e6b370bbdeaca4f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae7c46b011db8d3382e6b370bbdeaca4f">◆ </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>* operations_research::Pack::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="ab34671f68433c582260a443f3d15bfae"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab34671f68433c582260a443f3d15bfae">◆ </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 operations_research::PropagationBaseObject::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#af9f1ddd2359a6d10c4003822bfc81289">operations_research::BooleanVar</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af10aa93a14a72df0bd8b5c7143c6648e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af10aa93a14a72df0bd8b5c7143c6648e">◆ </a></span>ClearAll()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::ClearAll </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a494cf6256ff568544390e507a6943112"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a494cf6256ff568544390e507a6943112">◆ </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 operations_research::Pack::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#a443bf6da3f8db15c240cb92d20e37466">operations_research::Constraint</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5975e144479d99ceae4f009472ca5e92"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5975e144479d99ceae4f009472ca5e92">◆ </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 operations_research::PropagationBaseObject::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="a5dd87cd906d80738f8727fda04bc5ace"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5dd87cd906d80738f8727fda04bc5ace">◆ </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 operations_research::PropagationBaseObject::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#l03129">3129</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3fe6115081d583d57b6cd8b0dd1783d7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3fe6115081d583d57b6cd8b0dd1783d7">◆ </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 operations_research::PropagationBaseObject::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#l03130">3130</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4a7285479f5e0fa7663c043cdfc7dd61"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4a7285479f5e0fa7663c043cdfc7dd61">◆ </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 operations_research::PropagationBaseObject::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="a78b16596f589dd63573a1586f61c2dbd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a78b16596f589dd63573a1586f61c2dbd">◆ </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 operations_research::PropagationBaseObject::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#l03120">3120</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af6e627822f954d6072125c1d152c30f8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af6e627822f954d6072125c1d152c30f8">◆ </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 operations_research::PropagationBaseObject::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="adac62b65b527aa23434dd7d1fdba3b14"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adac62b65b527aa23434dd7d1fdba3b14">◆ </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 operations_research::Pack::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#a64ab23714e57db311ba5b9fe1e742979">operations_research::Constraint</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6dc7ba8d99e3f6cc958125cbfaf22293"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6dc7ba8d99e3f6cc958125cbfaf22293">◆ </a></span>IsAssignedStatusKnown()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool operations_research::Pack::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="a834edc2ae995b866a6aa63e44c242570"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a834edc2ae995b866a6aa63e44c242570">◆ </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 operations_research::Constraint::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="a21511d7769c6d0d590e3e8a02892052f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a21511d7769c6d0d590e3e8a02892052f">◆ </a></span>IsPossible()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool operations_research::Pack::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="afc53068cf76b2865a10fafd410da228e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afc53068cf76b2865a10fafd410da228e">◆ </a></span>IsUndecided()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool operations_research::Pack::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="a8be8b75223b76744791e48747677cdb6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8be8b75223b76744791e48747677cdb6">◆ </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 operations_research::PropagationBaseObject::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="af13898c8553d217fa3d52c6e2b504f8d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af13898c8553d217fa3d52c6e2b504f8d">◆ </a></span>OneDomain()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="a22f97f40518e3d2f565d78f7ef6f3b56"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a22f97f40518e3d2f565d78f7ef6f3b56">◆ </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 operations_research::Pack::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#aaa882d58b5fc0f2e3df6eff957ad4a0d">operations_research::Constraint</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a92c3bfe86238b5c95448d4a0384a327f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a92c3bfe86238b5c95448d4a0384a327f">◆ </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 operations_research::Constraint::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="a29f65d45d0fefbab371c7265572d54f4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a29f65d45d0fefbab371c7265572d54f4">◆ </a></span>Propagate()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::Propagate </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac2a200cf86dc0fa3b6a7905971ad88e6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac2a200cf86dc0fa3b6a7905971ad88e6">◆ </a></span>PropagateDelayed()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::PropagateDelayed </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab4e8efc23e9db0d7d793ca7697e89e05"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab4e8efc23e9db0d7d793ca7697e89e05">◆ </a></span>RemoveAllPossibleFromBin()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="ad07aa613bcc8d3896dff3f33520b061c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad07aa613bcc8d3896dff3f33520b061c">◆ </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 operations_research::PropagationBaseObject::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#l03143">3143</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5c6bf90bb0b099a2c8f81aaefdfdd46c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5c6bf90bb0b099a2c8f81aaefdfdd46c">◆ </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 operations_research::PropagationBaseObject::set_action_on_fail </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#a87ca0b6abf9c8724900387f5aa557c04">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#l03137">3137</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5d4a4cf402b353ba2908836656cf0c62"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5d4a4cf402b353ba2908836656cf0c62">◆ </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 operations_research::PropagationBaseObject::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="a4d2ccb8a806df14394b3271791c81e61"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4d2ccb8a806df14394b3271791c81e61">◆ </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 operations_research::PropagationBaseObject::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#l03146">3146</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a104bd60ce9672f53c0539dac7daec58f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a104bd60ce9672f53c0539dac7daec58f">◆ </a></span>SetAssigned()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="ae7875687d4d252d247a0c4c7b78a0326"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae7875687d4d252d247a0c4c7b78a0326">◆ </a></span>SetImpossible()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="a0c9c26b5eef0f2a6bc5c29a6cd193cac"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0c9c26b5eef0f2a6bc5c29a6cd193cac">◆ </a></span>SetUnassigned()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::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="ab3aa61657c74294f198a16d1dbc52580"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab3aa61657c74294f198a16d1dbc52580">◆ </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>* operations_research::PropagationBaseObject::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#l03116">3116</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a43b6922981e5f524b4cd259cc4538336"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a43b6922981e5f524b4cd259cc4538336">◆ </a></span>UnassignAllRemainingItems()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void operations_research::Pack::UnassignAllRemainingItems </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a97782b79fbcf8043201fefaa7729dcf1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a97782b79fbcf8043201fefaa7729dcf1">◆ </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 operations_research::PropagationBaseObject::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#l03124">3124</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5606cc31756a1708615d492ab75ba886"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5606cc31756a1708615d492ab75ba886">◆ </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>* operations_research::Constraint::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><!-- doc-content -->
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|