void dump_linelabel_requests(void);
void dump_individual(struct individual *individual);
void print_label(struct symbol *sym);
-void dump_penalties(void);
+void dump_penalties(struct individual **population);
double gen_movement(void);
double gen_movement_uniform(void);
rs->x2 = e->n2->o->x;
rs->y2 = e->n2->o->y;
- // FIXME: Set text rotation
- rs->angle = atan2(rs->x2 - rs->x1, rs->y2 - rs->y1);
+ rs->slope = (rs->y2 - rs->y1) / (rs->x2 - rs->x1);
rs->zindex = e->zindex;
cur_length += e->length;
}
}
-void dump_penalties(void)
+void dump_penalties(struct individual **population)
{
for (int i=0; i<conf_pop_size; i++)
{
- printf("Individual %d has penalty %d\n", i, population1[i]->penalty);
+ printf("Individual %d has penalty %d\n", i, population[i]->penalty);
}
}
qsort(population1, conf_pop_size, sizeof(struct individual *), cmp_individual);
if (dbg_evolution)
- dump_penalties();
+ dump_penalties(population1);
printf("Dealing with %d requests\n", num_requests);
pop2_ind = 0;
if (dbg_evolution)
- dump_penalties();
+ dump_penalties(population1);
rank_population();
qsort(population1, conf_pop_size, sizeof(struct individual *), cmp_individual);
if (dbg_evolution)
- dump_penalties();
+ dump_penalties(population1);
}
plan_individual(population1[0]);