Scheduling parallel processes using genetic algorithms