Program TMS z AI - co system przewiduje i optymalizuje

Program TMS z AI to system zarządzania transportem, w którym część decyzji planistycznych opiera się na modelach uczonych na danych z przeszłych kursów. Według opisu Linkway sztuczna inteligencja w programie linkway.TMS służy do przewidywania potrzeb oraz optymalizacji tras, a także wspiera zarządzanie flotą. Ten artykuł omawia te obszary od strony mechanizmu: jakie dane wchodzą do modelu, co z nich wynika i gdzie kończy się rola algorytmu, a zaczyna decyzja spedytora.

Mechanizmy opisano jako wiedzę ogólną o systemach transportowych, a nie jako specyfikację algorytmów produktu. Podstawowy opis platformy znajduje się na stronie Program TMS - linkway, a odrębny moduł analityczny opisuje artykuł o Linkway.AI.

ObszarPytanie, na które odpowiada modelDane wejściowe
Planowanie trasIle naprawdę potrwa przejazd na danej relacji i o danej porzeHistoria opóźnień, natężenie ruchu, pogoda
Prognoza zapotrzebowaniaIlu pojazdów wymaga dany region w najbliższych tygodniachHistoria zleceń według regionu i daty
Przydział zasobówKtóry pojazd i który kierowca pasują do zleceniaDostępność, lokalizacja, kompetencje
Utrzymanie flotyKiedy pojazd może zawieść i kiedy zaplanować serwisDane z telematyki i czujników
Obsługa klientaJaki jest status przesyłkiStatusy zleceń i pozycje pojazdów

Reguła: model podpowiada, a spedytor zatwierdza - decyzja o zmianie kursu lub przydziale zostaje w systemie z nazwiskiem osoby, która ją podjęła.

Planowanie tras z danymi o opóźnieniach

Klasyczne planowanie trasy szuka najkrótszej drogi między dwoma punktami. Algorytm z warstwą uczenia bierze pod uwagę więcej zmiennych naraz: natężenie ruchu, prognozę pogody, dane historyczne o opóźnieniach na relacji, a także przewidywane zatory w logistyce miejskiej. Wynik nie jest jedną, statyczną trasą, tylko planem aktualizowanym w miarę napływu nowych danych.

Rozstrzygające znaczenie mają dane historyczne. Średni czas przejazdu z mapy nie uwzględnia tego, że ta sama relacja o siódmej rano trwa dłużej niż o dziewiątej wieczorem. Historię własnych kursów firma ma w bazie, więc pierwszym krokiem jest policzenie opóźnień według relacji i godziny wyjazdu. Poniższe zapytanie T-SQL działa na przykładowej tabeli; nazwy nie pochodzą ze schematu produktu.

SELECT relacja_id,
       DATEPART(HOUR, planowany_wyjazd)                  AS godzina_wyjazdu,
       AVG(DATEDIFF(MINUTE, planowany_przyjazd,
                            rzeczywisty_przyjazd))       AS srednie_opoznienie_min,
       COUNT(*)                                          AS liczba_kursow
FROM   dbo.kursy_przyklad
WHERE  rzeczywisty_przyjazd IS NOT NULL
GROUP  BY relacja_id, DATEPART(HOUR, planowany_wyjazd)
HAVING COUNT(*) >= 30;

Warunek na liczbę kursów odrzuca kombinacje z zbyt małą próbą, w których średnia nie mówi nic wiarygodnego. Funkcja DATEDIFF w Microsoft Learn zwraca różnicę w wybranej jednostce, więc wynik w minutach da się od razu porównać z oknem czasowym rampy.

Ciężarówka i tablet z tabelą w hali magazynowej pełnej regałów, ilustracja wymiany danych o transporcie z magazynem
Prognozowane opóźnienie relacji trafia do planu kursu i do rezerwacji okna na rampie u odbiorcy

Jak model łączy historię z bieżącymi danymi

Najprostszy model traktuje opóźnienie jako funkcję relacji oraz godziny wyjazdu, a także dnia tygodnia. Do czasu z planu dodaje się wtedy typową poprawkę dla tej kombinacji, a plan kursu uwzględnia bufor zamiast zaufania do czasu z mapy. Dane bieżące, na przykład zator zgłoszony na trasie, korygują tę poprawkę w trakcie kursu, o ile system dostaje pozycję pojazdu w krótkich odstępach.

