Sunteți pe pagina 1din 17

Utilizarea algoritmilor genetici pentru determinarea rutelor aflate n conflict la traficul feroviar

Autor: Diana Ioana Vidrsan, Coordonator: Prof.Dr. Ing.Tiberiu Leia

Cuprins

1. 2. 3. 4.

Introducere Structura de cale ferat Specificaiile i sarcinile trenurilor Algortimul genetic


A. B. C. D. Codarea Selecia ncruciarea i Mutaia Funcia de validare

5. 6. 7.

Implemenatrea algortimului Soluia problemei Concluzii


2

Introducere

Controlul traficului feroviar este o problem de actualitate. Analiza structurii de cale ferat este dat de calcularea caracteristicilor legate de infrastructur i de mersul trenurilor. Algoritmii genetici sunt metode eficiente de cutare bazate pe principiile geneticii i ale seleciei naturale cu aplicatibilitate n domeniul ingineriei.
3

Structura de cale ferat

2 gri 8 platforme, 12 senzori 24 semafoare

Linii de cale ferat R1- R10, Platformele P11-P14 ,P21-P24, Interblocaje I0, I1, I2, I3, Detectoare D1-D10

Figura 1. Structura grilor

Sarcinile i specificaiile trenurilor

Sarcinile trenurilor sunt: T1 pleaca de pe P11 Gara1 si merge n P23 Gara2 T2 pleaca de pe P13 Gara1 si merge n P22 Gara2 T3 pleaca de pe P22 Gara2 si merge n P14 Gara1 T4 pleaca de pe P23 Gara2 si merge n P13 Gara1

Specificaiile trenurilor sunt:


T1 va pleca la 0 t.u i trebuie sa ajung la 23 t.u T2 va pleca la 27 t.u i trebuie sa ajung la 65 t.u. T3 va pleca la 10 t.u i trebuie sa ajung la 40 t.u T4 va pleca la 30 t.u i trebuie sa ajung la 50 t.u
5

Paii algortimului genetic

A. Codarea cromozilor B. Selecia C. ncruciarea i mutaia D. Funcia de validare

A. Codarea

Metoda utilizat pentru codarea informaiei este Codare prin valoare. Cromozomul va conine informaii despre ruta a toate cele 4 trenuri. Va fi compus din valori de la 0 la 9.

Cromozom
Cr. 1

Valorare
1 0 0 0 0 1 0 1 1 0 1 01 0 0 0 1 2 1 2 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 20 0 0 1 0 1 0 0 0 0 0 1 0 1 1 2 2 2 1 1 0 0 1 0 0100050010001121

B. Selecia

Metoda de selectare a cromozomilor este Selecia dup rang combinat ce cea de elitism. Selecia dup rang cromozomilor este important deoarece asigur selectare cromozomilor cu gene mai bune pentru a forma noile generaie.

Figura 2. Ponderea cromozomior dup selecie dup rang


8

C. ncruciare i mutaie

ncruciarea

Figura 3. Examplu de ncruciare

Acest proces necesit 3 indivizi. Selectarea celor 2 puncte de ncruciare se face aleator. Va rezulta un nou individ.
9

C. ncruciare i mutaie

Mutaia
Acest proces necesit un individ, iar metoda utilizat este cea de mutaie ntr-un punct. Doar o gen din cromozom va fi modificat. Limitri: 1. Pentru interblocaj valoare dup mutaie nu poate fi nafara intervalului [1, 3] 2. Pentru celelalte resurde valoarea trebuie s fie n [0, 9]

10

Funcia de validare

costul utilizrii unei resurse costul de coliziune costul de ntrziere

11

Implemantarea algoritmului
MainClass +ArrayList Pop; +Simulator S; +main(String[] args)

Mutatie +ArrayList PopUrm; +Mutatie() +setMutatie(ArrayList<> PopUrm) +GetPop()

Thread +run() Simulator +ArrayList popUrm; +run() +showResults() TrainGUI + +showResults() +initGUI() Structure

Incrucisare +ArrayList PopUrm; +Incrucisare() +setIncrucisare(ArrayList<> PopUrm)() +GetPop()

Selectie +ArrayList PopUrm; +GetPop() +Selectie() +setSelectie(ArrayList<> PopUrm)()() Chromosome +ArrayList Pop +setCr() +getCr() +getCrTrain()

Interlocking +Switch S1; +getRoute() +int fit

Fitness

+Fitness(Chromosome Cr) +getFitness()

Figura 4. Diagrama claselor

12

Soluia problemei

Figura 5. Rutele obinute pentru trenuri.


13

Soluia problemei (2)

Figura 6. Evoluia Funciei de validare pentru cel mai bun individ


14

Ocuparea resurselor n soluia determinat

res our ces P / 11 Tra ins T1 T2 T3 T4 2 0 0 0

P 13

P 14

P 22

P 23

R 1

R 2

R 4

R 5

R 6

R 7

R 9

R 10

I 0

I 1

I 2

I 3

0 2 0 2

0 0 2 0

2 0 2 0

0 2 0 2

3 0 0 0

3 0 0 0

6 6 0 6

0 0 5 0

8 8 0 0

0 0 7 7

0 3 3 0

0 0 3 3

2 2 0 2

0 0 2 2

2 2 0 0

0 0 2 0

15

Concluzii

Trenurile nu se afl n coliziune Structura rutelor determinate de algoritm ndeplinete toate condiiile i obiectivele impuse Algortimul genetic returnez o soluie inidiferent dac s-a atins minimul funciei sau un minim local
16

V mulumesc pentru atenie!

17

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