Quando os problemas são muito complexos em vez de fazer uma resolução exacta usam-se heurísticas.
As heurísticas são técnicas de pesquisa de soluções que vão partir de um ponto base e tentando chegar a a soluções melhores tendo um algoritmo própria de procura dessas soluções.
Um algoritmo genético parte de uma população com determinadas características e simula a sua evolução ao longo do tempo.
Existem passos de combinação, mutação e filtragem que são repetidos várias vezes através de várias gerações chegando-se a resultados mais interessantes.A função de avaliação vai permitir escolher os melhores ajustamentos em cada geração.