📄 firstbitga.html
字号:
</font></tt></b><tt><font color="#993399">// and put it in the population</font></tt><br><b><tt><font color="#993399"> }</font></tt></b></td></tr></table><a NAME="output"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCFFFF" NOSAVE ><tr><td><tt><font color="#3366FF"><b> </b>// sort pop before printingit!</font></tt><br><b><tt><font color="#3366FF"> pop.sort();</font></tt></b><br><tt><font color="#3366FF"><b> </b>// Print (sorted) intial population(raw printout)</font></tt><br><b><tt><font color="#3366FF"> cout << "Initial Population"<< endl;</font></tt></b><br><b><tt><font color="#3366FF"> cout << pop;</font></tt></b></td></tr></table><a NAME="engine"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#99FFCC" NOSAVE ><tr><td><tt><font color="#009900"><b> </b>/////////////////////////////////////</font></tt><br><tt><font color="#009900"><b> </b>// selection and replacement</font></tt><br><tt><font color="#009900"><b> </b>////////////////////////////////////</font></tt></td></tr></table><a NAME="select"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#99FFCC" NOSAVE ><tr><td><tt><font color="#009900"><b> </b>// The robust tournament selection</font></tt><br><tt><font color="#009900"><b> eoDetTournamentSelect<Indi> select(T_SIZE); </b>// T_SIZE in [2,POP_SIZE]</font></tt></td></tr></table><a NAME="replace"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#99FFCC" NOSAVE ><tr><td><tt><font color="#009900"><b> </b>// The simple GA evolution engineuses generational replacement</font></tt><br><tt><font color="#009900"><b> </b>// so no replacement procedureis needed</font></tt></td></tr></table><a NAME="stop"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCFFFF" NOSAVE ><tr><td></td></tr></table><a NAME="operators"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#FFCCFF" NOSAVE ><tr><td><tt><font color="#993399"><b> </b>//////////////////////////////////////</font></tt><br><tt><font color="#993399"><b> </b>// The variation operators</font></tt><br><tt><font color="#993399"><b> </b>//////////////////////////////////////</font></tt></td></tr></table><a NAME="crossover"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#FFCCFF" NOSAVE ><tr><td><tt><font color="#993399"><b> </b>// 1-point crossover for bitstring</font></tt><br><b><tt><font color="#993399"> eo1PtBitXover<Indi> xover;</font></tt></b></td></tr></table><a NAME="mutation"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#FFCCFF" NOSAVE ><tr><td><br><tt><font color="#993399"><b> </b>// standard bit-flip mutationfor bitstring</font></tt><br><b><tt><font color="#993399"> eoBitMutation<Indi> mutation(P_MUT_PER_BIT);</font></tt></b></td></tr></table><a NAME="stop"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCFFFF" NOSAVE ><tr><td><tt><font color="#3366FF"><b> </b>//////////////////////////////////////</font></tt><br><tt><font color="#3366FF"><b> </b>// termination condition</font></tt><br><tt><font color="#3366FF"><b> </b>/////////////////////////////////////</font></tt><br><tt><font color="#3366FF"><b> </b>// stop after MAX_GEN generations</font></tt><br><b><tt><font color="#3366FF"> eoGenContinue<Indi> continuator(MAX_GEN);</font></tt></b><br> </td></tr></table><a NAME="generation"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#FFCC99" NOSAVE ><tr><td><tt><font color="#FF6666"><b> </b>/////////////////////////////////////////</font></tt><br><tt><font color="#FF6666"><b> </b>// the algorithm</font></tt><br><tt><font color="#FF6666"><b> </b>////////////////////////////////////////</font></tt><br><tt><font color="#FF6666"><b> </b>// standard Generational GArequires as parameters</font></tt><br><tt><font color="#FF6666"><b> </b>// selection, evaluation, crossoverand mutation, stopping criterion</font></tt><p><b><tt><font color="#FF6666"> eoSGA<Indi> gga(select, xover,CROSS_RATE, mutation, MUT_RATE, </font></tt></b><br><b><tt><font color="#FF6666"> eval, continuator);</font></tt></b><br><tt><font color="#FF6666"><b> </b>// Apply algo to pop - that'sit!</font></tt><br><b><tt><font color="#FF6666"> gga(pop);</font></tt></b><br> </td></tr></table><a NAME="final_output"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCFFFF" NOSAVE ><tr><td><tt><font color="#3366FF"><b> </b>// Print (sorted) intial population</font></tt><br><b><tt><font color="#3366FF"> pop.sort();</font></tt></b><br><b><tt><font color="#3366FF"> cout << "FINAL Population\n"<< pop << endl;</font></tt></b></td></tr></table><a NAME="main"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#FFCC99" NOSAVE ><tr><td><b><tt><font color="#993300">}</font></tt></b><br><tt><font color="#993300">// A main that catches the exceptions</font></tt><br><b><tt><font color="#993300">int main(int argc, char **argv)</font></tt></b><br><b><tt><font color="#993300">{</font></tt></b><br><b><tt><font color="#993300">#ifdef _MSC_VER</font></tt></b><br><tt><font color="#993300"><b> </b>// rng.reseed(42);</font></tt><br><b><tt><font color="#993300"> int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF);</font></tt></b><br><b><tt><font color="#993300"> flag|= _CRTDBG_LEAK_CHECK_DF;</font></tt></b><br><b><tt><font color="#993300"> _CrtSetDbgFlag(flag);</font></tt></b><br><tt><font color="#993300">// _CrtSetBreakAlloc(100);</font></tt><br><b><tt><font color="#993300">#endif</font></tt></b><br><b><tt><font color="#993300"> try</font></tt></b><br><b><tt><font color="#993300"> {</font></tt></b><br><b><tt><font color="#993300"> main_function(argc, argv);</font></tt></b><br><b><tt><font color="#993300"> }</font></tt></b><br><b><tt><font color="#993300"> catch(exception&e)</font></tt></b><br><b><tt><font color="#993300"> {</font></tt></b><br><b><tt><font color="#993300"> cout << "Exception: " << e.what() << '\n';</font></tt></b><br><b><tt><font color="#993300"> }</font></tt></b><br><b><tt><font color="#993300"> return 1;</font></tt></b><br><b><tt><font color="#993300">}</font></tt></b></td></tr></table><hr WIDTH="100%"><a href="eoLesson1.html">Back to Lesson 1</a> - <a href="eoTutorial.html">Tutorialmain page </a>- <a href="eoTopDown.html">Algorithm-Based</a> - <a href="eoBottomUp.html">Component-Basedpage</a> - <a href="eoProgramming.html">Programming hints</a> - <font face="Arial,Helvetica"><a href="../../doc/html/index.html">EOdocumentation</a></font><hr><address><a href="mailto:Marc.Schoenauer@inria.fr">Marc Schoenauer</a></address><br><!-- Created: Nov 2000 --><!-- hhmts start -->Last modified: Sun Nov19 08:31:26 2000<!-- hhmts end --></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -