Documente Academic
Documente Profesional
Documente Cultură
Descrierea procedeului:
Fie S(0) mulimea tuturor itinerariilor admisibile n problema comis-voiajorului, de
[cij ]
[cij ]
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 ]
. 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
ih
.
Se nregistreaz rezultatul n colul din stnga sus al fiecrei celule n care se gsete un zero.
'
c hk
0
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.1) Dac nu folosim arcul (h,k), atunci pe lng reducerea r va mai fi un cost de cel
(h, k )
p hk
putin
(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
pentru