Hi all galibers,<div><br></div><div>I&#39;m doing a modification of the galib that could be really useful for a new release.</div><div><br></div><div>First I wanted to re-implement population evaluation in a multithread way. So i added the code to do so. But i realize quickly that this imply other modification in the lib.</div>

<div><br></div><div>The evaluation function pointer is stored in a member of GAGenome called Evaluator. Thus two thread could call that function at the same time competing for any static memory. In my case it was even worst, the objective function was implemented as a functor.</div>

<div><br></div><div>So to solve this problem I will implement a Evaluator base class. It will have to implement operator()( GAGenome&amp; g) and operator= to make copy. This way each Genome of a Population will have is own Evaluator.</div>

<div><br></div><div>Guillaume Massé</div><div>École Polytechnique de Montréal</div>