Bardziej złożone modele biorą pod uwagę także pogodę i kalendarz świąt, ale zasada pozostaje ta sama: poprawka wynika z zapisanej historii, a jej wiarygodność rośnie z liczbą kursów w danej kombinacji. Dla relacji jeżdżonych raz w miesiącu system nie ma podstaw statystycznych i pozostaje przy planie z mapy.

Prognoza zapotrzebowania na transport w regionach

Ta sama historia zleceń pozwala prognozować, w których regionach w najbliższych tygodniach zabraknie pojazdów. Firma może wtedy z wyprzedzeniem przesunąć tabor albo podpisać umowy z podwykonawcami zamiast reagować na poranne zapytania klientów. Prognoza z definicji obarczona jest błędem, dlatego użyteczna bywa w postaci przedziału, z zapasem dla zleceń pilnych.

Powiązanie z awizacjami dostaw zmniejsza niepewność jeszcze bardziej, bo zarezerwowane okna czasowe odbiorców są twardymi terminami. Sposób ich rezerwacji przez przewoźnika omawia artykuł o kalendarzu dla firmy transportowej.

Przydział pojazdu i kierowcy do zlecenia

System może samodzielnie zaproponować pojazd i kierowcę dla zlecenia, biorąc pod uwagę dostępność oraz lokalizację, a także kompetencje kierowcy. Spedytorzy odciążeni od setek rutynowych decyzji zajmują się klientami i wyjątkami. Trzeba jednak rozdzielić dwa rodzaje kryteriów: ograniczenia twarde, których naruszyć nie wolno, oraz kryteria miękkie, które służą do uporządkowania kandydatów.

Rodzaj kryteriumPrzykładSposób użycia
TwardePozostały czas pracy kierowcy wystarcza na kursOdrzuca kandydata z listy
TwardeUprawnienie ADR przy przewozie towarów niebezpiecznychOdrzuca kandydata z listy
MiękkieOdległość pojazdu do miejsca załadunkuSortuje kandydatów rosnąco
MiękkiePuste przebiegi po zakończeniu kursuObniża ocenę kandydata

Odległość do załadunku da się policzyć w bazie przy użyciu typu geography. Zapytanie poniżej najpierw odfiltrowuje pojazdy niespełniające ograniczeń twardych, a dopiero potem sortuje pozostałe; tabele są przykładowe.

DECLARE @lat float = 52.4064, @lon float = 16.9252;   -- miejsce załadunku
DECLARE @czas_kursu_min int = 420, @wymaga_adr bit = 0;

SELECT TOP (3) p.pojazd_id, k.kierowca_id,
       geography::Point(p.lat, p.lon, 4326)
         .STDistance(geography::Point(@lat, @lon, 4326)) / 1000.0 AS km_do_zaladunku
FROM   dbo.pojazdy_przyklad p
JOIN   dbo.kierowcy_przyklad k ON k.pojazd_id = p.pojazd_id
WHERE  p.status = 'wolny'
  AND  k.pozostaly_czas_pracy_min >= @czas_kursu_min
  AND  (@wymaga_adr = 0 OR k.ma_adr = 1)
ORDER  BY km_do_zaladunku;

Metoda STDistance zwraca odległość w metrach dla układu SRID 4326, więc dzielenie przez 1000 daje kilometry. Warstwa uczenia dodaje do takiego rachunku wagi wyliczone z historii, na przykład wiedzę o tym, którzy kierowcy najczęściej dotrzymują okien na danym typie rampy.

Zmiana przydziału w trakcie kursu

Przydział nie kończy się na starcie kursu. Gdy prognozowane opóźnienie przekroczy próg, na przykład zagrozi oknu rozładunku, system może zaproponować zmianę planu: inny punkt przerwy, kolejność rozładunków albo powiadomienie odbiorcy. Próg ustala firma, ponieważ zbyt niski generuje powiadomienia ignorowane po tygodniu, a zbyt wysoki spóźnia reakcję.

