In primii algoritmi euristici, s-a pus accent pe obtinerea unei solutii fezabile si aplicarea unei proceduri
post-optimizare mai apoi.
Printre acesti algoritmi regasim: Saving Algorithm 16 , Sweep Algorithm 17 si Algoritmul lui Fisher 18 si Jaikumar. In ultimii 10 ani majoritatea eforturilor s-au concentrat pe dezvoltarea algoritmilor bazati pe meta- euristica folosind in principal doua principii: cautarea locala si cautarea populatie. In cautarea locala, se efectueaza o explorare intensiva a spatiului de solutii migrand la fiecare pas de la solutia curenta la o alta solutie promitatoare din vecinatate. Simulated annealing (SA) 19 si Tabu search(TS) 20 sunt doua dintre exemple. Cautarea populatie consta din mentinerea unui numar de solutii bune parinte si recombinandu-le pentru a produce copii. Un exemplu clasic este Generic search(GS) 21 care combina doi parinti pentru a obtine copii. Procedura de memorie adaptiva (AMPs) 22 poate fi vazuta ca o extensie a GS unde mai multi parinti sunt folositi pentru a produce mai multi copii. Desi consuma mai mult timp ca primii algoritmi euristici, meta-euristicile sunt capabile de a produce in mod constant solutii de inalta calitate. Desi in rezultatele lui Christofides, Mingozii si Toth(CMT) 23
Din 14 algoritmi , cei mai puternici au produs o solutie optima pe cand rezultatele de la ceilalti s-au dovedit a fi optime sau aproape optime deoarece nu au fost imbunatatiti pe parcursul a sute de ore de efort computational folosind tehnici de cautare sofisticate. Cu toate acestea majoritatea softurilor comerciale si cateva din cele folosite intern de catre companii se bazeaza pe metodologi nesofisticate, uneori datand chiar si din anii 1960. Exista cateva explicatii pentru faptul acesta. Una din explicatii ar fi ca optimizarea algoritmiilor VRP din software este doar o mica parte din produs, majoritatea efortului fiind extinderea managementului datelor si a sofisticatei interfete cu utilizatorul. Nu este un lucru iesit de comun folosirea unor solutii de calitate scazuta si imbunatatirea manuala a rezultatelor. Un alt motiv ar fi faptul ca analistii si programatorii nu sunt la curent cu evolutia ultimilor algoritmi de pe piata.
Patru atribute ale algoritmilor euristici VRP buni
Algoritmii euristici de rutare a vehiculelor, ca majoritatea euristicilor, sunt deobicei masurati folosind doua criterii: acuratete si viteza. In opinia noastra, simplitatea si flexibilitatea sunt deasemenea atribute esentiale ale unor algoritmi euristici buni.
Acuratetea
Acuratetea masuara gradul de deviatie a valorii unei solutii euristice fata de valoarea optima. Majoritatea comparatiilor sunt facute fata de cele mai bune rezultate cunoscute. Asa cum sublinea Barr 24 analiza rezultatelor euristicilor este plina de dificultati. Autorii de multe ori raporteaza rezultatele obtinute pentru combinatia de parametrii cea mai favorabile. Nu toti autorii folosesc aceiasi conventie in rotunjirea numerelor, care, asa cum sublineaza Gendreau 25 , pot duce la rezultate total diferite. O alta problema legata de acuratetea rezultatelor este consistenta. Ca o regula, un utilizator va prefera o euristica care se comporta bine tot timpul si nu una care se comporta mai bine in majoritatea timpului dar foarte rau in unele ocazii. In final, utilizatorii vor prefera in majoritatea cazurilor un algoritm care produce un rezultat bun intr-o etapa cat mai timpurie, iar apoi v-a afisa solutii de o calitate crescand pe parcursul executiei, si nu un algoritm care ofera doar un raspuns final, posibil dupa o lunga perioada de timp. Acest lucru ofera utilizatorului o mai buna perceptie asupra timpului aditional pe care v-a fi nevoit sa il investeasca.
Viteza
Cat de importanta este viteza in rutarea vehiculelor ? Totul depinde de nivelul planningului la care este rezolvata problema si de gradul de acuratete necesar. La o extrema, o aplicate in timp real ca un curierat expres 28 sau un dispecerat de urgente 29 necesita actiuni rapide, uneori instantanee. De exemplu Gendreau et al 29 descrie rolul crucial jucat de calculul in paralel intr-un mediu in care relocarea ambulantelor trebuie determinata in medie la fiecare trei minute. La cealalta extrema, in planificarea pe termen lung, cum ar fi dimensionarea flotei, unde deciziile sunt luate odata la cateva luni, are sens investirea catorva ore sau chiar a catorva zile pentru calcule, mai ales daca la mijloc este vorba de sume mari de bani. Majoritatea aplicatiilor se afla undeva intre aceste doua extreme. Nu pare ne-rezonabil investirea a zece-douazeci de minute pe zi in rezolvarea problemelor de rutare zilnice. Sistemele interactive trebuie bineinteles sa reactioneze mult mai rapid. Problema viitezi nu este tot timpul pusa in perspectiva corespunzator. De exemplu, nu ar fi de preferat un VRP care are o acuratete de 2.38% si ruleaza in 3.48 minute fata de unul care are 5.85% acuratete dar care necesita 0.26 min? Raportarea cu acuratete a timpului computational necesar unui algoritm este o alta problema delicata in literatura de specialitate, in particular, in cazul mai multor rulari sau in cazul calcului paralel. Ca si in cazul acuratetei, standarde stricte nu sunt aplicate in mod consistent de catre cercetatori.