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

📄 easylocal_h-source.html

📁 一个tabu search算法框架
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00817"></a><a class="code" href="class_easylocal__Solver.html#n0">00817</a>     Input* p_in; 
<a name="l00818"></a><a class="code" href="class_easylocal__Solver.html#n1">00818</a>     Output* p_out; 
00819   };
00820         
00825   template &lt;class Input, class Output, class State&gt;
<a name="l00826"></a><a class="code" href="class_easylocal__LocalSearchSolver.html">00826</a>   <font class="keyword">class </font>LocalSearchSolver : <font class="keyword">public</font> Solver&lt;Input, Output&gt;
00827   {<font class="keyword">public</font>:
00828     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#a0">SetInitTrials</a>(<font class="keywordtype">int</font> t);
00829     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#a1">Solve</a>();
00834     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#a2">ReSolve</a>();
00835     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#a3">MultiStartSolve</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> n);
00836     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#a4">SetInput</a>(Input* in);
00837     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#a5">Check</a>();
00838     fvalue <a class="code" href="class_easylocal__LocalSearchSolver.html#a6">InternalStateCost</a>();
00839   <font class="keyword">protected</font>:
00840     <a class="code" href="class_easylocal__LocalSearchSolver.html#b0">LocalSearchSolver</a>(StateManager&lt;Input,State&gt;* sm, 
00841                       OutputManager&lt;Input,Output,State&gt;* om, Input* in = NULL, Output* out = NULL);
00846     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#b1">Run</a>() = 0; 
00848     <font class="keyword">virtual</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#b2">NumberOfIterations</a>() <font class="keyword">const</font> = 0;
00849     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#b3">DeliverOutput</a>();
00850     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#b4">FindInitialState</a>();
00851     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__LocalSearchSolver.html#b5">ComputeCost</a>();
<a name="l00852"></a><a class="code" href="class_easylocal__LocalSearchSolver.html#n0">00852</a>     StateManager&lt;Input,State&gt;* p_sm; 
<a name="l00854"></a><a class="code" href="class_easylocal__LocalSearchSolver.html#n1">00854</a>     OutputManager&lt;Input,Output,State&gt;* p_om; 
<a name="l00856"></a><a class="code" href="class_easylocal__LocalSearchSolver.html#n2">00856</a>     fvalue internal_state_cost;  
<a name="l00857"></a><a class="code" href="class_easylocal__LocalSearchSolver.html#n3">00857</a>     State internal_state;        
<a name="l00858"></a><a class="code" href="class_easylocal__LocalSearchSolver.html#n4">00858</a>     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> number_of_init_trials; 
00860   };
00861         
00866   template &lt;class Input, class Output, class State&gt;
<a name="l00867"></a><a class="code" href="class_easylocal__SimpleLocalSearch.html">00867</a>   <font class="keyword">class </font>SimpleLocalSearch : <font class="keyword">public</font> LocalSearchSolver&lt;Input,Output,State&gt;
00868   {
00869   <font class="keyword">public</font>:
00870     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__SimpleLocalSearch.html#a0">SetRunner</a>(Runner&lt;Input,State&gt; *r);
00871   <font class="keyword">protected</font>:
00872     <a class="code" href="class_easylocal__SimpleLocalSearch.html#b0">SimpleLocalSearch</a>(StateManager&lt;Input,State&gt;* sm, 
00873                       OutputManager&lt;Input,Output,State&gt;* om,
00874                       Runner&lt;Input,State&gt;* r, Input* in = NULL, Output* out = NULL);
00875     <a class="code" href="class_easylocal__SimpleLocalSearch.html#b0">SimpleLocalSearch</a>(StateManager&lt;Input,State&gt;* sm, 
00876                       OutputManager&lt;Input,Output,State&gt;* om, Input* in = NULL, Output* out = NULL);
00877     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__SimpleLocalSearch.html#b2">Run</a>(); 
00878     <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> <a class="code" href="class_easylocal__SimpleLocalSearch.html#b3">NumberOfIterations</a>() <font class="keyword">const</font>;
<a name="l00879"></a><a class="code" href="class_easylocal__SimpleLocalSearch.html#n0">00879</a>     Runner&lt;Input,State&gt;* p_runner; 
00880   };
00881         
00882         
00886   template &lt;class Input, class Output, class State&gt;
<a name="l00887"></a><a class="code" href="class_easylocal__MultiRunnerSolver.html">00887</a>   <font class="keyword">class </font>MultiRunnerSolver : <font class="keyword">public</font> LocalSearchSolver&lt;Input,Output,State&gt;
00888   {
00889   <font class="keyword">public</font>:
00890     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MultiRunnerSolver.html#a0">ClearRunners</a>();
00891     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MultiRunnerSolver.html#a1">AddRunner</a>(Runner&lt;Input,State&gt; *r);
00892     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MultiRunnerSolver.html#a2">SetRunner</a>(Runner&lt;Input,State&gt; *r, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> i);             
00893   <font class="keyword">protected</font>:
00894     <a class="code" href="class_easylocal__MultiRunnerSolver.html#b0">MultiRunnerSolver</a>(StateManager&lt;Input,State&gt;* sm, 
00895                       OutputManager&lt;Input,Output,State&gt;* om, Input* in = NULL, Output* out = NULL);
00896     <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> <a class="code" href="class_easylocal__MultiRunnerSolver.html#b1">NumberOfIterations</a>() <font class="keyword">const</font>;
<a name="l00897"></a><a class="code" href="class_easylocal__MultiRunnerSolver.html#n0">00897</a>     <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> total_iterations; 
<a name="l00900"></a><a class="code" href="class_easylocal__MultiRunnerSolver.html#n1">00900</a>     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> start_runner;      
<a name="l00902"></a><a class="code" href="class_easylocal__MultiRunnerSolver.html#n2">00902</a>     std::vector&lt;Runner&lt;Input,State&gt;* &gt; runners; 
00904   };
00905         
00910   template &lt;class Input, class Output, class State&gt;
<a name="l00911"></a><a class="code" href="class_easylocal__ComparativeSolver.html">00911</a>   <font class="keyword">class </font>ComparativeSolver : <font class="keyword">public</font> MultiRunnerSolver&lt;Input,Output,State&gt;
00912   {
00913   <font class="keyword">protected</font>:
<a name="l00922"></a><a class="code" href="class_easylocal__ComparativeSolver.html#b0">00922</a>     <a class="code" href="class_easylocal__ComparativeSolver.html#b0">ComparativeSolver</a>(StateManager&lt;Input,State&gt;* sm, 
00923                       OutputManager&lt;Input,Output,State&gt;* om, 
00924                       Input* in = NULL, Output* out = NULL) 
00925       : MultiRunnerSolver&lt;Input,Output,State&gt;(sm,om,in,out) {}
00926     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ComparativeSolver.html#b1">Run</a>();  
<a name="l00927"></a><a class="code" href="class_easylocal__ComparativeSolver.html#n0">00927</a>     State start_state; 
00929   };
00930         
00935   template &lt;class Input, class Output, class State&gt;
<a name="l00936"></a><a class="code" href="class_easylocal__TokenRingSolver.html">00936</a>   <font class="keyword">class </font>TokenRingSolver : <font class="keyword">public</font> MultiRunnerSolver&lt;Input,Output,State&gt;
00937   {<font class="keyword">public</font>:
00938     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__TokenRingSolver.html#a0">SetRounds</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> r);
00939     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__TokenRingSolver.html#a1">SetStartRunner</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> sr);
00940     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__TokenRingSolver.html#a2">Check</a>();
00941     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__TokenRingSolver.html#a3">Print</a>(std::ostream&amp; os = std::cout) <font class="keyword">const</font>;
00942   <font class="keyword">protected</font>:
00943     <a class="code" href="class_easylocal__TokenRingSolver.html#b0">TokenRingSolver</a>(StateManager&lt;Input,State&gt;* sm, 
00944                     OutputManager&lt;Input,Output,State&gt;* om, Input* in = NULL, Output* out = NULL); 
00945     <font class="comment">// Run all runners circularly on the same thread</font>
00946     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__TokenRingSolver.html#b1">Run</a>();
<a name="l00947"></a><a class="code" href="class_easylocal__TokenRingSolver.html#n0">00947</a>     <font class="keywordtype">int</font> max_idle_rounds; 
00949     <font class="comment">//    unsigned int start_runner;</font>
00950   };
00951         
00964   template &lt;class Input, class Output, class State&gt;
<a name="l00965"></a><a class="code" href="class_easylocal__AbstractMoveTester.html">00965</a>   <font class="keyword">class </font>AbstractMoveTester 
00966   {
00967   <font class="keyword">public</font>:
00968     <a class="code" href="class_easylocal__AbstractMoveTester.html#a0">AbstractMoveTester</a>(std::string s);
<a name="l00970"></a><a class="code" href="class_easylocal__AbstractMoveTester.html#a1">00970</a>     <font class="keyword">virtual</font> <a class="code" href="class_easylocal__AbstractMoveTester.html#a1">~AbstractMoveTester</a>()<font class="keyword"> </font>{}
00971     std::string <a class="code" href="class_easylocal__AbstractMoveTester.html#a2">Name</a>();
00975     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__AbstractMoveTester.html#a3">RunTestMenu</a>(State&amp; st) = 0;
00980     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__AbstractMoveTester.html#a4">SetInput</a>(Input* in) = 0;
00981   <font class="keyword">protected</font>:
<a name="l00982"></a><a class="code" href="class_easylocal__AbstractMoveTester.html#n0">00982</a>     std::string name; 
00983   };
00984         
00989   template &lt;class Input, class Output, class State, class Move&gt;
<a name="l00990"></a><a class="code" href="class_easylocal__MoveTester.html">00990</a>   <font class="keyword">class </font>MoveTester : <font class="keyword">public</font> AbstractMoveTester&lt;Input,Output,State&gt;
00991   {
00992   <font class="keyword">public</font>:
00993     <a class="code" href="class_easylocal__MoveTester.html#a0">MoveTester</a>(StateManager&lt;Input,State&gt;* sm, OutputManager&lt;Input,Output,State&gt;* om, NeighborhoodExplorer&lt;Input,State,Move&gt;* ne, std::string nm, Input* in = NULL);
00994     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveTester.html#a1">RunTestMenu</a>(State&amp; st);
00995     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__MoveTester

⌨️ 快捷键说明

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