DE uses a population of agents. Let denote the position of an agent being updated and which has been picked at random from the entire population. Let be its new potential position computed as follows (this is the so-called DE/rand/1/bin variant):
Here, the vectors , , and are the positions of distinct and randomly-picked agents from the population. The index is randomly-picked and is also picked randomly for each dimension, . A move is made to the new position if it improves on the fitness of . The user-defined parameters consist of the differential weight , the crossover probability , and the population-size .