Vous êtes sur la page 1sur 2

Algoritmi euristici clasici

Cativa algoritmi euristici au fost conceputi pentru VRP


12
, doar unii dintre ei sunt suficienti de cunoscuti
pentru a fi vazuti cu adevarat ca fiind clasici. Noi ne vom concentra pe trei dintre ei: Algorimtul lui
Clarke si Wright, Algoritmul Sweep si Algoritmul lui Fisher si Jaikumar. Acestia au fost alesi in parte
datorita popularitatii lor, si deasemenea pentru principiile vaste pe care acestia opereaza. Unele extensii
ale acestor metode sunt deasemenea discutate in trecere.

Algoritmul euristic a lui Clarke si Wright
Algoritmul euristic a lui Clarke si Wright
16
este unul din cel mai cunoscut si mai folosit algoritm din ziua
de azi in ciuda unor neajunsul ale acestuia. Se bazeaza pe notiunea de economisire. Initial, o solutie
fezabila consta in n rute bi-directionale intre un depozit si un client. La fiecare iteratie, doua rute (v0, ...,
vi, v0 ) si (v0, vj, ... , v0) sunt contopite intr-o singura ruta (v0, ..., vi, vj, ... , v0) de fiecare data cand acest
lucru este fezabil, astfel generand o economisire de sij = ci0 + c0j cij. In versiunea paralela a
algoritmului , contopirea care genereaza cea mai mare economisire este tot timpul implementata, pe
cand versiunea secventiala continua sa extinda aceiasi ruta pana cand aceasta nu mai este fezabila. In
practica, versiunea paralela este mult mai buna. Este comuna aplicarea unui pas post optimizare


solutiei finale.
Acest algoritm optine un scor foarte buna la simplicitate si viteza si un scor mediu la acuratete. Lipsa de
flexibilitate este probabil una dintre cele mai mari minusuri ale algoritmului. Desi constrangeri aditionale
pot fi in principiu incorporate in algoritm, deobicei acest lucru duce la o degradare a calitatii solutiei.
Acest lucru poate fi explicat prin faptul ca algoritmul este bazat pe un principiu greedy si nu contine nici
un mecanism de a repara contopirile rutelor care se dovedesc a fi nesatisfacatoare. Solomon
36

raporteaza o varianta a algoritmului CW in care economisirile sunt adaptate sa manipuleze ferestrele de
timp, dar rezultatele sunt dezamagitoare.
Cateva variante imbunatatite ale algoritmului CW au fost propuse. Gaskell
37
si Yellow
38
au sugerat
generalizarea economisirilor de forma sij = ci0 + c0j - cij pentru a produce rute mai compacte. Cand este
un parametru pozitiv. Alte imbunatatiri au legatura cu folosirea de structuri de date sofisticate si strategi
de sortare
39,40
pentru o mai buna manipulare a economisirilor. Cu toate acestea, noi credem ca , avand
in vedere stadiul avansat al tehnologiei computationale din ziua de astazi, si viteza de executie foarte
mare a algoritmului CW pe instante de marime medie, imbunatatiriile din partea a doua devin rapid
irelevante.
O alta abordare a studiului algoritmului CW s-a concentrat pe optimizarea contopirii rutelor folosind un
algoritm de potrivire. Primele rezultate privind aceasta idee au fost produse de catre Desrochers si
Verhoog
41
si de catre Altinkemer si Gavish
42
. Cea mai buna si cea mai recenta implementare este cea a
lui Wark si Holt
43
care au obtinut in mod repetat imbunatatiri fata de implementarea originala a
algoritmului CW.
In concluzie, incercarile de imbunatatire ale acestui algoritm ii inlatura doua din cele mai buna
caracteristici (viteza si simplitatea). Aceste incercari de imbunatatire sunt dificil de implementat si nu
adreseaza problema lipsei de flexibilitate a algoritmului original.

Vous aimerez peut-être aussi