I en genetisk algoritme blir et sett (populasjon) av potensielle løsninger til et optimaliseringsproblem utviklet til bedre løsninger. Hver kandidat i populasjonen har et sett av verdier (sine kromosomer, gener eller genotype) som kan muteres og endres; tradisjonelt sett er løsninger oftest representert binært, men andre kodingsformer er også mulige. Utviklingen starter oftest fra tilfeldig genererte individer, og er en iterativ prosess, der hver populasjon kalles en generasjon. I hver generasjon blir alle individene i populasjonen evaluert av en fitness-funksjon som har til oppgave å beregne kvaliteten til hvert enkelt individ, og som helhet hvor nært optimaliseringsproblemet er til å bli løst. Individene med høyest fitness-verdi blir krysset med hverandre og utsatt for en mutasjonsprosess som tilfeldig endrer deler av genomet. Hvor ofte mutasjon skal forekomme blir bestemt av en mutasjonsrate To individer med høy fitness krysses og danner to nye individer som blir med på å forme en ny generasjon. Den nye generasjonen blir deretter brukt i den neste iterasjonen av algoritmen. Algoritmen avsluttes som regel enten etter et bestemt antall generasjoner, eller når en tilfredsstillende fitnessverdi for populasjonen er oppnådd.