57 for (k = 1; k <= num_gene; k++)
59 city_table[k].
used = 0;
64 num_positions =
geqo_randint(root, 2 * num_gene / 3, num_gene / 3);
67 for (k = 0; k < num_positions; k++)
71 city_table[(int) tour1[pos]].used = 1;
79 while (count < num_positions)
81 if (city_table[k].select_list == -1)
84 while ((city_table[
j].select_list == -1) && (
j < num_gene))
98 for (k = 0; k < num_gene; k++)
100 if (city_table[(
int) tour2[k]].used)
102 offspring[k] = (
Gene) city_table[
select].select_list;
107 offspring[k] = tour2[k];
int geqo_randint(PlannerInfo *root, int upper, int lower)
void ox2(PlannerInfo *root, Gene *mom, Gene *dad, Gene *offspring, int num_gene, City *city_table)
#define select(n, r, w, e, timeout)