2.4 EINES DE CÀLCUL APROXIMADES
2.4.1 Mètodes heurístics
En contraposició amb els mètodes exactes que proporcionen una solució òptima del problema, els mètodes heurístics es limiten a proporcionar una bona solució del problema no necessàriament òptima. Lògicament, el temps invertit per un mètode exacte per trobar la solució òptima d’un problema difícil, si és que existeix tal mètode, és d’un ordre de magnitud molt superior al de l’heurístic (pot arribar a ser tan gran en molts casos, que sigui inaplicable).
Els mètodes heurístics són de naturalesa molt diferents, hi ha els següents mètodes: - De Descomposició: els quals descomposen el problema en subproblemes més
senzills de resoldre.
- Els mètodes inductius: pretenen generalitzar de versions petites al cas complet.
- Els mètodes de cerca local: són aquells que comencen amb una solució del problema i la milloren progressivament (els algorismes genètics pertanyen a aquesta categoria).
- Els mètodes constructius: són deterministes i consisteixen en construir pas a pas una solució del problema, i solen millorar l’elecció en cada iteració (Els algorismes d’aproximació com l’algorisme de Christofides pertanyen a aquesta categoria).
En programació es diu que un algorisme és heurístic quan la solució no es determina en forma directa, sinó mitjançant assaigs, proves i tornar a assajar.
El mètode consisteix en generar candidats de solucions possibles d’acord a un patró donat, llavors els candidats són sotmesos a proves d’acord a un criteri que caracteritza la solució. Si un candidat no és acceptat, es genera un altre; i els passos
donats amb el candidat anterior no es consideren. És a dir, existeix inherentment una volta enrere, per començar a generar un nou candidat; per aquesta raó, aquest tipus d’algorisme també es denomina "amb volta enrere" (backtracking).
Els autors Larson & Odoni (1981) van plantejar que per a l’aplicació d’algorismes al sistema m-TSP es podem seguir les següent estratègies:
- Cluster first, route second. Primer es divideix la regió en districtes o grups de clients, i desprès es dissenyen les rutes simples dins de cadascun d’ells. Usualment aquest ordre produeix millors resultats que fent-ho al revés.
- Route first, cluster second. Primer es dissenya una gran ruta òptima pera tota la regió i després es subdivideix la ruta en altres subrutes més petites que seran cobertes per diferents vehicles.
A continuació es descriuran diferents algorismes heurístics com el mètode dels “estalvis” de Clarke & Wright, que és un dels més antics i a la vegada més coneguts pels especialistes, el mètode del “escombrat” de Gillett & miller(1974), o l’algorisme de Fisher & Jaikumar.
Clarke & Wright
El mètode dels estalvis, desenvolupat per Clarke & Wright (1964) és basa en una idea molt simple, si s’ha de portar una determinada mercaderia des de A a B i una altra des de A a C, no faré dos viatges diferents, cadascun d’ells d’anada i tornada, des de A a cada un dels destins esmentats. En el seu lloc es farà un únic viatge sortint de A passant per B i C i retornant a A. Aquest concepte d’estalvi de distància, temps i costos, és precisament en el qual es basa el mètode dels estalvis. És l’aplicació del sentit comú a l’hora de construir rutes de transport.
La seu esquema iteratiu es resumeix en 6 passos:
Pas 1. Calcular els estalvis s
( ) ( ) (
i, j =c D,i +c D, j) ( )
−ci, j per a tots els parellsde clients i i j
Pas 2. Ordenar els estalvis en ordre decreixent.
Pas 3. Començar pel començament de la llista ordenada, i executar els següents
passos:
Pas 4. Buscar el primer arc factible segons les restriccions imposades al
problema de disseny de rutes (capacitat dels vehicles, nombre de
vehicles), que es pot fer servir en allargar un dels dos extrems de la ruta en construcció.
Pas 5. Si l ruta no es pot allargar més, s’acaba. S’escull el primer arc factible a la
llista ordenada per començar una nova ruta.
Pas 6. Repetir els passos 4 i 5 fins que no es pugin escollir més arcs.
Es possible que aquest algorisme deixi clients “penjats” (sense assignació a una ruta particular) o be es produeixin rutes circulars. S’ha comprovat la seva inoperància per
alguns casos concrets, per exemple, quan els clients ocupen posicions equidistants en els vèrtex d’una xarxa quadriculada.
Figura 2.8: Unió de dos nodes per formar una ruta única
FONT:http://upcommons.upc.edu
Gillet & Miller
El conegut com mètode del “escombrat” es caracteritza per ser dels pocs que per a la construcció de les rutes, no caldria del poder computacional d’un processador, ja que és podria aplicar de forma gràfica, simplement consistiria en anar “escombrant” la zona de clients sobre un mapa amb una línia imaginària i formar una ruta amb tots els clients que hagin estat escombrats en el procés. Tot node que no quedi inclòs en l’escombrat formarà part d’un altre ruta.
Aquest mètode assumeix que són conegudes les coordenades polars
(
ri,θi)
de tots els punts que han de ser visitats. El dipòsit es pot considerar com l’origen per ri =0. Pertany al grups dels algorismes que consisteixen en agrupar primer i dissenyar la ruta desprès (Cluster first, route second)Per realitzar l’ordre de visita dels punts, es pot usa l’algorisme següent:
Pas 1. Prendre un vehicle k que encara no hagi sigut utilitzat
Pas 2. Començant pel client i que encara no hagi sigut assignat a cap ruta i
tingui un menor angle θi, incloure els següents i+ i1, +2, etc., en la ruta k mentres no superi la capacitat Ck del vehicle.
Pas 3. Si s’han cobert tots els punts o s’han utilitzat tots els vehicles, es passa al
pas 4. Si no, tornar al pas 1.
Pas 4. Conectar els punts dins de cada sector circular començant i finalitzant al
magatzem
La solució adoptada per aquets algorisme no és òptima i depèn molt de la elecció que es faci primer per començar a escombrar i de l’ordre en el que s’assignin els vehicles.
Fisher & Jaikumar
Fisher & Jaikumar (1981) dissenyen un algorisme considerat per diversos autors
com Haouri (1990), i Laporte (1992) com un dels mètodes constructius de major eficàcia. La idea és plantejar-ho com un problema d’assignació no lineal generalitzada, de la manera següent:
Siguin m el número de rutes totals; 1 del punt origen,
{
2,...,n}
el conjunt de punts de visita, q(i), i = 2,..,n la càrrega a portar a cada punt; i Q la capacitat de cada vehicle.Fisher & Jaikumar (1981) proposen definir uns punts ficticis o punts llavor ej,
m
j=1,..., , i definir la següent funció objectiu lineal a minimitzar:
∑ ∑
= = = n i m j cijxij Z 2 1 min (2.28) Subjecte a:∑
= ≤ ni 2xijq(i) Q j=1,...,m, es a dir, la càrrega dels punts
assignats a cada ruta no superarà la capacitat dels vehicles. (2.29)
∑
= =m
j 1xij 1 i=2,...,n, es a dir, que cada enviament
s’haurà de realitzar per una ruta. (2.30)
{ }
0,1 ∈ ij x i=2,...,n (2.31) Amb la variable: 1 = ijx , si s’assigna l’enviament i a la ruta j; i 0 en cas contrari. i=2,...,n, j=1,...,m
On:cij és el cost d’insertar el punt i en la ruta que va de l’origen 1, al punt semilla
j
e ; si el cost coincideix amb la distancia recorreguda, llavors cij =d1,i+d1,2j −d1,ej
Amb:
i
d1, la distancia del origen al punt de visita i.
j
d1,2 distancia de i al punt semilla ej ei
d1, distancia del origen a ej