Adaptacyjna optymalizacja rch drogowego Paweł Gora Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski Poznań, 30.05.2017
Problem Optymalne zarządzanie rchem drogowym / mobilnością Co można poprawić / optymalizować? Czasy przejazd Czasy czekania na czerwonym świetle Emisję spalin Zżycie paliwa / energii Jak? Sterowanie światłami Proponowanie lepszych tras
Problem Optymalne zarządzanie rchem drogowym / mobilnością Co można poprawić / optymalizować? Czasy przejazd Czasy czekania na czerwonym świetle Emisję spalin Zżycie paliwa / energii Jak? Sterowanie światłami Proponowanie lepszych tras
Problem Problemy z istniejącymi systemami zarządzania rchem Reaktywność, ale nie proaktywność (reagją na aktalne warnki, najczęściej nie przewidją przyszłych) Mogą być wystarczające dla reglarnych, powtarzalnych warnków, ale nie będą wystarczające w przypadk dżych zmian (wypadek, zła pogoda) Relatywnie mała liczba możliwych modyfikacji
Problem Problemy z istniejącymi systemami zarządzania rchem Brak dokładnej ewalacji zmian wprowadzonych do system zarządzania rchem Brak skalowalności, wątpliwa efektywność w przypadk dżych sieci drogowych Nie biorą pod wagę pojazdów atonomicznych i komnikjących się
Problem Ustawienia świateł: Dłgości faz / cykli Przesnięcia w fazie (offsety) Algorytmy zmiany faz / offsetów
Problem Ustawienia świateł: Dłgości faz / cykli Przesnięcia w fazie (offsety) Algorytmy zmiany faz / offsetów
Problem Ustawień świateł w Warszawie jest dżo: ~800 skrzyżowań ze światłami 120 (całkowitoliczbowych offsetów) Przestrzeń rozwiązań: 120800 Liczba możliwych rozgrywek w grze Go: ~10700
Problem Czy można znaleźć rozwiązanie optymalne? Dla bardzo prostych modeli rch problem jest NP-trdny Dla bardziej skomplikowanych (np. niedeterministycznych) i rzeczywistego rch może być nawet trdno zdefiniować optymalność
Metaherystyki alg. genetyczny Rozwiązanie
Rozwiązanie Fitness fnction: np. łączny czas czekania pojazdów na czerwonym świetle, liczony np. przy pomocy symlacji kompterowej
Rozwiązanie
Nagel-Schreckenberg Model (1992) 1-wymiarowy model mikroskopowy (probabilistyczny atomat komórkowy) Dłgość komórki ~7.5m Czasy i prędkości są dyskretne Prędkość pojazd = liczba komórek, o które się przemieszcza (max 5) Każda komórka może być psta lb zajęta przez max 1 pojazd Pojazdy są nierozróżnialne Stan komórki = nll lb prędkość pojazd
Nagel-Schreckenberg Model (1992) Regły przejścia: 1. V i := min{v i + 1, V MAX } (przyspieszenie) 2. V i := min{v i, d i } (bezpieczeństwo) (d i dystans do najbliższego pojazd przed i) 3. V i := max{0, V i - 1} z prawdopodobieństwem p (randomizacja) (klczowa dla spontanicznego formowania się korków) 4. Pojazd i przemieszcza się do przod o V i komórek (przemieszczenie)
Nagel-Schreckenberg Model (1992)
Uogólnienie sieć drogowa w mieście Sieć drogowa graf skierowany Sygnalizacje świetlne w niektórych wierzchołkach Krawędzie podzielone na taśmy, podzielone na komórki Rch po krawędziach zgodnie z regłami Na-Sch z pewnymi modyfikacjami Redkcja prędkości przed skrzyżowaniem / zakrętem Różne profile kierowców (np. max prędkość) Różne typy dróg (wiele pasów, różne limity prędkości) Profile rozkładów pnktów startowych i końcowych
Rozwiązanie Chmra obliczeniowa Zbieranie danych rzeczywistych V2I (pozycja, prędkość, trasa) Wsparcie SBAS (EGNOS) Dane GNSS Dane GNSS Dane GNSS V2V V2V Pętle indkcyjne, kamery, radary, lidary i komnikacja pojazd-pojazd (V2V) mogą poprawić dokładność
Rozwiązanie
Rozwiązanie Minimalizacja czasów czekania poprzez modyfikację stawień świateł: Podejście 1 (alg. genetyczny): Fitness fnction: łączny czas czekania (symlacja) Selection: sqare root selection Crossover: niform selection Mtation: p=0.05 100 osobników w poplacji 1 symlacja -> ~5 mint 9 pokoleń -> redkcja czasów czekania o ok. 3.11% (dla całej Warszawy) Zbyt dłgi czas obliczeń!
Podejście 2 (alg. genetyczny): Fitness fnction: łączny czas czekania (zamiast symlacji: szacowanie czasów przejazd przez odcinek prostą fnkcją: T=1.2D/V) Selection: sqare root selection Crossover: niform selection Mtation: p=0.05 Rozwiązanie 400 osobników w poplacji 1 symlacja -> ~2-3 sekndy 50 pokoleń -> redkcja czasów czekania o ok. 5.7-18.1% Za słaba dokładność przybliżenia (błąd najczęściej powyżej 20%)!
Podejście 3 (alg. genetyczny): Rozwiązanie Zamiast symlacji: szacowanie czasów czekania przy pomocy sieci neronowych 15 x Łączny czas czekania {0,1,2,,119} 15
Podejście 3 (alg. genetyczny): Rozwiązanie Zamiast symlacji: szacowanie czasów czekania przy pomocy sieci neronowych Wygenerowałem ponad 100 000 wyników symlacji (lab MIMUW, klaster HPC w Rzeszowie, Azre), największy czas czekania: 62911s, najkrótszy: 35831s. Trenowanie sieci: Powstał program TensorTraffic (korzysta z biblioteki TensorFlow) Fnkcja koszt: RMSE Adam optimizer Batch: 100 Grid search: 12 konfigracji (learning rate: {0.1, 0.01, 0.001}, sieci: [100, 100], [100, 100, 100], [200], [200, 200]) Średni błąd przybliżeń: 1.56%, max błąd: 9.18% Najlepsza sieć: [100, 100, 100], lr = 0.01
Podejście 3: Rozwiązanie Zamiast symlacji: szacowanie czasów czekania przy pomocy sieci neronowych Kontynacja badań - dżo więcej parametrów: Sieci: [100, 100, 100], [100, 200, 100], [200, 300, 200], [300, 400, 300], [100, 150, 200, 150, 100], [50, 100, 150, 200, 150, 100, 50] Learning rate: 0.1, 0.01, 0.001, 0.0001 Dropot: 0.05, 0.1, 0.15, 0.2 Zbiór treningowy: 81920, 30720, 10240 Mechanizm zatrzymania
Podejście 3: Rozwiązanie Zamiast symlacji: szacowanie czasów czekania przy pomocy sieci neronowych Wnioski: Najlepszy model: [100, 200, 100], lr= 0.01, dropot=0.05, zbiór treningowy: 10240 Średni błąd: 1.2%, błąd maksymalny: 6.8% Czas inferencji: ~ 0.2 sekndy
Podejście 3: Rozwiązanie Zamiast symlacji: szacowanie czasów czekania przy pomocy sieci neronowych Rozkład błęd na zbiorze testowym (14634 przypadki):
Podejście 3: Fitness fnction: łączny czas czekania (zamiast symlacji: szacowanie czasów czekania przy pomocy sieci neronowych) Selection: tornament Crossover: niform Mtation: p=0.05 Rozwiązanie 15 osobników w poplacji 1 osobnik -> ~0.2 sekndy 15 pokoleń -> redkcja czasów czekania o ok. 28-30% Czas: ok. 44 sekndy, można go skrócić przynajmniej 15 razy (TensorRT)
Adaptacyjna optymalizacja rch drogowego Trenjemy sieci neronowe i znajdjemy dobre stawienia offline, dla sytacji typowych W czasie rzeczywistym: wykrywamy stany rch/ robimy predykcję Jeśli wykryjemy sytację nietypową, niepożądaną (np. wypadek / zamknięta droga): Dotrenowjemy sieć neronową (transfer learning) Znajdjemy lepsze stawienie dla danej sytacji
Rozwiązanie
Dalsze plany Inne metaherystyki (alg. genetyczne z innymi parametrami, alg. mrówkowy, Metropolis-Hastings) Więcej obszarów / inne obszary / skalowanie na całą mapę Metaherystyki + sieci neronowe (+ ew. reinforcement learning) do znajdowania dobrych architektr sieci Inne strategie sterowanie rchem (cykle / algorytmy adaptacyjne programowanie genetyczne? Deep reinforcement learning?) Active learning
Dalsze plany Współprację z firmą CE-Traffic, która zbiera dane o rch (m.in. czasy przejazd): Klastrowanie stanów rch (sieci Kohonena), wykrywanie typowych stanów Predykcja / detekcja rch (np. czasy przejazd), również w sytacjach nietypowych (wypadek, zablokowana droga, zła pogoda) rekrencyjne sieci neronowe, symlacje, sieci bayesowskie, transfer learning, GAN Przyspieszanie symlacji na GPU, Spark Optymalizacja rch (proponowanie dobrych konfigracji świateł) Współprację z > 10 osobami Dostęp do zasobów Windows Azre / klaster Nvidii / klaster PwC Drony, pojazdy atonomiczne i komnikjące się
Inne zastosowania Przybliżanie ewolcji atomatów komórkowych: Gra w życie (Tring-zpełna) Regła 110 (Tring-zpełna) Model Nagela-Schreckenberga Atomaty komórkowe modeljące nowotwór Universal Approximation Theorem vs Hardness of approximation Inne złożone procesy: Przybliżanie rozwoj kolonii komórek, optymalizacja leczenia nowotwor Przybliżanie metabolizm w komórce Znajdowanie optymalnych lokalizacji i pojemności parkingów / stacji ładowania dla poj. elektrycznych Wiele innych zagadnień, w których należy przeprowadzić dżo symlacji kompterowych Być może symlacje kompterowe (np. rch drogowego) mogą zostać zastąpione przez sieci neronowe?
Dziękję za wagę! Zapraszam do dysksji / współpracy! p.gora@mimw.ed.pl http://www.mimów.ed.pl/~pawelg Logic can get yo from A to B, imagination will take yo everywhere A. Einstein Sky is not the limit