differential evolution algorithm thesis