it is heuristic technique to find solution of nonlinear problem (one or multi-objective function). it is similar to Genetic Algorithm in some points and differ in other points.
the main concept is to find mathematical formula from dataset, the basic approach is graphical representation for some formulas then achieve crossover or two formulas at any node in tree of representation, another operation is mutation by change any operation or variable in tree. the best formula will be stored while complete all required generations (as in Genetic Algorithm)