Sunteți pe pagina 1din 3

CAPITOLUL 5

ORGANIZAREA TRASEULUI DE DISTRIBUIE


5.1. Algoritmi de rutare
Rutarea se va face pentru fiecare vehicul n parte folosind algoritmului comis-voiajorului,
Procedeul lui Little.
Acesta este un algoritm euristic, care determin o soluie optimal.
Condiii:
-

exist doar un singur drum de la clientul i la ceilali clieni;

exist un singur drum de la ceilali clieni la clientul j;

drumul gsit este hamiltonian.

Descrierea procedeului:
Fie S(0) mulimea tuturor itinerariilor admisibile n problema comis-voiajorului, de
[cij ]

dimensiune n*n, cu matricea costurilor

[cij ]

. Exist (n-1)! trasee n S(0). Reducem matricea

astfel nct fiecare linie i fiecare coloan s conin cel mult un elemnt nul. Dac am putea gsi
un drum trecnd prin zerouri, el ar fi optim, iar n termenii matricii originare costul ar fi egal cu

[cij' ]
suma reducerilor efectuate. Fie

[cij ]

matricea redus i r cantitatea total sczut din

. Astfel,

fiecare itinerariu n S(0) va costa cel putin r. Spunem c r este o margine inferioar a traseelor din
S(0). Metoda lui Little i a colaboratorilor ncepe prin a partiiona S(0) n dou submulimi i a
calcula cte o margine inferioar pentru fiecare din ele. mprim apoi submulimea avnd
marginea inferioar mai mic i calculm nc dou margini inferioare. La fiecare etap alegem
submulimea avnd cea mai mic margine inferioar obinut pn n acel moment i o
descompunem n dou submulimi disjuncte. La sfrit vom obine o submulime care conine un
singur itinerar, al crui cost este egal cu marginea inferioar; acest drum este optimal.

Algoritmul:
1) Se reduce matricea costurilor pn cnd obinem un zero n fiecare linie i n fiecare
coloan. Aceasta se face scznd cel mai mic element din fiecare linie, din fiecare element al
liniei respective i apoi scznd cel mai mic element din fiecare coloan a matricei obinute din
din fiecare element al coloanei. Reducerea total r este suma cantitilor care au fost sczute. Fie

[cij' ]
matricea obinut n acest mod.

[cij' ]
2) Pentru fiecare element nul din

p hk
se nregistreaz penalitatea (

) corespunztoare

nefolosirii acelui element. Raionamentul pe care l facem este urmtorul: dac nu folosim arcul
(h,k), trebuie s folosim un anumit element din linia h i un anumit element din coloana k; prin
urmare, costul nefolosirii legturii (h,k) este cel puin egal cu suma celor mai mici elemente din
'
c hk

linia h i coloana k, cu excepia elementului

nsui. Prin urmare:

p hk min {c hj' } min {cik' }


j k

ih

.
Se nregistreaz rezultatul n colul din stnga sus al fiecrei celule n care se gsete un zero.
'
c hk
0

3) Fie (h,k) celula cu

, avnd penalitatea maxim; dac exist mai multe asemenea

elemente, se alege unul unul dintre ele n mod arbitrar. Partiionm mulimea S(0) a tutoror
itinerariilor posibile n mulimea acelora care conin arcul (h,k) i mulimea complementar. Fie
S (h, k )

S(h,k) i

aceste submulimi.

4) Calculm apoi marginile inferioare ale costurilor tuturor drumurilor n fiecare


submulime.

4.1) Dac nu folosim arcul (h,k), atunci pe lng reducerea r va mai fi un cost de cel

(h, k )

p hk
putin

. Prin urmare o margine inferioar

este dat de:

(h, k ) r p hk
.
4.2) Pentru a calcula o margine inferioar pentru S(h,k), vom observa c dac folosim arcul (h,k)
nu mai putem folosi arcul (k,h); dac am utiliza ambele arce (h,k) i (k,h) ar trebui s mergem de
la h la k i napoi la h far a vizita ceilal i beneficiari. Pentru a evita folosirea arcului (k,h) vom
'
c kh

pune

. Arcul (h,k) odat folosit, nu vom mai utiliza nici un arc liniei h sau coloanei k.

Eliminm linia h si coloana k. n matricea rmas trebuie s alegem un element din fiecare linie
i din fiecare coloan astfel nct costul s fie cel puin egal cu cantitatea cu care matricea rmas

( h, k )

rhk
poate fi redus. Fie
S(h,k) este:

(h, k ) r rhk

aceast cantitate. n aceste condiii, o margine inferioar

pentru