Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...
Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...
Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Population.cpp<br />
167<br />
168<br />
169<br />
170<br />
171<br />
172<br />
173<br />
174<br />
175<br />
176<br />
177<br />
178<br />
179<br />
180<br />
181<br />
182<br />
183<br />
184<br />
185<br />
186<br />
187<br />
188<br />
189<br />
190<br />
191<br />
192<br />
193<br />
194<br />
195<br />
196<br />
197<br />
198<br />
199<br />
200<br />
201<br />
202<br />
203<br />
204<br />
205<br />
206<br />
207<br />
208<br />
209<br />
210<br />
211<br />
212<br />
213<br />
214<br />
215<br />
216<br />
217<br />
218<br />
219<br />
220<br />
221<br />
222<br />
223<br />
224<br />
225<br />
226<br />
}<br />
};<br />
k += delta;<br />
assert (_population_size _cross_over_rate;<br />
const int mutation_factor = int(100 * _ga->_mutation_rate);<br />
assert (0 < mutation_factor);<br />
const int cross_overs = int((_population_size * cross_over_rate) / 2);<br />
for(int i = 0; i < cross_overs; i++)<br />
{<br />
const int i1 = rand() % _population_size;<br />
const int i2 = rand() % _population_size;<br />
};<br />
_next_generation->_genomes.at(i1).Crossover(_next_generation->_genomes.at(i2));<br />
for (i = 0; i < _population_size; i++)<br />
{<br />
if ((rand() % 100) < mutation_factor)<br />
{<br />
_next_generation->_genomes.at(i).Mutate();<br />
};<br />
};<br />
void Population::post_step()<br />
{<br />
}<br />
for (int i = 0; i < _genomes.size(); i++)<br />
{<br />
_genomes.at(i) = _next_generation->_genomes.at(i);<br />
_genomes.at(i)._gaFitness = -1;<br />
_genomes.at(i)._populationFitness = -1;<br />
};<br />
_best_genome = NULL;<br />
// clean up<br />
assert (NULL != _next_generation);<br />
delete _next_generation;<br />
_next_generation = NULL;<br />
Page 3 of 3