Optimizarea genetică este utilizarea algoritmilor de programare pentru a găsi cea mai bună soluție la o problemă. Aceasta își are originile în munca matematicienilor care au început încă din anii 1950, care au luat modele pe care le-au văzut în biologie și le-au aplicat la probleme neliniare care erau greu de rezolvat prin mijloace convenționale. Ideea este de a imita biologia, care evoluează de-a lungul generațiilor pentru a crea cea mai bună populație posibilă. În programare, este posibil să simulăm acest proces pentru a veni cu o soluție creativă la o problemă.
Problemele neliniare pot fi o provocare pentru matematicieni. Un exemplu poate fi văzut în tranzacționarea cu valori mobiliare, unde pot exista o serie de decizii posibile care se ramifică rapid pentru a crea un arbore de opțiuni. Pentru a calcula independent probabilitățile asociate cu fiecare alegere ar fi foarte consumator de timp. De asemenea, matematicianul ar putea rata o soluție optimă, eșuând în combinarea posibilelor alegeri pentru a explora noi permutări. Optimizarea genetică permite cercetătorilor să efectueze calcule de această natură într-un mod mai eficient.
Cercetătorul începe cu un subiect de interes, cunoscut sub numele de „populație”, care poate fi împărțit în indivizi, uneori cunoscuți ca creaturi, organisme sau cromozomi. Acești termeni, împrumutați din biologie, reflectă originile acestei abordări a programării. Un computer poate începe să ruleze o simulare cu populația, selectând organisme individuale într-o generație și permițându-le să se amestece pentru a crea o nouă generație. Acest proces poate fi repetat de-a lungul mai multor generații pentru a combina și recombina soluțiile posibile, ajungând în mod ideal la cea mai potrivită opțiune pentru condițiile date.
Aceasta poate fi extrem de grea de resurse. Calculele utilizate în optimizarea genetică necesită o putere de calcul semnificativă pentru a compara și selecta rapid un număr de opțiuni și combinații simultan. Cercetările timpurii în optimizarea genetică au fost uneori limitate de puterea de procesare disponibilă, deoarece cercetătorii puteau vedea aplicațiile potențiale, dar nu puteau executa programe complexe. Pe măsură ce puterea computerului crește, utilitatea acestei metode o face și ea, deși calculele mari și complexe pot necesita totuși un computer foarte specializat.
Cercetătorii din domeniul matematicii pot lucra cu optimizarea genetică într-o varietate de setări. Dezvoltarea continuă de noi formule și abordări ilustrează evoluțiile în matematică pe măsură ce oamenii învață despre noi modalități de a lua în considerare probleme complexe. O simplă optimizare genetică poate fi văzută la lucru în setări precum software-ul pentru comercianții de valori mobiliare și programarea pentru jocuri și realitate virtuală în care programatorii doresc ca utilizatorii să aibă o experiență mai naturală.