
108 Chapter Four—Evolutionary Computation Implementations
Listing 4.8 The main() routine of the binary GA implementation.
void main(int argc,char *argv[])
{
if (argc != 2)
{
printf("usage: ga [datFile]\n");
exit(1);
}
GA_Start_Up(dataFile);
GA_Main_Loop();
GA_Clean_Up();
}
void GA_Start_Up (char *datFile)
{
int idx_i;
ga_read_parameter(datFile);
ga_data.indi_length = ga_env_data.dimension * ga_data.bits_per_para;
ga_allocate_memory();
ga_initialization();
for (idx_i = 0; idx_i < ga_data.bits_per_para; idx_i++)
ga_data.gau[idx_i] = gaussian(sqrt(idx_i));
}
void GA_Clean_Up (void)
{
ga_store_results();
ga_free_memory();
}
void GA_Main_Loop (void)
{
while ((++(ga_data.gene_index)) ...