Sunteți pe pagina 1din 5

ALGORITMUL FORD

Determin drumuri de valoare minim ntre vrfurile x0 i xn ale unui graf,


parcurgndu-se urmtoarele etape:
1) Se ataeaz fiecrui vrf al grafului un numr i0 , unde 00 = 0 ;

2) Se face diferena 0j i0 i se compar cu lungimea arcului xixj.


Pentru probleme de minim trebuie ndeplinit condiia 0j i0 l (x i ; x j ) .
Pentru probleme de maxim trebuie ndeplinit condiia 0j i0 l (x i ; x j ) .
La problemele de minim, dac 0j i0 > l (x i ; x j ) , atunci se corecteaz j astfel:
1j = i0 + l (x i ; x j )
1j se introduce acolo unde apare vrful j. Valorile lui 0j pentru care sunt

respectate relaiile de inegalitate, rmn neschimbate.


3) Se repet etapa a doua pn cnd dup un numr k de iteraii avem numai relaii de
forma kj ik l (x i ; x j ) (pentru probleme de minim).
Numrul kn - valoarea optim a drumurilor cutate ntre x0 i xn.
4) Se determin arcele drumului de valoare optim reinndu-se numai relaiile de
egalitate.

Problema 1:
Transportul unui grup de cltori dintr-un punct x0 ntr-un punct x8 se face cu mijloace
de transport auto trecnd prin punctele intermediare x1, x2, , x7. n figura urmtoare se dau
legturile de transport posibile i distana (km). S se gseasc drumul optim de transport cu
distana total minim prin algoritmul lui Ford.

300

x5

30
0

800

x2
0

0
2 00

x4
0
20

x3

400

300

20

20

x8

200

x7

60

x6
200

20

400

x0

10

100

60

200

400

x1

x0
0=0

x1
1=200

x2
2=300

x3
3=200

x4
4=400

j - i

l(xi;xj)

8 7
8 6
8 2
7 8
7 6
7 5
7 4
7 3
7 2
6 8
6 7
6 5
5 6
5 7
5 4
5 2
5 0
5 1
4 7
4 5
4 2
4 3
3 7
3 4
3 2
3 0
2 0
2 1
2 3
2 4
2 7
2 8
2 5
1 5
1 2
1 0

600
300
800
600
200
100
300
400
200
300
200
200
200
100
400
300
600
300
300
400
200
200
400
200
200
200
400
100
200
200
200
800
300
300
100
200

x5
5=500

x6
6=700

x7
7=600

Comparaie
<
=
<
<
<
=
<
=
>*
<
<
=
<
<
<
<
<
=
<
<
<
=
<
<
<
=
<
=
<
<
<
<
<
<
<
=

7 2 > l(x 2 ; x 7 ) (300 > 200), atunci:


17 = 07 + l(x 2 ; x 7 ) = 300 + 200 = 500

<
=
<
<
<
<
<
<
=
<
=
=
<
<
<
<
<
=
<
<
<
=
<
<
<
=
<
=
<
<
<
<
<
<
<
=

x8
8=1000

Distana total minim este: 1.000 (= 8)


l68, l27, l76, l56, l15, l34, l02, l12, l01
x0

x1

x2

x7

x5
x3

x6

x8

x6

x8

x4

Se observ existena a dou drumuri optime (de la x0 la x8):


d1: x0 x1 x2 x7 x6 x8
d2: x0 x1 x5 x6 x8

Problema nr. 2:
Un lot de marf trebuie transportat dintr-un punct x1 ntr-un punct x9 cu mijloace de
transport feroviar, folosind ca posibiliti reeaua din figura urmtoare, unde pe arce sunt
nscrise duratele procesului de transport pe ruta respectiv (ore). S se determine ruta de
durat total minim ntre punctele extreme.

x2

x4

x7

6
6

x5

10

x1

x9

7
4

11

x8

8
4

x3

x1
1 = 0

x2
2 = 3

x3
3 = 11

j - i

9 8 = 4
9 7 = 6
8 6 = 1
8 5 = 7
7 8 = -2
7 5 = 5
7 4 = 8
6 5 = 6
6 3 = 4
5 4 = 3
5 3 = -2
4 2 = 3
4 1 = 6
3 2 = 8
3 1 = 11
2 1 = 3

x6

x4
4 = 6

x5
5 = 9

x6
6 = 15

x7
7 = 14

l(xi;xj)

Comparaie

4
6
8
7
3
6
8
7
4
3
9
3
7
10
11
3

=
=
<
=
<
<
=
<
=
=
<
=
<
<
=
=

Drumul optim are o durat minim de 20 ore ( = 9).

x8
8 = 16

3
3
3

3
3
3
3

3
3

x9
9 = 20

l89, l79, l58, l47, l36, l45, l24, l13, l12

x1

x2

x4

x5

x8

x9

x7
x3

x9

x6

Se observ existena a dou drumuri optime:


d1: x1 x2 x4 x5 x8 x9
d2: x1 x2 x4 x7 x9

S-ar putea să vă placă și