10.05.2014 Views

Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...

Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...

Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!