Każda zmiana zapisuje się razem z powodem i osobą, która ją zatwierdziła. Tak powstaje materiał do oceny, czy podpowiedzi systemu faktycznie skracały opóźnienia.

Predykcyjne utrzymanie floty z danych telematyki

Utrzymanie pojazdów w pełnej sprawności jest jednym z podstawowych zadań firmy transportowej. Predykcyjne podejście zastępuje przeglądy wykonywane co stały przebieg analizą danych z telematyki i czujników w pojeździe. System uczy się typowego zachowania parametrów, a odchylenie od tej normy sygnalizuje zbliżającą się usterkę, zanim pojazd stanie w trasie. Serwis zaplanowany w dogodnym terminie kosztuje mniej niż holowanie i przestój zleceń.

Każdy alarm ma jednak koszt. Zbyt czuły próg wysyła pojazdy do warsztatu bez potrzeby, a zbyt luźny przepuszcza usterki. Próg dobiera się na podstawie historii napraw: sprawdza się, ile z ostrzeżeń faktycznie zakończyło się usterką, i koryguje czułość, aż liczba fałszywych alarmów będzie akceptowalna dla warsztatu.

Pracownik w kombinezonie przy stanowisku z monitorami i narzędziami zawieszonymi na ścianie, ilustracja stanowiska obsługi technicznej
Prognoza usterki zamienia się w zlecenie serwisowe, które planista wpisuje w dogodny termin

Jakie sygnały analizuje się w pojeździe

Dane pochodzą z magistrali pojazdu i z czujników dodatkowych, przesyłane przez urządzenie telematyczne. Sam odczyt nie mówi wiele, dopiero zmiana w czasie wskazuje problem.

SygnałCo zmiana może oznaczaćReakcja planisty
Napięcie akumulatoraGłębszy spadek przy rozruchu może oznaczać zużycie akumulatoraWymiana przy najbliższym postoju
Temperatura płynu chłodzącegoWolniejsze schładzanie to możliwa usterka układuKontrola układu chłodzenia
Kody błędów silnikaPowtarzający się kod może poprzedzać awarięDiagnostyka w warsztacie
Ciśnienie w oponachPowolny spadek może oznaczać nieszczelnośćKontrola opon przed kursem

Tę samą ideę stosuje się w przemyśle do diagnozowania maszyn, o czym mówi artykuł o diagnozowaniu maszyn ze sztuczną inteligencją. Różnica polega na źródle danych: w pojeździe sygnały są zbierane w ruchu i przesyłane przez sieć komórkową, więc luki w transmisji trzeba traktować jak brak danych, a nie jak wartość zerową.

Chatbot statusu przesyłki i obsługa klienta

Chatboty oparte na AI mogą odpowiadać klientom na pytania o status przesyłki. Odciąża to dyspozytorów, bo najczęstsze pytanie w transporcie brzmi, gdzie jest towar i kiedy dotrze. Chatbot nie zgaduje: pobiera status zlecenia oraz przewidywany czas przyjazdu z systemu i formułuje odpowiedź w języku naturalnym. Sposób liczenia przewidywanego czasu opisuje artykuł o ETA od Linkway.

Od odpowiedzi wymaga się dwóch rzeczy. Musi wskazywać źródło informacji, na przykład czas ostatniej pozycji pojazdu, oraz nie może ujawniać danych innych klientów. Drugi warunek realizuje się przez uprawnienia: chatbot pyta o zlecenia wyłącznie w zakresie, który przysługuje rozmówcy.

Reguła: chatbot bez dostępu do statusu zlecenia nie zgaduje, tylko kieruje rozmówcę do dyspozytora.

Prognoza przejazdu a okna czasowe rampy

Prognozowane opóźnienie ma praktyczne znaczenie dopiero wtedy, gdy zestawi się je z terminem, który trzeba dotrzymać. U odbiorcy jest nim okno czasowe na rampie, zarezerwowane w systemie awizacji. Porównanie prognozy z oknem pokazuje, czy pojazd zdąży, zanim kierowca zacznie się spóźniać. Proces po stronie przewoźnika opisuje artykuł o awizacji transportu.

