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

📄 easylocal_h-source.html

📁 一个tabu search算法框架
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <title>EasyLocal++ Documentation</title>
  <link href="local.css" rel="stylesheet" type="text/css">
</head>

<body lang="en">

<table width="100%" border="0">
  <tbody>
    <tr>
      <td colspan="2"><h1 class="nojustify">EasyLocal++ Documentation</h1>
        <hr>
      </td>
    </tr>
    <tr>
      <td width="30" align="center">&nbsp;</td>
      <td>
<!-- Generated by Doxygen 1.2.5 on Sat Jun 9 18:59:15 2001 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>EasyLocal.h</h1><a href="EasyLocal_h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 
00016 <font class="preprocessor">#ifndef __EASYLOCAL_H</font>
00017 <font class="preprocessor"></font><font class="preprocessor">#define __EASYLOCAL_H</font>
00018 <font class="preprocessor"></font>
00019 <font class="preprocessor">#include &lt;iostream&gt;</font>
00020 <font class="preprocessor">#include &lt;fstream&gt;</font>
00021 <font class="preprocessor">#include &lt;vector&gt;</font>
00022 <font class="preprocessor">#include &lt;string&gt;</font>
00023 <font class="preprocessor">#include &lt;list&gt;</font>
00024 <font class="preprocessor">#include &lt;cmath&gt;</font>
00025 <font class="preprocessor">#include &lt;cassert&gt;</font>
00026 <font class="preprocessor">#include &lt;ctime&gt;</font>
00027 <font class="preprocessor">#include &lt;cstdio&gt;</font>
00028 
00031 <font class="keyword">extern</font> <font class="stringliteral">"C++"</font> <font class="keywordtype">int</font> <a class="code" href="EasyLocal_h.html#a4">yyparse</a>(); 
00032 
<a name="l00034"></a><a class="code" href="EasyLocal_h.html#a2">00034</a> <font class="keyword">extern</font> FILE *yyin;
<a name="l00036"></a><a class="code" href="EasyLocal_h.html#a3">00036</a> <font class="keyword">extern</font> FILE *yyout;  
00037 
00039 <font class="keyword">namespace </font>easylocal {
00046   <font class="keywordtype">int</font> <a class="code" href="namespace_easylocal.html#a3">Random</a>(<font class="keywordtype">int</font> a, <font class="keywordtype">int</font> b);
00047 
00055 <font class="preprocessor">#ifndef HARD_WEIGHT</font>
<a name="l00056"></a><a class="code" href="EasyLocal_h.html#a0">00056</a> <font class="preprocessor"></font><font class="preprocessor">#define HARD_WEIGHT 1000</font>
00057 <font class="preprocessor"></font><font class="preprocessor">#endif</font>
00058 <font class="preprocessor"></font>        
<a name="l00061"></a><a class="code" href="namespace_easylocal.html#a1">00061</a>   <font class="keyword">const</font> <font class="keywordtype">int</font> RUNNER_NOT_FOUND = 1, RUNNER_TYPE_MISMATCH = 2;
00062         
00070 <font class="preprocessor">#ifndef fvalue</font>
<a name="l00071"></a><a class="code" href="EasyLocal_h.html#a1">00071</a> <font class="preprocessor"></font><font class="preprocessor">#define fvalue double</font>
00072 <font class="preprocessor"></font><font class="preprocessor">#endif</font>
00073 <font class="preprocessor"></font>
<a name="l00077"></a><a class="code" href="namespace_easylocal.html#a2">00077</a>   <font class="keyword">const</font> <font class="keywordtype">double</font> EPS = 1.0E-6;
00078 
00086   <font class="keyword">inline</font> <font class="keywordtype">double</font> <a class="code" href="namespace_easylocal.html#a4">distance</a>(fvalue x, fvalue y);
00087                 
00107   <font class="comment">// forward class tag declaration</font>
00108   template &lt;class Input, class State&gt; <font class="keyword">class </font>Runner;
00109 
00116   template &lt;class Input, class State&gt;
<a name="l00117"></a><a class="code" href="class_easylocal__StateManager.html">00117</a>   <font class="keyword">class </font>StateManager
00118   {
00119   <font class="keyword">public</font>:
00123     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__StateManager.html#a0">RandomState</a>(State &amp;st) = 0; 
<a name="l00128"></a><a class="code" href="class_easylocal__StateManager.html#a1">00128</a>     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__StateManager.html#a1">UpdateRedundantStateData</a>(State &amp;st)<font class="keyword"> </font>
00129 <font class="keyword">    </font>{}
00130     <font class="keyword">virtual</font> fvalue <a class="code" href="class_easylocal__StateManager.html#a2">SampleState</a>(State &amp;st, <font class="keywordtype">int</font> samples);
00131     <font class="keyword">virtual</font> fvalue <a class="code" href="class_easylocal__StateManager.html#a3">ImprovedSampleState</a>(State &amp;st, <font class="keywordtype">int</font> samples, Runner&lt;Input,State&gt;* r);      
00132                 
00133     <font class="comment">// State Evaluation functions</font>
00134     <font class="keyword">virtual</font> fvalue <a class="code" href="class_easylocal__StateManager.html#a4">CostFunction</a>(<font class="keyword">const</font> State&amp; st) <font class="keyword">const</font>;
00135     <font class="keyword">virtual</font> fvalue <a class="code" href="class_easylocal__StateManager.html#a5">Objective</a>(<font class="keyword">const</font> State&amp; st) <font class="keyword">const</font>;
00136     <font class="keyword">virtual</font> fvalue <a class="code" href="class_easylocal__StateManager.html#a6">Violations</a>(<font class="keyword">const</font> State&amp; st) <font class="keyword">const</font>;
00137                                 
00138     <font class="comment">// debug functions</font>
00139     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__StateManager.html#a7">PrintState</a>(<font class="keyword">const</font> State&amp; st) <font class="keyword">const</font>;
00140     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__StateManager.html#a8">Check</a>() <font class="keyword">const</font>;
00141                 
00142     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__StateManager.html#a9">SetInput</a>(Input* in);
00143     Input* <a class="code" href="class_easylocal__StateManager.html#a10">GetInput</a>();
00144   <font class="keyword">protected</font>:
00145     <a class="code" href="class_easylocal__StateManager.html#b0">StateManager</a>(Input* in = NULL);
<a name="l00146"></a><a class="code" href="class_easylocal__StateManager.html#n0">00146</a>     Input* p_in; 
00147   };
00148 
00158   template &lt;class Input, class Output, class State&gt;
<a name="l00159"></a><a class="code" href="class_easylocal__OutputManager.html">00159</a>   <font class="keyword">class </font>OutputManager
00160   {
00161   <font class="keyword">public</font>:
00165     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__OutputManager.html#a0">OutputState</a>(<font class="keyword">const</font> State &amp;st, Output&amp; out) <font class="keyword">const</font> = 0;
00169     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__OutputManager.html#a1">InputState</a>(State &amp;st, <font class="keyword">const</font> Output&amp; out) <font class="keyword">const</font> = 0;
00170     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__OutputManager.html#a2">ReadState</a>(State &amp;st, std::istream &amp;is) <font class="keyword">const</font>;
00171     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__OutputManager.html#a3">WriteState</a>(<font class="keyword">const</font> State &amp;st, std::ostream &amp;os) <font class="keyword">const</font>;
00172                 
00173     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__OutputManager.html#a4">Check</a>() <font class="keyword">const</font>;
00174     <font class="keywordtype">void</font> <a class="code" href="class_easylocal__OutputManager.html#a5">SetInput</a>(Input* in);
00175     Input* <a class="code" href="class_easylocal__OutputManager.html#a6">GetInput</a>();
00176   <font class="keyword">protected</font>:
<a name="l00181"></a><a class="code" href="class_easylocal__OutputManager.html#b0">00181</a>     <a class="code" href="class_easylocal__OutputManager.html#b0">OutputManager</a>(StateManager&lt;Input,State&gt;* sm, Input* in = NULL) 
00182       :  p_sm(sm), p_in(in) {}
<a name="l00183"></a><a class="code" href="class_easylocal__OutputManager.html#n0">00183</a>     StateManager&lt;Input,State&gt;* p_sm; 
<a name="l00185"></a><a class="code" href="class_easylocal__OutputManager.html#n1">00185</a>     Input* p_in;  
00186   };
00187         
00188   
00197   template &lt;class Move&gt;
<a name="l00198"></a><a class="code" href="class_easylocal__ProhibitionManager.html">00198</a>   <font class="keyword">class </font>ProhibitionManager
00199   {
00200   <font class="keyword">public</font>:
00207     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_easylocal__ProhibitionManager.html#a0">InsertMove</a>(<font class="keyword">const</font> Move&amp; mv, fvalue mv_cost, fvalue curr, fvalue best) = 0;

⌨️ 快捷键说明

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