Genetisk optimering är användningen av programmeringsalgoritmer för att hitta den bästa lösningen på ett problem. Detta har sitt ursprung i arbetet med matematiker som började redan på 1950-talet som tog modeller de såg inom biologin och tillämpade dem på olinjära problem som var svåra att lösa på konventionellt sätt. Tanken är att efterlikna biologi, som utvecklas under loppet av generationer för att skapa den starkaste möjliga befolkningen. I programmering är det möjligt att simulera denna process för att komma fram till en kreativ lösning på ett problem.
Icke-linjära problem kan vara utmanande för matematiker. Ett exempel kan ses inom värdepappershandel, där det kan finnas ett antal möjliga beslut som snabbt förgrenar sig för att skapa ett valträd. Att självständigt beräkna sannolikheterna för varje val skulle vara mycket tidskrävande. Matematikern kan också missa en optimal lösning genom att misslyckas med att kombinera möjliga val för att utforska nya permutationer. Genetisk optimering gör det möjligt för forskare att utföra beräkningar av detta slag på ett mer effektivt sätt.
Forskaren börjar med ett ämne av intresse, känt som en ”population”, som kan delas in i individer, ibland kända som varelser, organismer eller kromosomer. Dessa termer, lånade från biologi, återspeglar ursprunget till denna metod för programmering. En dator kan börja köra en simulering med populationen, välja enskilda organismer inom en generation och låta dem blandas för att skapa en ny generation. Denna process kan upprepas genom flera generationer för att kombinera och rekombinera möjliga lösningar, idealiskt för att komma fram till det bästa alternativet för de givna förhållandena.
Detta kan vara extremt resurstungt. Beräkningarna som används vid genetisk optimering kräver betydande beräkningskraft för att snabbt jämföra och välja ett antal alternativ och kombinationer samtidigt. Tidig forskning om genetisk optimering begränsades ibland av tillgänglig processorkraft, eftersom forskare kunde se de potentiella tillämpningarna, men kunde inte köra komplexa program. När datorkraften ökar, gör användbarheten av denna metod lika bra, även om stora och komplexa beräkningar fortfarande kan kräva en mycket specialiserad dator.
Forskare inom matematikområdet kan arbeta med genetisk optimering i en mängd olika miljöer. Pågående utveckling av nya formler och tillvägagångssätt illustrerar utvecklingen inom matematiken när människor lär sig om nya sätt att överväga komplexa problem. En del enkel genetisk optimering kan ses i arbete i inställningar som programvara för värdepappershandlare och programmering för spel och virtuell verklighet där programmerarna vill att användarna ska få en mer naturlig upplevelse.