Java implementation of genetic algorithms (e.g. Knapsack, SAT problem)