Sunteți pe pagina 1din 10

Proiect la disciplina Tehnici Informatice de Optimizare

Tema: Algoritmi genetici i problema comis-voiajor

Student:
Tomulescu Ionut

Profesor:
Prof.dr.ing Serbencu Adrian

Cuprins

Capitolul 1: Introducere
Capitolul 2: Algoritmi genetici
2.1 Introducere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Explicaie baz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Codificare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Crossover. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Mutatie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Capitolul 3: Problema Calatoriile Salesman
3.1 Introducere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Diferite forme de problema. . . . . . . . . . . . . . . . . . . . . .
3.3 Metode de rezolvare a TSP. . . . . . . . . . . . . . . . . . . . . . . .
Capitolul 4: Algoritmi genetici ca metod de soluionare a cltoriei
Salesman
4.1 Introducere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Compararea metodelor. . . . . . . . . . . . . . . . . . . . . . . . . .

Capitolul 5: Concluzia

1. Introducere
2

Ca aplicaii practice, algoritmii genetici sunt cel mai adesea utiliza i n rezolvarea
problemelor de optimizare, planificare ori cutare. Condi ia esen ial pentru
succesul unei aplicaii cu ageni inteligeni este ca problema de rezolvat s nu cear
obinerea soluiei optime, ci s fie suficient i o solu ie apropiat de optim.
n problema comis-voiajor dorim a gsi un tur pentru toate nodurile ntr-un
grafic ponderat, astfel nct greutatea total sa fie redus la minimum.
Muli operatori de crossover i mutaii diferite au fost concepute pentru
problema comis-voiajor i fiecare dau rezultate diferite.
Algoritmii genetici sunt o tehnica relativ noua de optimizare, care poate fi
aplicata la diferite probleme, inclusiv cele care sunt NP-hard. Tehnica asigur o
soluie optim, cu toate acestea, de obicei, d aproximri bune ntr-o cantitate
rezonabil de timp. Acest lucru, prin urmare, este un algoritm bun pentru a ncerca
pe problema comis-voiajor, una dintre cele mai renumite probleme NP-dure.
Algoritmi genetici se bazeaz vag pe evolu ia natural i prin a folosi tehnica
"supravieuirea celui mai adaptat ", n cazul n care cele mai bune solu ii sunt
variate pn cnd vom obine un rezultat bun.

Capitolul 2: Algoritmi genetici


3

2.1 Introducere
Algoritmii genetici sunt tehnici de optimizare bazat pe o evolu ie natural. Ei
includ supravieuirea celui mai adaptat ntr-un algoritm de cutare, care ofer o
metod de cutare ce nu are nevoie de a explora fiecare solu ie posibil pentru a
obine un rezultat bun. Algoritmii genetici se bazeaz pe un proces natural de
evoluie.
Procedeul algoritm genetic const din urmtoarele etape:
Codare
Evaluarea
Crossover
Mutaia
Decoding
O codificare adecvata este gasirea solu iei la problema noastr, astfel nct fiecare
soluie are o codificare unic i codificarea este sub form de ir.
Populaia iniial este apoi selectat, de obicei la ntmplare.De asemenea, au fost
propuse tehnici folosind euristica Fitness a fiecrui individ
n populaie si apoi calculat ct de bine se potrivete probabilitatea individului.
Acest fitness este folosit pentru a gsi probabilitatea individului de legtur.
Dac un individ are o probabilitate mare (ceea ce indic faptul c este semnificativ
mai aproape optimului dect restul producerii lor). Crossover este n cazul n care
cele dou persoane sunt recombinate pentru a crea noi persoane care sunt copiate n
noua generaie.
Unele persoane sunt alese aleator pentru a suferi mutatii si apoi o muta ie
punctiform. Caracterul din poziia corespunztoare a irului este
schimbat. Odat ce se face acest lucru, o nou generaie a fost format, iar procesul
se repet pn cand criteriul de oprire a fost atins. n acest moment individul
care este cel mai apropiat de optim este decodat iar procesul este complet.
2.2 Explicaie baz
Algoritmii genetici variaz de la a fi foarte simplu pana la a fi destul de dificil de
ai ntelege. nainte de a continua o explicaie de baz a algoritmilor genetici este
necesar a nelege modul de lucru. Vom folosi urmtoarea problem pe parcursul
acestei seciuni.
Vrem s maximizeze f = -2x funcia 2+ 4x - 5 pe numerele ntregi din mulimea
{0,1, ..., 15}.
Prin calcul sau brute force vedem c f este maximizat atunci cnd
X=1