Prognozowane opóźnienie względem oknaDziałanieKto decyduje
Mieści się w tolerancji oknaBrak działania, dalsze monitorowanieSystem
Przekracza tolerancję, ale rampa jest wolna późniejPropozycja przesunięcia oknaSpedytor z odbiorcą
Przekracza tolerancję, brak wolnej rampyPropozycja zmiany kolejności rozładunkówSpedytor
Brak pozycji od dłuższego czasuKontakt z kierowcąDyspozytor

Ważne jest, by system odróżniał opóźnienie prawdziwe od braku danych. Pojazd, który przez godzinę nie wysłał pozycji, nie jest jeszcze spóźniony, bo mógł wjechać w tunel albo strefę bez zasięgu. Traktowanie każdej luki jako opóźnienia zalewa dyspozytora fałszywymi alarmami i szybko obniża zaufanie do funkcji.

Dane wejściowe i ich jakość

Model uczy się na tym, co system zapisał. Pozycje GPS pochodzą z lokalizatorów, często od kilku producentów, i przechodzą przez integrator, który sprowadza je do jednego formatu, o czym mówią artykuły o integratorze GPS dla flot i o integracji Hertz GPS z TMS. Statusy zleceń i czasy przyjazdów zapisuje aplikacja kierowcy, którą opisuje strona linkway.TRACKER.

Ikony cylindrów bazy danych, chmury i wykresów w graficznej ilustracji zasobów danych firmy
Prognozy opierają się na historii zapisanej w bazie, więc luki w zapisie osłabiają wynik

Najczęstsze wady danych są proste. Czas przyjazdu wpisywany po fakcie zamiast w chwili zdarzenia zniekształca historię opóźnień. Zlecenie edytowane w arkuszu poza systemem rozjeżdża plan z rzeczywistością. Pozycja bez znacznika czasu z urządzenia trafia do kolejności komunikatów w niewłaściwym miejscu. Każdy z tych błędów obniża trafność modelu bardziej niż wybór algorytmu.

Wdrożenie i ocena skuteczności funkcji AI

Funkcje AI wdraża się na działającym TMS, po ustabilizowaniu danych podstawowych. Sam przebieg wdrożenia systemu, od analizy po szkolenie, opisuje artykuł o wdrożeniu linkway.TMS w czterech etapach. Warstwa predykcyjna dochodzi po nich jako osobny etap z własną miarą sukcesu.

Ocenę prowadzi się na grupie kontrolnej: część zleceń planowana jest z wykorzystaniem podpowiedzi, część według dotychczasowych zasad, a wyniki porównuje się w tym samym okresie. Poniższe wskaźniki mają jednoznaczną definicję i nie wymagają szacunków.

WskaźnikDefinicjaCo pokazuje
Udział pustych przebiegówKilometry bez ładunku podzielone przez wszystkie kilometrySkuteczność przydziału i planowania powrotów
Terminowość dostawDostawy w oknie czasowym podzielone przez wszystkie dostawyTrafność prognoz czasu przejazdu
Zużycie paliwa na 100 kmLitry paliwa przeliczone na przebieg dla tej samej klasy pojazduWpływ doboru trasy i stylu jazdy
Nieplanowane przestojeLiczba dni pojazdu poza ruchem z powodu awariiSkuteczność predykcyjnego utrzymania

Ograniczenia i odpowiedzialność spedytora

Model wyciągający wnioski z historii nie przewidzi zdarzeń, których historia nie zawiera: zamknięcia przejścia granicznego, nagłej zmiany przepisów albo awarii na trasie. Dyspozytor nadal reaguje na wyjątki, a system przyspiesza rutynę. Ograniczenia twarde, takie jak czas pracy kierowcy, muszą być egzekwowane niezależnie od tego, co podpowiada warstwa uczenia.

Odpowiedzialność za kurs pozostaje po stronie przewoźnika i spedytora, a dziennik decyzji pokazuje, czy zmiana wynikała z podpowiedzi systemu czy z ręcznej korekty. Wprowadzenie takiego rozróżnienia od początku ułatwia późniejszą ocenę i analizę reklamacji. Szersze tło opisuje strona o sztucznej inteligencji w logistyce i przemyśle, a strona TMS program do zarządzania transportem pokazuje zakres samego systemu.