+void init_individual(struct individual *individual)
+{
+ GARY_INIT(individual->placements, num_requests);
+ GARY_INIT(individual->map, 0);
+ for (uns j=0; j<num_map_parts; j++)
+ {
+ GARY_PUSH(individual->map);
+ struct map_part *part = malloc(sizeof(struct map_part));
+ struct map_placement *mp = malloc(sizeof(struct map_placement));
+ part->placement = mp;
+ part->ind = j;
+ mp->placement = &dummy_placement;
+ mp->next_in_map = mp->prev_in_map = NULL;
+ mp->next_in_placement = mp->prev_in_placement = NULL;
+ individual->map[j] = part;
+ }
+ individual->penalty = 0;
+}
+