📄 easylocal_h-source.html
字号:
<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<Move>* 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& 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>& 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>& 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>& 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<ParameterData> parameters;
00477 };
00478
00494 template <class Input, class State>
<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& 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& 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& 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 <class Input, class State, class Move>
<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<Input,State>
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& 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& 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& 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 = &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<Input,State>* s,
00594 NeighborhoodExplorer<Input,State,Move>* 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<Input,State>* p_sm;
<a name="l00618"></a><a class="code" href="class_easylocal__MoveRunner.html#n2">00618</a> NeighborhoodExplorer<Input,State,Move>* p_nhe;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -