D3 G2A: A Dynamic Distributed Double Guided Genetic Algorithm for Optimization and Constraint Satisfaction