2.3 Codificare
Procesul de codare este adesea cel mai dificil aspect al rezolvarii unei probleme
folosind algoritmi genetici. Aplicarea lor la o anumit problem este de multe ori
greu de realizat,deoarece cu greu se poate gsi o reprezentare corespunztoare a
soluiei care va fi ulterior uor de utilizat n procesul de trecere. Amintii-v c
pentru codificare avem nevoie de multe solu ii posibile pentru a crea o
populaie. Modul tradiional de a reprezinta o solutie este cu un ir de
zero-uri.
Cu toate acestea algoritmi genetici nu sunt limitati la acest sistem de codare dar
pentru moment vom folosi o reprezentare ir binar.
Luai n considerare problema definit mai sus. Solutiile noastre sunt, evident, doar
posibile numere, asa reprezentarea este pur i simplu o forma binar a fiecrui
numr. De exemplu, reprezentrile binare ale lui 12 i 7 sunt 1100 i respectiv 0111.
Reinei c am adugat un zero la nceputul irului 0111, chiar dac aceasta nu are
nici un sens adevrat. Am fcut acest lucru, astfel nct toate numerele din
mulimea {0, ..., 15} au aceeai lungime.
Aceste siruri de caractere sunt numite cromozomi i fiecare element (sau bi i) din
ir se numete gen.
2.4 Crossover
Crossover poate fi o procedur destul de simpl. n exemplul nostru, se foloseste
cel mai simplu caz de ncruciare, alegem la ntmplare doi cromozomi pentru
incrucisare si alegem aleator un punct de crossover, i apoi trecem toate genele
dupa acel punct.
Pentru exemplu, folosind cromozomii: v1= 0111
v2= 1,100
am putea alege la ntmplare punctul de crossover a doua gena dup:
v1= 01 | 11
v2= 11 | 00
Comutarea genele dup punctul de crossover-ar da:
v1= 0100 = 4
v2= 1111 = 15
Avem acum doi noi cromozomi care ar fi mutat n popula ii urmtoare , numit
generaia urmtoare. Nu orice cromozom este utilizat n legtur. Funcia de
evaluare d fiecrui cromozomul un "scor", care este folosit pentru a decide
probabilitatea de a fi cromozom de ncruciat.

2.5 Mutatie
Mutaiile sunt folosite astfel nct s nu fie prins ntr-o optim local. Din cauza
dezordinei procesului vom avea ocazional cromozomi in apropiere de un localnic
optim dar nici unul nu aproape de optimul global. Prin urmare, n apropiere de
cromozomul optim local va fi ales pentru crossover deoarece acesta va avea o mai
bun sansa de fitness i nu vor mai fi foarte puine anse de a gsi optimul global.
Deci mutaia este un mod complet aleator de a ajunge la solu ii posibile care nu ar
putea fi altfel gasite.
Mutatie este realizat dup ncruciare prin alegerea la ntmplare a unui cromozom
n noua generaie a evolua, apoi alegem la ntmplare un punct de a evolua i
schimbam acel punct.

Capitolul 3: Problema Calatoriile Salesman

3.1 Introducere
Ideea problemei comis-voiajorului (TSP) este de a gsi un tur de un anumit numr
de orae, care viziteaz fiecare ora exact o dat i se ntorc n ora .
Lungimea acestui tur este redus la minim.Prima instan a problemei comisvoiajorului a fost data de Euler n 1759 a crui problem a fost s se mute un
cavaler pentru fiecare pozitie pe o tabl de ah exact o dat.
Problema standard sau simetric comis-voiajorului poate afirma automat dup cum
urmeaz:
Avnd n vedere un grafic ponderat G = (V, E) n cazul n care greutatea C la
marginea dintre nodurile i i j este o valoare non-negativ, gsi tur de toate nodurile
care au minim costul total.
n prezent, singura metod cunoscut garantat pentru a rezolva optim problema
vanzator de orice dimensiune, este de a enumera fiecare posibil tur i cutarea
turneului cu cel mai mic cost cu o schimbare.
Fiecare turneu are posibil o permutare de 123 ... n, unde n este numrul de orae,
astfel nct prin urmare, numrul de tururi este n !. Cnd n devine mare, devine
imposibil de a gsi costul de fiecare turneu n timp polinomial.
Multe metode diferite de optimizare au fost folosite pentru a ncerca s rezolve
TSP.
3.2 Diferite forme de problema
Exist mai multe variante diferite ale problemei comis-voiajorului. n primul rnd
cea mai scurt cale este problema hamiltonian.
Dac avem un grafic n care fiecare margine are o greutate i dou noduri vS
i vT sunt date trebuie s gsim pe termen scurt o cale Est Hamiltonian de la vS
la vT.
Dac adugm o margine de vT la vS i da -M greutate n cazul n care M este mare
i pozitiv, turul nostru TSP optim ntotdeauna va duce la aceasta margine
(deoarece va reduce costurile de tur) i, prin urmare va rezolva problema
Hamiltonian.
Asimetric Problema comis-voiajorului, este atunci cnd costul cltoriei
din orasul I la ora J nu este la fel ca si costul de ora i la costul de oras j. Aceasta
poate fi rezolvat n acelai mod ca i standard TSP dac vom aplica anumite
greuti de margine care s se asigure c exist un ciclu hamiltonian n grafic.
Problema timpului vnztor ambulant dependent este aceea i ca standard
cltoresc problem vanzator, excepia fiind perioade de timp. Costul c IJT este
costul de cltorie de la nodul i la nodul j n timp perioada t.
3.3 Metode de rezolvare a TSP
Homaifar prevede c o abordare care ar gsi cu siguran optima

