{
for (int i=0; i<conf_pop_size; i++)
{
+ struct individual *i2 = ep_alloc(ep_individuals);
+ init_individual(i2);
+ population2[i] = i2;
+
if (dbg_init)
printf("Making individual %d\n", i);
struct individual *individual = ep_alloc(ep_individuals); init_individual(individual);
void copy_individual(struct individual *src, struct individual *dest)
{
- src->penalty = dest->penalty;
+ dest->penalty = src->penalty;
GARY_INIT(dest->placements, GARY_SIZE(src->placements));
for (uns i=0; i<GARY_SIZE(src->placements); i++)
{
dest->placements[i] = src->placements[i];
+ dest->placements[i].map_links = NULL;
+ }
+ for (uns j=0; j<num_map_parts; j++)
+ {
+ struct map_part *part = GARY_PUSH(dest->map);
+ GARY_INIT(part->placement, 0);
+ struct map_placement *mp = GARY_PUSH(part->placement);
+ mp->placement = &dummy_placement;
+ mp->next = mp->prev = NULL;
}
}