Research Article

The Train Delay Model Developed by the Genetic Programming Algorithm

Algorithm 1

Used GPA-ES algorithm structure.
(1)FOR ALL individuals DO Initialize() END FOR;
(2)FOR ALL individuals DO Evaluate()=>fitness END FOR;
(3)Sort(individuals according to fitness);
(4)IF terminal condition is met THEN STOP END IF;
(5)FOR ALL individuals DO
 SELECT Rand() OF
  CASE a DO Mutate()=> new_individuals;
  CASE b DO Symmetric_crossover(i-th, (i+1)th individuals) => new_individuals;
  CASE c DO One_point_crossover(i-th, (i+1)th individuals) => new_individuals;
  CASE d DO Re-generating() => new_individuals;
  END SELECT;
 END FOR;
(6)FOR ALL new_individuals DO
  New ES_algorithm_object with related ES_individuals and ES_fitness arrays
 //for each GPA individual new independent parameter optimizer is created
 FOR ALL ES_individuals DO Initialize() END FOR;
Evaluate() => ES_fitness;
 FOR ALL ES_cycles DO
  FOR ALL ES_individuals DO
 Evaluate() => ES_fitness;
  END FOR;
  FOR ALL ES_individuals DO
  Intelligent_crossover() => new_ES_individuals
  Evaluate() => new_ES_fitness;
  END FOR;
  FOR ALL ES_individuals DO
  IF new_ES_fitness < ES_fitness THEN
   ES_individual = new_ES_individual;
   ES_fitness = new_ES_fitness;
   END IF;
  END FOR;
  Sort(ES_individuals, ES_fitness);
 END FOR;
 new_individual = ES_individual[0]; new_fitness = ES_fitness[0];
 END FOR;
(7)FOR ALL individuals DO IF new_fitness < fitness THEN
 individual = new_individual;
 fitness = new_fitness;
 END IF;
END FOR;
(8)GOTO 3);