soluie de orice TSP este aplicarea tip enumerare i evaluare exhaustiv.


Procedura const n generarea tuturor excursii posibile i evaluarea si
corespondena lor rspunznd lungime tur.
Turneul cu cea mai mic lungime este selectat ca cel mai bun,care este garantat de
a fi optim. Daca am putea identifica i evalua un tur pe nanosecunde (sau un
miliard de excursii pe secund), ar fi nevoie de aproape zece milioane de
ani (numr de posibile excursii = 3,2 10 23) Pentru a evalua toate excursii ntr-un
ora de 25 de TSP.
Evident, trebuie s gsim un algoritm care ne va da o solu ie ntr-o scurta
perioad de timp. Aa cum am spus mai nainte, problema comis-voiajor este NPhard, astfel nu exist nici un algoritm cunoscut c va rezolva n timp polinomial.
Vom justifica probabil ca trebuie s-i sacrifice optimalitatea n scopul de a ob ine
un rspuns cat mai bun intr-un interval scurt de timp. Multi
algoritmi au fost judecati pentru problema comis-voiajorului.

Capitolul 4:
Algoritmi genetici ca metod de soluionare a cltoriei Salesman

4.1 Introducere
Diferitele forme de codare, de crossover i muta ie care le-am vazut pana acum
pot fi combinate pentru a da diveri algoritmi genetici care pot fi utilizate pentru a
rezolva problema vanzator.
Evident, unele rutine de crossover poate fi utilizat numai cu o anumit form de
codificare aa c nu avem prea multi algoritmi genetic diferiti pentru a explora. De
asemenea, doar anumite metode au fost ncercate, a a c se va uita doar la astea.
n cele din urm, vom pstra n vedere faptul c aceste programe au fost testate pe
diferite probleme i, prin urmare, va fi dificil de a le compara unul altul.

4.2 Compararea metodelor


n primul rnd, vom nota cele mai cunoscute soluii pentru probleme specifice
menionate .
Pentru problema de 25 de ora, cel mai cunoscut este solu ia 1711, problema 30
oraului este 420,problema ora 42 este 699, problema 50 ora ului este 425,
problema 75 oraului este 535, problema oras 100 este 627, problema ora 105 este
14383, iar problema ora 318 este 41345.
Aceste probleme sunt probleme standard cu costuri stabilite vrf, care pot fi
utilizatepentru a testa noi algoritmi.
Vom lua n considerare acum algoritmi genetici pure fr informa ii euristic
folosit.
Luai n considerare crossover modificat par ial (PMX) cu nota ia de turism i
operator de mutaie. Jog a constatat c acest algoritm dat un tur care lungime a fost
cu zece procente mai mare dect am cunoscut optimul pentru problema ora 33.
Pentru oraul 100problem, rezultatul a fost 210 la sut mai mare dect cunoscut
optimul. Homaifar prevede c cea mai bun tur lungimea a aceluia i algoritm este
498 pentru ora 30 problem.
Algoritmul folosind comanda de legtur ofer o performan mai bun, oferind un
rezultat de lungime 425 pentru problema 30 oraului, n timp ce ciclul de trecere
doar ofer un tur de Lungimea 517 pentru aceea i problem. Soluia cel mai bine
cunoscuta pentru problema 30 ora este de 420 astfel de legtur pare a fi cel mai
bun de pn acum.
Deci vedem c algoritmi genetici funcioneaz cel mai bine pentru problema comisvoiajorului atunci cnd vom folosi o reprezentare cu matrice de trecere matrice sau
un crossover euristic.
n ambele cazuri, operatorul de mutaie 2-opt mbunt e te solu ia.
Capitolul 5

Concluzia
Algoritmii genetici par a gsi soluii bune pentru problema vanzator de cltorie,
cu toate acestea, depinde foarte mult de modul n care problema este codificata i
cu trei ci se folosesc metode de mutatie.
n general, se pare c algoritmi genetici s-au dovedit adecvati pentru rezolvarea
problem vanzator de calatorie. Pn acum, algoritmi genetici nu au gsit o mai
bun soluie la problema comis-voiajor dect ce este deja cunoscut, dar multe dintre
cele mai bune soluii deja cunoscute s-au gsit printr-o metod de algoritm genetic
de asemenea,.
Se pare c cea mai mare problem cu algoritmi genetici conceput pentru
problema comis-voiajor este faptul c este dificil s se men in structura din
cromozomii ORL i termina cu un tur legal n cromozomii copilului .

10

S-ar putea să vă placă și