⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 easylocal_h-source.html

📁 一个tabu search算法框架
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00415"></a><a class="code" href="class_easylocal__NeighborhoodExplorer.html#n2">00415</a>     Move best_move; 
<a name="l00419"></a><a class="code" href="class_easylocal__NeighborhoodExplorer.html#n3">00419</a>     Move start_move;  
00421     <font class="comment">// the prohibition manager used with memory based strategies</font>
<a name="l00422"></a><a class="code" href="class_easylocal__NeighborhoodExplorer.html#n4">00422</a>     ProhibitionManager&lt;Move&gt;* p_pm; 
00425   };
00426 
<a name="l00437"></a><a class="code" href="union_easylocal__ValueType.html">00437</a>   <font class="keyword">union </font>ValueType {
<a name="l00438"></a><a class="code" href="union_easylocal__ValueType.html#m0">00438</a>     <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> natural; 
<a name="l00439"></a><a class="code" href="union_easylocal__ValueType.html#m1">00439</a>     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> short_natural; 
<a name="l00440"></a><a class="code" href="union_easylocal__ValueType.html#m2">00440</a>     <font class="keywordtype">double</font> real; 
00441   };
00442                 
<a name="l00447"></a><a class="code" href="class_easylocal__ParameterData.html">00447</a>   <font class="keyword">class </font>ParameterData {
00448     std::string name;
00449     std::string type;
00450     ValueType value;
00451   <font class="keyword">public</font>:
00452     <a class="code" href="class_easylocal__ParameterData.html#a0">ParameterData</a>(std::string,std::string,ValueType);
00453     std::string <a class="code" href="class_easylocal__ParameterData.html#a1">Name</a>() <font class="keyword">const</font>;
00454     std::string <a class="code" href="class_easylocal__ParameterData.html#a2">Type</a>() <font class="keyword">const</font>;
00455     ValueType <a class="code" href="class_easylocal__ParameterData.html#a3">Value</a>() <font class="keyword">const</font>;  
00456   };
00457         
<a name="l00462"></a><a class="code" href="class_easylocal__ParameterBox.html">00462</a>   <font class="keyword">class </font>ParameterBox
00463   {
00464   <font class="keyword">public</font>:
00465         <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ParameterBox.html#a0">Put</a>(std::string name, std::string type, ValueType value);
00466     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ParameterBox.html#a0">Put</a>(std::string name, <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> value);
00467     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ParameterBox.html#a0">Put</a>(std::string name, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> value);
00468     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ParameterBox.html#a0">Put</a>(std::string name, <font class="keywordtype">double</font> value);
00469     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ParameterBox.html#a4">Get</a>(std::string name, std::string type, ValueType&amp; value) <font class="keyword">const</font>;
00470     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ParameterBox.html#a4">Get</a>(std::string name, <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font>&amp; value) <font class="keyword">const</font>;
00471     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ParameterBox.html#a4">Get</a>(std::string name, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>&amp; value) <font class="keyword">const</font>;
00472     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ParameterBox.html#a4">Get</a>(std::string name, <font class="keywordtype">double</font>&amp; value) <font class="keyword">const</font>;
00473     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ParameterBox.html#a8">Clear</a>();
00474   <font class="keyword">protected</font>:
<a name="l00475"></a><a class="code" href="class_easylocal__ParameterBox.html#n0">00475</a>     std::list&lt;ParameterData&gt; parameters; 
00477   };
00478 
00494   template &lt;class Input, class State&gt;
<a name="l00495"></a><a class="code" href="class_easylocal__Runner.html">00495</a>   <font class="keyword">class </font>Runner 
00496   {  
00497   <font class="keyword">public</font>:
<a name="l00499"></a><a class="code" href="class_easylocal__Runner.html#a0">00499</a>     <font class="keyword">virtual</font> <a class="code" href="class_easylocal__Runner.html#a0">~Runner</a>()<font class="keyword"> </font>{}
00500     <a class="code" href="class_easylocal__Runner.html#a1">Runner</a>(std::string s = <font class="stringliteral">"Runner name"</font>, std::string t = <font class="stringliteral">"Runner type"</font>);
00502     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__Runner.html#a2">Go</a>() = 0;
00505     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__Runner.html#a3">Step</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> n) = 0;
00509     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__Runner.html#a4">Print</a>(std::ostream&amp; os = std::cout) <font class="keyword">const</font> = 0;
00512     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__Runner.html#a5">SetCurrentState</a>(<font class="keyword">const</font> State&amp; st) = 0;
00515     <font class="keyword">virtual</font> State <a class="code" href="class_easylocal__Runner.html#a6">GetCurrentState</a>() = 0;
00518     <font class="keyword">virtual</font> fvalue <a class="code" href="class_easylocal__Runner.html#a7">CurrentStateCost</a>() = 0; 
00521     <font class="keyword">virtual</font> State <a class="code" href="class_easylocal__Runner.html#a8">GetBestState</a>() = 0;
00524     <font class="keyword">virtual</font> fvalue <a class="code" href="class_easylocal__Runner.html#a9">BestStateCost</a>() = 0;
00526     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__Runner.html#a10">ComputeCost</a>() = 0;
00531     <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="class_easylocal__Runner.html#a11">LowerBoundReached</a>() = 0;
00534     <font class="keyword">virtual</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> <a class="code" href="class_easylocal__Runner.html#a12">NumberOfIterations</a>() <font class="keyword">const</font> = 0;
00536     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__Runner.html#a13">ReadParameters</a>() = 0;
00537     std::string <a class="code" href="class_easylocal__Runner.html#a14">Name</a>();
00538     std::string <a class="code" href="class_easylocal__Runner.html#a15">Type</a>();
00539     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__Runner.html#a16">SetName</a>(std::string s);
00542     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__Runner.html#a17">SetInput</a>(Input* in) = 0;
00545     <font class="keyword">virtual</font> Input* <a class="code" href="class_easylocal__Runner.html#a18">GetInput</a>() = 0;
00548     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__Runner.html#a19">Check</a>() = 0;
00552     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__Runner.html#a20">SetParameters</a>(<font class="keyword">const</font> ParameterBox&amp; pb) = 0;
00553   <font class="keyword">protected</font>:
<a name="l00554"></a><a class="code" href="class_easylocal__Runner.html#n1">00554</a>     std::string name, 
00555       type; 
00556   };
00557 
00563   template &lt;class Input, class State, class Move&gt;
<a name="l00564"></a><a class="code" href="class_easylocal__MoveRunner.html">00564</a>   <font class="keyword">class </font>MoveRunner : <font class="keyword">public</font> Runner&lt;Input,State&gt;
00565   {
00566   <font class="keyword">public</font>:
<a name="l00568"></a><a class="code" href="class_easylocal__MoveRunner.html#a0">00568</a>     <font class="keyword">virtual</font> <a class="code" href="class_easylocal__MoveRunner.html#a0">~MoveRunner</a>()<font class="keyword"> </font>{};
00569     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#a1">Go</a>();
00570     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#a2">Step</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> n);
00571     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#a3">SetCurrentState</a>(<font class="keyword">const</font> State&amp; s);
00572     State <a class="code" href="class_easylocal__MoveRunner.html#a4">GetCurrentState</a>();
00573     fvalue <a class="code" href="class_easylocal__MoveRunner.html#a5">CurrentStateCost</a>();
00574     State <a class="code" href="class_easylocal__MoveRunner.html#a6">GetBestState</a>();
00575     fvalue <a class="code" href="class_easylocal__MoveRunner.html#a7">BestStateCost</a>();
00576     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#a8">ComputeCost</a>(); 
00577     <font class="keywordtype">bool</font> <a class="code" href="class_easylocal__MoveRunner.html#a9">LowerBoundReached</a>();
00578     <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> <a class="code" href="class_easylocal__MoveRunner.html#a10">NumberOfIterations</a>() <font class="keyword">const</font>;
00579     <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> <a class="code" href="class_easylocal__MoveRunner.html#a11">MaxIteration</a>() <font class="keyword">const</font>;
00580     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#a12">SetMaxIteration</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> max);
00581     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#a13">SetInput</a>(Input* in);
00582     Input* <a class="code" href="class_easylocal__MoveRunner.html#a14">GetInput</a>();
00583     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#a15">Print</a>(std::ostream&amp; os = std::cout) <font class="keyword">const</font>;
00584     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#a16">SetParameters</a>(<font class="keyword">const</font> ParameterBox&amp; pb);
<a name="l00589"></a><a class="code" href="class_easylocal__MoveRunner.html#a17">00589</a>     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#a17">SetPlotStream</a>(std::ostream* os = &amp;std::cerr)<font class="keyword"> </font>
00590 <font class="keyword">    </font>{ pos = os; }
00591     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#a18">Check</a>();
00592   <font class="keyword">protected</font>:
00593     <a class="code" href="class_easylocal__MoveRunner.html#b0">MoveRunner</a>(StateManager&lt;Input,State&gt;* s, 
00594                NeighborhoodExplorer&lt;Input,State,Move&gt;* ne, Input* in = NULL, 
00595                std::string name = <font class="stringliteral">"Runner name"</font>, std::string type = <font class="stringliteral">"Move Runner"</font>);
00596     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#b1">InitializeRun</a>();
<a name="l00598"></a><a class="code" href="class_easylocal__MoveRunner.html#b2">00598</a>     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#b2">TerminateRun</a>()<font class="keyword"> </font>{};
00599     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#b3">ComputeMoveCost</a>(); 
00600     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#b4">UpdateIterationCounter</a>();
00601     <font class="keywordtype">bool</font> <a class="code" href="class_easylocal__MoveRunner.html#b5">MaxIterationExpired</a>();
00603     <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="class_easylocal__MoveRunner.html#b6">StopCriterion</a>() = 0;
00605     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#b7">SelectMove</a>() = 0;
00606     <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="class_easylocal__MoveRunner.html#b8">AcceptableMove</a>();
00607     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#b9">MakeMove</a>();
<a name="l00609"></a><a class="code" href="class_easylocal__MoveRunner.html#b10">00609</a>     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#b10">StoreMove</a>()<font class="keyword"> </font>{}
00610     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveRunner.html#b11">UpdateStateCost</a>();
00611                 
00612     <font class="comment">// input</font>
<a name="l00613"></a><a class="code" href="class_easylocal__MoveRunner.html#n0">00613</a>     Input* p_in; 
00615     <font class="comment">// helpers</font>
<a name="l00616"></a><a class="code" href="class_easylocal__MoveRunner.html#n1">00616</a>     StateManager&lt;Input,State&gt;* p_sm; 
<a name="l00618"></a><a class="code" href="class_easylocal__MoveRunner.html#n2">00618</a>     NeighborhoodExplorer&lt;Input,State,Move&gt;* p_nhe; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -