John Holland developed genetic algorithms in the 1960s while working at the University of Michigan. Genetic algorithms are inspired by Darwinian evolution and use operations like selection, crossover and mutation to evolve solutions to problems. They work by encoding potential solutions into bit strings and manipulating them to find better solutions over time. Most commercial solvers now use evolutionary algorithms based on Holland's genetic algorithm work.